Il contesto servlet è disponibile anche quando si implementa ServletContextListener. Ciò semplifica il caricamento di parametri come la stringa di connessione all'avvio. È possibile definire la classe listener in web.xml che carica ServletContextListener all'avvio dell'applicazione Web.
All'interno del file web.xml, aggiungere i tag <listener>
e <context-param>
. Il <listener>
specifica la classe che viene chiamata all'avvio. Il tag <context-param>
definisce il parametro di contesto che è disponibile all'interno della tua applicazione web.
In primo luogo, include i <listener>
e <context-param>
tag nel file web.xml:
<web-app>
<!-- ... -->
<listener>
<listener-class>com.your.package.ServletContextClass</listener-class>
</listener>
<!-- Init parameters for db connection -->
<context-param>
<param-name>your_param</param-name>
<param-value>your_param_value</param-value>
</context-param>
<!-- ... -->
</web-app>
Ora creare la classe del contesto servlet come segue.
public class ServletContextClass implements ServletContextListener
{
public void contextInitialized(ServletContextEvent arg0)
{
//use the ServletContextEvent argument to access the
//parameter from the context-param
String my_param = arg0.getServletContext().getInitParameter("your_param");
}//end contextInitialized method
@Override
public void contextDestroyed(ServletContextEvent arg0)
{ }//end constextDestroyed method
}
È ora possibile scegliere quale variabile statica assegnare al parametro letto. Ciò consente di leggere il parametro una volta all'avvio e riutilizzare più volte la variabile statica a cui lo si assegna.
fonte
2015-04-09 11:25:56
quale classe javax.ws.rs devo usare come gestore di servlet? – leeeroy
Non ti sto davvero prendendo da questo. Hai già una classe che gestisce le richieste HTTP GET. Si prega di elaborare più cosa significa per Servlet Handler. Saluti. –
Un contenitore servlet necessita di un servlet per gestire le richieste. com.sun.ws.rest.spi.container.servlet.ServletContainer si occupa di gestire le richieste e di inviarle alle mie classi con annotazioni. Implica che non dovrei usare le classi com.sun. *, Quindi cosa dovrei usare? – leeeroy