我正在开发一个网络应用程序。
我正在寻找在 web.xml 中配置错误页面。
我想为不同的 http 错误(如 400,404 等)制作一个包含不同错误消息的错误页面。
例如:我想对所有 http 错误使用相同的错误页面“error.jsp”。假设如果出现错误 400,jsp 应该显示“Bad request” ,如果出现错误 404,jsp 应该显示 messgae 为“page not found”。
请帮忙。
谢谢。
我正在开发一个网络应用程序。
我正在寻找在 web.xml 中配置错误页面。
我想为不同的 http 错误(如 400,404 等)制作一个包含不同错误消息的错误页面。
例如:我想对所有 http 错误使用相同的错误页面“error.jsp”。假设如果出现错误 400,jsp 应该显示“Bad request” ,如果出现错误 404,jsp 应该显示 messgae 为“page not found”。
请帮忙。
谢谢。
这实际上是可能的并且相当简单。我将在这里发布3种方式。
1) Servlets 3.0 方式:如果您已经升级到最新的 Servlets 3.0,您可以通过省略<error-code>
orexception-type
元素<error-page>
并提供<location>
并为您的应用程序创建一个默认的 error.jsp 来非常容易地做到这一点。`
2) 显式输入所有 400 和 500 并将它们映射到您的 error.jsp 中web.xml
;这是为了以防您使用的是较旧的容器并且不希望升级。数量不多
3)这里有第三种方式(@BalusC 的回答,我承认我尊重那个人的知识和他在 SO 上的声誉)
要在您的 error.jsp 中输出错误代码特定消息,请使用 ${requestScope['javax.servlet.error.status_code']}
aswitch-case
或if-else-if
构造。