java web uygulamasında servlet kullanarak erişmem gereken bir sürü metin, xml ve diğer dosyalar (yani kaynaklar) var. Örneğin, bir kullanıcı sorgusu tarafından bir servlet ile bir kısmı iade edilen bir xml dosyası vardır. Tomcat kullanıyorum. Bu dosyaları depolamak ve bunlara java kodundan erişmek için en iyi uygulama nedir? 1) Varsayılan klasörleri nerede koymalıyım, bunları Web arşivine veya Kavanozlardan birine eklemem gerekir mi? 2) Dosyalara java kodundan nasıl erişilir? Onlara giden yolu nasıl ayarlayabilirim ki herhangi bir ortamda çalışacak? P.S. Bu konuyla ilgili pek çok yazı okudum, bunların çoğu kavanozlarda kaynak depolamayı ve java.lang.Class.getResourceAsStream (String) kullanarak bunlara erişmeyi önerir. Garip görünüyor çünkü sınıflar ve veriler ayrılmalıdır.java web uygulamasında kaynak dosyalarını depolamak ve bunlara erişmek için en iyi yöntemler
5
A
cevap
7
Sınıf yükleyiciyi kullanarak statik kaynakları yüklemek gayet iyi. ResourceBundle, örneğin uluslararasılaştırılmış özellikler dosyalarını yüklemek için ne yapar.
Sınıf dosyalarınızla birlikte veya WEB-INF/lib
'un içindeki bir kavanoza koyun ve daha önce okuduğunuz yanıtlarda belirtildiği gibi ClassLoader ile yükleyin.
Bu dosyalar, projenizdeki Java kaynak dosyalarından ayrı bir dizine yerleştirilmenizi yasaklamaz. Oluşturma işlemi, bunları çalışma zamanı için uygun yere koyduğundan emin olmalıdır. Maven ve Gradle kongresi, kaynak dosyaları src/main/java
ve kaynak dosyaları src/main/resources
'un altına koymaktır.
İlgili konular
- 1. Web.xml'deki değişkenleri tanımlamak ve başlatmak için en iyi yöntemler ve daha sonra bunlara Java kodundan erişme
- 2. C# içinde seçili özellikleri tanımlamak ve bunlara erişmek için en iyi yol nedir?
- 3. Açık kaynak projelerinde git depoları için en iyi yöntemler
- 4. Topaklar için en iyi yöntemler Dizin sayfası
- 5. ASP.NET web uygulaması yerelleştirmesi için en iyi yöntemler
- 6. Ses akışı için en iyi yöntemler
- 7. PHP oturum verilerini bir veritabanında depolamak için en iyi yöntemler nelerdir?
- 8. ElasticSearch'te alan adları için en iyi yöntemler
- 9. Permalink ajax sayfaları için en iyi yöntemler
- 10. Html Grafikleri için en iyi yöntemler
- 11. Java web uygulamaları için en iyi 3D grafik kütüphanesi nedir?
- 12. C#: En İyi Yöntemler Debug.Print
- 13. Çoklu platformlar için çeviri dosyaları oluşturma hakkında en iyi yöntemler
- 14. Bahar MVC öğrenmek için en iyi kaynak?
- 15. AIX üzerinde bina ve paketleme için en iyi yöntemler
- 16. En iyi java web hizmeti çerçevesi nedir?
- 17. nhibernate: eşitliği uygulamak için en iyi yöntemler nelerdir?
- 18. http bağlantıları için en iyi java lib?
- 19. Özel http kullanıcı aracı dizeleri için en iyi yöntemler?
- 20. nerede asp.net'de kullanıcılarla ilgili verileri depolamak için en iyi yerdir?
- 21. Amazon SQS'yi kullanmak için en iyi yöntemler - Sorgulama yok
- 22. Uygulama ayarları için tablo görünümünü tasarlamak için en iyi yöntemler?
- 23. Oturum açıldıktan sonra CurrentUser uygulamasını depolamak için en iyi yöntem
- 24. .mht (web arşivi) dosyalarını düzenlemenin en iyi yolu nedir?
- 25. gdb kullanarak hata ayıklama - En iyi yöntemler
- 26. Powershell cmdlet'i geliştirme en iyi yöntemler
- 27. Liste dizilerini kullanma - En iyi yöntemler
- 28. ASP.Net MVC Çerezleri En İyi Yöntemler
- 29. En iyi Açık kaynak projeleri öğrenmek için Erlang/OTP için
- 30. Birim testi için xml dosyalarını karşılaştırmak için iyi java kütüphanesi?
1) Zaten WEB-INF/kaynakları klasöründe kaynak varsa ne olur? HTML sayfasında JavaScript tarafından kullanılır. Sayfa WEB-INF/index.html ve betik göreceli yolu kullanan kaynaklara başvurur. 2) Yolu kaynak klasörüne nerede saklamalıyım? Web.xml veya başka bir statik kaynakta yer var mı? – Alexander
WEB-INF'deki kaynaklara dışarıdan erişilemiyor, bu nedenle tarayıcıdan WEB-INF'e bir JS dosyası yüklemek mümkün değil. Webapp'da (WEB-INF dahil) herhangi bir yerden kaynak yüklemek için ServletContext.getResourceAsStream() yöntemini kullanabilirsiniz, ancak bu yükleme sınıfını ServletContext'e erişmeye zorlar. İkinci sorunuzu anlamıyorum. Bu statik bir kaynak. Neden yolu sabit bir şekilde kodlamıyorsun? –
One, getContext için bir sunucu uygulamasının bir örneğine ihtiyaç duyar ve ardından kaynak veya klasör yolu alır. Bir şey oluşturmadan statik yapmanın bir yolu var mı? İkinci sorum ise, bu tür sabitleri saklayacağım yer ile ilgiliydi. Web.xml gibi bazı web ile ilgili kaynaklarda yer var mı (sınıf kaynak kodlarından birinde sabit kalmak yerine)? – Alexander