【发布时间】:2015-08-13 22:25:20
【问题描述】:
我在处理 web servlet 应用程序中的异常时遇到了麻烦。 我创建了 ErrorHandler servlet,它处理所有传入的异常并在 web.xml 文件中添加条目:
<servlet>
<servlet-name>ErrorHandler</servlet-name>
<servlet-class>ServletPackage.ErrorHandler</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ErrorHandler</servlet-name>
<url-pattern>/ErrorHandler</url-pattern>
</servlet-mapping>
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/ErrorHandler</location>
</error-page>
问题是服务器根本没有调用 ErrorHandler servlet。 Glassfish 只是在控制台中抛出异常,Web 浏览器刷新抛出异常的 servlet(由于未处理的异常没有数据)。
Warning: StandardWrapperValve[SessionChecker]: Servlet.service() for servlet SessionChecker threw exception
javax.servlet.ServletException: Forced exception thrown
at ServletPackage.SessionChecker.processRequest(SessionChecker.java:158)
at ServletPackage.SessionChecker.doPost(SessionChecker.java:174)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:344)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
.
.
.
有什么建议吗?
【问题讨论】:
-
有什么建议吗?我真的需要让它按应有的方式工作,并且不知道为什么 ErrorHandler 无法处理任何异常。也许我的思路有问题,它根本不会以这种方式工作?
标签: java jakarta-ee servlets exception-handling glassfish