Bazı önbelleğe alma sorunlarıyla karşılaşıyorum; çünkü Wildfly 8.2, yalnızca statik dosyaları sunarken varsayılan olarak Last-Modified yanıt üstbilgisini içerir konuşlandırılmış bir savaş dosyasından. Wildfly'nin, önbellekleme sorunlarını çözecek olan, yanıt başlığını içeren ETag'ı dahil etmesini istiyorum. Herkes standalone.xml dosyasında yapılandırmak için mümkün olup olmadığını biliyor mu?Wildfly 8.2, statik dosyalar için ETag yanıt başlığını içerecek şekilde nasıl yapılandırılır (html, js, css, vb.)
1
A
cevap
0
ETag başlığı ile savaş kaynaklarına hizmet veren özel "kaynak" sunucu uygulamasıyla geçici bir çözüm gerçekleştirdim.
Servlet, Omnifaces kitaplığında (http://showcase.omnifaces.org/servlets/FileServlet) uygulanan FileServlet sınıfından genişler. FileServlet uygulaması, tüm HTTP önbellek başlıklarını doğru şekilde ele alır, ihtiyacınız olan şey, kaynak kaynak dosyalarını sunmak için getFile() kaynak yükleme yöntemini uygulamaktır.
@WebServlet(value = {"/app/*"})
public class ApplicationResourceServlet extends FileServlet {
@Override
protected File getFile(HttpServletRequest request) throws IllegalArgumentException {
final String pathInfo = request.getPathInfo();
if (pathInfo == null || pathInfo.isEmpty() || "/".equals(pathInfo)) {
return null;
}
final String realPath = getServletContext().getRealPath("/app" + pathInfo);
if (realPath != null && Paths.get(realPath).toFile().exists()) {
return new File(realPath);
}
return null;
}
}
İlgili konular
- 1. Nginx'de ETag nasıl yapılandırılır
- 2. NGINX, .js, .css, .html gibi statik içeriği nasıl çalıştırır?
- 3. Jetty için web.xml'de statik kaynaklar için önbellek nasıl yapılandırılır?
- 4. cors-anywhere Sayfa Bağımlılıkları (örn. Css, js, vb.)
- 5. CSS Dosyalar/
- 6. laravel 5 içerecek şekilde İksiri uzatmak browserify
- 7. laravel sayfa dış Dosyalar (CSS & JS)
- 8. Kod nasıl biçimlendirilir html/css/js/php
- 9. Log4j2, Wildfly'de nasıl çalışır 8.2
- 10. Varsayılan statik konum için flask nginx ve statik dosyalar sorunu
- 11. Tüm çocukları içerecek şekilde germe elemanı
- 12. HTML, CSS, JS duyarlı açılır menüsü
- 13. Django: statik dosyalarda medya referansı yapan css (django dev/1.3/statik dosyalar)
- 14. CSS: Dosyalar arasındaki etkileşim
- 15. Yanıt kutusu JS
- 16. express js 4 - app.configure olmadan nasıl yapılandırılır?
- 17. iOS klavyesinin CSS veya JS
- 18. Statik dosyaları web2py'deki HTML görünümünden nasıl yüklerim?
- 19. JSfiddle: çoklu JS/CSS/HTML dosyaları nasıl oluşturulur?
- 20. Yerel dosyalara yanıt veren yardımcı dosyalar nasıl oluşturulur?
- 21. Amazon S3 için JS/CSS nasıl birleştirilir?
- 22. WebRTC RTCDataChannel - nasıl güvenilir olacak şekilde yapılandırılır?
- 23. CSS ve js dosyalarını tek bir HTML dosyasına nasıl paketlerim?
- 24. JSP/HTML/JS/CSS - Bir iptal düğmesi formunda nasıl oluşturulur
- 25. Wildfly
- 26. İyonik görünümü başlığını css kullanarak merkeze hizalama
- 27. Erişilemez HTML içeriğini CSS ile doğru şekilde nasıl geçersiz kılarsınız?
- 28. Amazon S3 statik web sitesi css veya js dosyaları sunmuyor
- 29. ASP.NET MVC'de Statik Dosyalar için Yetkilendirme O/Owin
- 30. ProxyPass için KulDizini'ne yollarını içerecek şekilde nasıl - Ubuntu üzerinde Apache 2.4.7 14.04
bir göz atın: Burada "app" dizinden tüm kaynakları sunma doğru önbelleğe için örnektir http://stackoverflow.com/questions/34133039/browser-cache-expiration-for-js- ve-css-dosyaları-ile-wildfly –
Zaten bir göz vardı, ama cevap görmedim. Ancak, Undertow 1.2.x statik dosyalar için etags desteklemiyor gibi görünüyor. Https://github.com/undertow-io/undertow/blob/07d0ccb1eefb04a3b712af4e2c8f3a303081b0b1/core/src/main/java/io/undertow/server/handlers/resource/PathResource.java ve https://github.com/undertow sayfasına bakın. -io/undertow/blob/07d0ccb1eefb04a3b712af4e2c8f3a303081b0b1/core/src/main/java/io/undertow/sunucu/işleyicileri/resource/ResourceHandler.java –
@FedericoSierra Nasıl bir etag dahil etmek için ve hakkında herhangi bir fikir değişken boyut, örneğin Bir dosyanın içeriği üzerinde biraz karma. –