【问题标题】:Configuring single jsp error page with different messages for different http errors为不同的http错误配置带有不同消息的单个jsp错误页面
【发布时间】:2012-09-16 04:37:07
【问题描述】:
我正在开发一个网络应用程序。
我希望在 web.xml 中配置错误页面。
我想为不同的 http 错误(如 400,404 等)制作一个带有不同错误消息的单个错误页面。
例如:我想对所有 http 错误使用相同的错误页面“error.jsp”。
假设如果出现错误 400,jsp 应该显示 "Bad request"
如果发生错误 404,jsp 应该将messgae 显示为“page not found”。
请帮忙。
谢谢。
【问题讨论】:
标签:
jsp
servlets
web.xml
http-error
【解决方案1】:
这实际上是可能的,而且相当简单。我将在这里发布 3 种方式。
1) Servlets 3.0 方式:如果您已升级到最新的 Servlets 3.0,您可以通过省略 <error-page> 的 <error-code> 或 exception-type 元素并提供 <location> 和为您的应用程序创建一个默认的 error.jsp。
`
2) 显式输入所有 400 和 500 并将它们映射到 web.xml 中的 error.jsp;这是为了以防您使用的是较旧的容器并且不希望升级。 them的不多
3)还有第三种方式here(@BalusC 的回答,我承认我尊重那个人的知识和他在 SO 上的声誉)
要在 error.jsp 中输出特定于错误代码的消息,请在 switch-case 或 if-else-if 构造中使用 ${requestScope['javax.servlet.error.status_code']}。