如何使用web.xml捕获JasperException

时间:2013-06-27 07:34:22

标签: java jsp tomcat exception-handling web.xml

我的web.xml中有以下几行

<error-page>
    <error-code>500</error-code>
    <location>/jsp/mobile/errors/500.jsp</location>
</error-page>

<error-page>
    <error-code>503</error-code>
    <location>/jsp/mobile/errors/undefined.jsp</location>
</error-page>

<error-page>
    <error-code>404</error-code>
    <location>/jsp/mobile/errors/404.jsp</location>
</error-page>
<!-- org.apache.jasper.JasperException -->
<error-page>
    <exception-type>java.lang.Throwable</exception-type>
    <location>/jsp/mobile/errors/undefined.jsp</location>
</error-page>

<error-page>
    <exception-type>org.apache.jasper.JasperException</exception-type>
    <location>/jsp/mobile/errors/undefined.jsp</location>
</error-page>


Web应用程序成功捕获到HTTP 404错误并重定向到指定的错误页面,但没有其他内容。

例如,我通过不关闭jstl c:if标签激怒了我的网络应用程序 我可以在控制台中看到抛出JasperException。

org.apache.jasper.JasperException: /jsp/mobile/main.jsp(291,2) Unterminated &lt;c:if tag

但是我看到一个没有任何html的空页面。我也没有看到500.jsp页面或undefiend.jsp
我究竟做错了什么 ?

编辑1
我不确定它是否相关,但我使用的是Spring MVC。

<servlet>
    <servlet-name>shop</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>shop</servlet-name>
    <url-pattern>*.do</url-pattern>
    <url-pattern>*.json</url-pattern>
    <url-pattern>/</url-pattern>
    <url-pattern>*.spr</url-pattern>
</servlet-mapping>

0 个答案:

没有答案