【发布时间】:2013-01-08 10:42:23
【问题描述】:
我想在加载 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 类。 我也尝试像link 这样使用 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>
我不知道做错了什么。
【问题讨论】:
-
您的问题令人困惑。请清楚什么不起作用?以及你想要达到什么目的。很高兴为您提供帮助。
-
启动 servlet 是什么意思?容器可以在启动时加载 servlet,这意味着
init方法中的任何内容都将在启动时执行 -
在我看来,您想实际导航或提交到 servlet,然后转发到 JSP。这样 servlet 可以做数据库的事情,在请求范围内准备一个漂亮的对象结构,然后 JSP 可以获取这些信息并显示它。
-
@RameshPVK 谢谢,代码永远不会到达 servlet 代码,总是从 jsp 页面开始。我尝试使用 servlet 侦听器,但无法正常工作。
-
@Gimby 确切地说,我正在尝试从 servlet 中的 db 检索数据并将其发送到 jsp 页面。但是当应用程序启动时 servlet 没有运行
标签: java servlets web.xml servlet-listeners