大佬教程收集整理的这篇文章主要介绍了Servlet处理中的“错误分配”是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
容器在异常/错误期间进行的调度称为错误调度。这些通常分派到错误页面。据我所知,没有办法直接进行错误分配。
通过错误分派发出的请求会将分派器类型设置为dispatcherType.ERROR。(在Servlet的服务方法代码中,您可以使用getdispatcherType()获取调度类型。)
以下六个请求范围属性也将在错误分派中设置。
"javax.servlet.error.exception"
"javax.servlet.error.exception_type"
"javax.servlet.error.message"
"javax.servlet.error.request_uri"
"javax.servlet.error.servlet_name"
"javax.servlet.error.status_code"
因此,如果您有一个错误页面,容器将错误重定向到该页面,则可以读取这六个属性以获取更多信息。
http://docs.oracle.com/javaee/6/api/javax/servlet/DispatcherType.htmlhttp://docs.oracle.com/javaee/6/api/javax/servlet/RequestDispatcher.html
您可以使用部署描述符(web.xml)中的标记来设置错误分发。例如,如果您为404错误代码添加了一个错误页面标签,则当发生找不到页面的错误时,容器将分派到该页面。在该错误页面中,可以使用诸如request.getAttribute(“ javax.servlet.error.message”)之类的代码来检索有关该错误的详细信息。例子…
web.xml:
<web-app>
<error-page>
<error-code>404</error-code>
<location>/error.Jsp</location>
</error-page>
</web-app>
error.Jsp:
<!DOCTYPE HTML>
<HTML>
<head>
<Title>404 Error</Title>
</head>
<body>
The page was not found. You requested <%= request.getAttribute("javax.servlet.error.message") %> but it was not found. Sorry.
</body>
</HTML>
在上述示例应用程序中,如果未找到客户端请求的页面,或者您在某处使用response.sendError(“ 404”,“ …”),则容器将向error.Jsp进行错误分派。
JsP错误处理机制(使用“ errorPage”和“ isErrorPage”页面指令)在这里也适用。
javax.servlet.AsyncContext接口的javadoc说:
但是我在任何地方都找不到“错误分发”的含义。实际上,有一个Apache
Bug令人惊叹。(用他们的确切话说:“我也没有看到’错误分配’的定义。”)
但是,当然,必须对此有一个明确的定义以及如何使用它。有人知道吗?
以上是大佬教程为你收集整理的Servlet处理中的“错误分配”是什么?全部内容,希望文章能够帮你解决Servlet处理中的“错误分配”是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。