this okudum ama nasıl çalıştığını tam olarak anlamadım. Web uygulaması başladığında bir özellik dosyası yüklemek ve bağlantı havuzumu kurmak istiyorum. Açıkçası, bunu sadece bir kez ve tek bir yerde yapmak istiyorum, bu yüzden eğer gerekiyorsa onu değiştirebilirim. Normal servletlerle, başlatma kodumu servlet init() yöntemine koyardım, ancak bir Jersey sunucu uygulamasıyla ona erişiminiz yok. Peki nerede yapmalıyım? Yukarıdaki bağlantıdaki dinleyiciler nasıl çalışır?Jersey webapp başlangıçta veritabanını başlat
cevap
Tek yapmanız gereken, ServletContextListener arabirimini uygulayan bir java sınıfı yazmaktır. Bu sınıf, web uygulaması ilk oluşturulduğunda çağrılan contextInitialized yöntemini ve yok edildiğinde çağrılacak olan contextDestroyed adlı iki yöntemi uygulamalıdır. Başlatılmasını istediğiniz kaynak contextInitialized yönteminde ve contextDestroyed sınıfında serbest bırakılan kaynakta başlatılır. Uygulama, web.xml tanımlayıcı dosyasında yapılan dağıtıldığında bu sınıfı çağırmak üzere yapılandırılmalıdır.
public class ServletContextClass implements ServletContextListener
{
public static Connection con;
public void contextInitialized(ServletContextEvent arg0)
{
con.getInstance();
}//end contextInitialized method
public void contextDestroyed(ServletContextEvent arg0)
{
con.close();
}//end constextDestroyed method
}
Bu şimdi uygulama dağıtıldığında uygulama ServletContextClass diyelim ve bazı neyi benzer contextInitialized yönteminde Connection veya başka bir kaynak yeri örneğini olacak
<listener>
<listener-class>com.nameofpackage.ServletContextClass</listener-class>
</listener>
web.xml yapılandırma Servlet init yöntemi ne yapar?
Başlangıç zamanında Jersey'i değiştirmeniz gerekmediğinden, muhtemelen bir AbstractResourceModelListener istemezsiniz. İstediğiniz, javax.servlet.ServletContextListener. Web1xml öğenize listener öğelerini ekleyerek, servlet öğelerini eklediğiniz gibi ekleyebilirsiniz. İçeriğiniz (web uygulaması) ilk kez oluşturulduğunda ve Jersey sunucusu başlatılmadan önce ServletContextListener çağrılır. Bu dinleyicide veritabanına ihtiyacınız olan her şeyi yapabilir ve Jersey'i kullanmaya başladığınızda hazır olur.
- 1. Başlangıçta krom uygulamasını başlat
- 2. Jersey/ServletContext ve kaynak yükleme başlangıçta
- 3. swift - Görünüm denetleyicisini init düzenini başlangıçta geçersiz kılarak storyboard'dan başlat
- 4. Java Jersey 2'de singleton'u başlat JAX-RS
- 5. Webapp
- 6. Jersey
- 7. java.io.IOException: Gravür çalışırken çalışanlar webapp üzerinde webapp
- 8. Jersey: Jersey kökünün dışına yönlendirme
- 9. PostgreSQL'i yeniden başlat Yeniden başlat
- 10. Jersey Giriş akışı, filtrede değiştirildi. Jersey Kaynak
- 11. javascript webapp geliştirme
- 12. Android Offline Webapp Kaynakları
- 13. Sonarqube Webapp başlatılmadı
- 14. Neden Jersey @
- 15. jQuery geçiş animasyonunu başlat
- 16. STM32F030 başlangıçta Hardfault, __libc_init_array
- 17. Başlangıçta bekleyinService önceHizmetService
- 18. Guice 3.0 - Başlangıçta ArrayIndexOutOfBoundsException?
- 19. Oturum değişkeni başlangıçta ayarlanmadı
- 20. UITableViewCell Başlangıçta seçilen seçili
- 21. Eclipse başlangıçta kilitleniyor
- 22. Danışman Ubuntu'da başlangıçta başlamaz
- 23. Başlangıçta Merkez Formu
- 24. Başlangıçta mongodb bağlantı sorunlarını yönetin
- 25. Jersey POST istek parametreleri nasıl uyarılır?
- 26. Jersey Maven hızlı başlangıç archetype içinde Eclipse
- 27. Tomcat Webapp başlatma sırasında askıda
- 28. Tomcat'ta harici webapp nasıl dağıtılır?
- 29. Küresel değişkenleri Jersey/Glassfish