Przeczytałem this, ale nie do końca rozumiem, jak to działa. Chcę załadować plik właściwości i skonfigurować pulę połączeń po uruchomieniu aplikacji internetowej. Oczywiście chcę to zrobić tylko raz i w jednym miejscu, więc mogę to zmienić w razie potrzeby. W zwykłych serwletach po prostu wstawiłbym mój kod inicjujący do metody init() serwletu, ale nie masz do niego dostępu z serwletem Jersey. Więc gdzie mam to zrobić? Jak działają nasi słuchacze w powyższym linku?Zainicjuj bazę danych w sieci web startupów Jersey
Odpowiedz
Wszystko, co musisz zrobić, to napisać klasę Java, która implementuje interfejs ServletContextListener. Ta klasa musi implementować dwie metody contextInitialized method, która jest wywoływana, gdy aplikacja internetowa jest po raz pierwszy tworzona i contextDestroyed, która zostanie wywołana, gdy zostanie zniszczona. Zasób, który ma zostać zainicjowany, zostanie utworzony w metodzie contextInitialized i zasobu zwolnionego w klasie contextDestroyed. Aplikacja musi być skonfigurowana tak, aby wywoływała tę klasę po wdrożeniu, co jest wykonywane w pliku deskryptora web.xml.
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
}
konfiguracja web.xml
<listener>
<listener-class>com.nameofpackage.ServletContextClass</listener-class>
</listener>
To teraz pozwolę aplikacja wywołać ServletContextClass gdy aplikacja jest wdrażany i instancji połączenia lub innego zasobu miejsce w metodzie contextInitialized co jakiś podobny do co robi metoda init Servlet.
Ponieważ nie trzeba modyfikować samej koszulki w czasie uruchamiania, prawdopodobnie nie należy używać AbstractResourceModelListener. To, czego chcesz, to javax.servlet.ServletContextListener. Możesz dodać elementy listener do swojego pliku web.xml w ten sam sposób, w jaki dodajesz elementy serwletu. ServletContextListener zostanie wywołany, kiedy twój kontekst (aplikacja internetowa) zostanie najpierw utworzony i przed uruchomieniem serwletu Jersey. Możesz zrobić, co potrzebujesz, do bazy danych w tym słuchaczu i będzie ona gotowa po rozpoczęciu korzystania z Jersey.
- 1. Prześlij bazę danych Firebirda do innej sieci
- 2. Postęp przesyłania danych do klienta w sieci Jersey
- 3. Powikłania w sieci Web
- 4. Wiadomości danych binarnych sieci Web (ArrayBuffer)
- 5. Klient sieci Jersey + zestaw proxy
- 6. Konfigurowanie usługi Redis na witrynie sieci Web
- 7. Pakiet sieci Web pobiera nieprawidłową nazwę witryny sieci Web IIS
- 8. Edytor asów w aplikacji sieci Web PHP
- 9. Wdrażanie aplikacji sieci web ASP.NET
- 10. Jak określić wiele nazw pakietów dla klas usług w usłudze sieci Web REST przy użyciu Jersey
- 11. HTTPS przy użyciu klienta sieci Jersey
- 12. Klient sieci Jersey na system Android - NullPointerException
- 13. Właściwy format daty w usłudze sieci Web
- 14. Sprawdź bazę danych w JPA
- 15. . Rejestracja usługi .NET w sieci Web
- 16. Dodać wskaźnik "ładowanie" w sieci web MVC?
- 17. Synchronizacja danych podstawowych systemu IOS z usługą sieci Web?
- 18. Jak zaimplementować bazę danych w aplikacji PhoneGap?
- 19. Przekazywanie danych sesji między aplikacjami sieci Web ASP.NET
- 20. Konwertuj regularną bazę danych Postgres na przestrzenną bazę danych
- 21. Zgłaszający bazę danych Log4j
- 22. Wyświetlanie witryny Django i witryny sieci Web w sieci LAN
- 23. Dokumentowanie usług sieci Web ServiceStack
- 24. Samodzielny klient sieci web java
- 25. Wersja aplikacji sieci web ASP.NET
- 26. Serwer sieci Web RabbitMQ Management
- 27. Debugowanie pracowników sieci Web w przeglądarce Safari Web Inspector
- 28. Powracanie błędów w interfejsie API sieci Web
- 29. Kopia zapasowa witryny sieci Web w PHP?
- 30. Serwer sieci Web w chromowanej aplikacji pakowanej