當您實現ServletContextListener時,servlet上下文也可用。這樣可以在啓動時輕鬆加載連接字符串等參數。您可以在web.xml中定義偵聽器類,以便在啓動Web應用程序時加載ServletContextListener。
在web.xml文件中,添加<listener>
和<context-param>
標籤。 <listener>
指定在啓動時調用的類。 <context-param>
標籤定義了Web應用程序中可用的上下文參數。
首先,請在web.xml文件中<listener>
和<context-param>
標籤:
<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>
現在創建servlet上下文類,如下所示。
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
}
現在,您可以選擇靜態變量您已經閱讀參數分配。這允許您在啓動時讀取參數一次,並通過您分配給它的靜態變量重複使用很多次。
哪個javax.ws.rs類作爲servlet處理程序使用? – leeeroy
不是真的讓你受到這個。您已經擁有處理HTTP GET請求的類。請詳細說明Servlet Handler的含義。乾杯。 –
servlet容器需要一個servlet來處理請求。 com.sun.ws.rest.spi.container.servlet.ServletContainer負責處理請求並將它們分派給我的帶註釋的類。你暗示我不應該使用com.sun。*類,那麼我應該使用什麼? – leeeroy