为不同的http错误配置具有不同消息的单个jsp错误页面

时间:2012-09-16 04:37:08

标签: jsp servlets web.xml http-error

我正在开发一个网络应用程序。

我希望在web.xml中配置错误页面。

我想针对不同的http错误(如400,404等)创建一个单个错误页面,其中包含不同的错误消息。

例如:我想对所有http错误使用相同的错误页面“error.jsp”。 假设如果出现错误400 ,则jsp应显示“错误请求” 并且如果出现错误404 ,jsp应该显示messgae “找不到页面”。

请帮忙。

感谢。

1 个答案:

答案 0 :(得分:1)

这实际上是可行的并且相当简单。我会在这里发布3种方式。

1)Servlets 3.0方式:如果您已升级到最新的Servlets 3.0,则可以通过省略<error-code>的{​​{1}}或exception-type元素来轻松完成此操作提供<error-page>并为您的应用程序创建默认的error.jsp。 `

2)明确输入所有400和500,并将它们映射到<location>中的error.jsp;这是为了您使用旧容器而不希望升级。 them

的数量不多

3)还有第三种方式here(@ BalusC的答案,我承认我尊重那个人的知识和他在SO上的声誉)

要在error.jsp中输出特定于错误代码的消息,请在web.xml${requestScope['javax.servlet.error.status_code']}构造中使用switch-case