Wil*_*ass 10 error-handling tomcat servlets
我在Tomcat中提供了一个Spring MVC应用程序.当用户输入未找到的页面时,它将显示我在web.xml中设置的默认404页面
<error-page>
<error-code>404</error-code>
<location>/errors/404/</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
问题是如果用户转到 http:// mydomain/bad/url
它被重定向到 http:// mydomain/errors/404 /
这很烦人,因为如果用户键入错误的URL,很难看出错误是什么并纠正错误.
404错误后,我希望它保留原始URL,但显示错误页面.(即前进,而不是重定向).这是我对大多数Web服务器如何工作的印象.这可能吗?
我不太明白为什么会这样,但是......
我发现,如果您设置状态代码并得到空响应(或者如果您尝试转发到错误页面),Tomcat 将重定向到错误页面:
((HttpServletResponse) response).setStatus(HttpServletResponse.SC_NOT_FOUND);
Run Code Online (Sandbox Code Playgroud)
但是,如果您要求 Tomcat 发送页面,它只会转发并将 URL 保留为原始状态,正如我正在寻找的那样。
((HttpServletResponse) response).setStatus(HttpServletResponse.SC_NOT_FOUND);
((HttpServletResponse) response).sendError(HttpServletResponse.SC_NOT_FOUND);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6776 次 |
| 最近记录: |