我的 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 标记来激发我的 Web 应用程序。
我可以看到控制台中抛出了 JasperException。
org.apache.jasper.JasperException: /jsp/mobile/main.jsp(291,2) Unterminated <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>