[英]Starting the servlet when the application startup
我想在加載jsp頁面之前啟動servlet類,因為我需要在jsp頁面中填充數據庫中的一些數據。 web.xml中的Servlet映射
<servlet>
<servlet-name>Index</servlet-name>
<servlet-class>com.Teklabz.Servlets.IndexServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Index</servlet-name>
<url-pattern>/index</url-pattern>
</servlet-mapping>
但它沒有用,當跟蹤代碼時它永遠不會到達servlet類。 另外我試圖像這個鏈接一樣使用ServletContextListener,但我遇到了同樣的問題。
監聽代碼:
public class ServletListener implements ServletContextListener{
@Override
public void contextInitialized(ServletContextEvent sce) {
throw new UnsupportedOperationException("Not supported yet.");
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
web.xml代碼:
<listener>
<listener-class>com.techlabz.listener.ServletListener</listener-class>
</listener>
我不知道做錯了什么。
有很多方法可以實現這一點..
com.Teklabz.Servlets.IndexServlet
填充數據,然后在request
屬性中設置數據,然后轉發到該jsp
。 loadonstartiup
你可以在com.Teklabz.Servlets.IndexServlet
servlet的init
方法中填充db中的數據,然后在一些可訪問的范圍(request,session,context)
設置它,並通過直接訪問jsp從中獲取數據范圍。 你的代碼是完全正確的。你需要添加注釋@WebListener
@WebListener
public class ServletListener implements ServletContextListener{
//your code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.