jsp404页面设置。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

tomcat 自定义404错误 JSP/Servlet exception 隐含物件 - 再看错误处理

exception 隐含物件在转换为Servlet之后,会对应至ng.Throwable型态的物件,也就是例外处理相关物件,只要您对Java例外处理有认识,就应当知道如何使用exception的各种方法,这边则由exception为招牌,实际上介绍如何在web.xml中规划错误处理网页,以及在发生对应的例外发生时呼叫对应的例外处理网页。
伺服器发现错误时,会有自己的一套错误讯息网页以供回应,例如在发生404 Not Found之类的错误时,IIS、Apache、Tomcat等都会有各自不同的网页来回应客户端,而为了要在不同的伺服器有一致的错误处理页面外观,我们也可以自行规划错误讯息处理网页,将伺服器的哪一套替换掉,使用自行的规画,我们实际在web.xml中加入以下的标签作示范:


400
/400.html



404
/404.html



上面的设定会在伺服器发生相对应的错误时,呼叫对应的网页(可以是静态或动态的网页),例如发生404 Not Found时,就会传回404.html给客户端,不过有些浏览器会有自己的错误讯息网页,例如Internet Explorer在接收到404 Not Found时,会使用自己的错误讯息来显示给操作者看。

我们之前曾示范过如何在page指令元素中设定例外处理网页,并利用exception物件来显示相关讯息,这边介绍另一种方式,首先我们要知道任何被Servlet丢出来的例外物件如果没有被Servlet处理,则伺服器会负责处理它,处理的方式视不同的伺服器而定,如果您想要在发生例外时,能有一致的处理方式,即使是Servlet被部署在不同的伺服器上,最好是自行处理例外,处理例外的方式可以使用try-catch-finally或是之前介绍的例外处理网页设定,这是在Servlet内处理例外的方式,如果要将例外丢给伺服器处理,而又要自订处理回应页面,则也可以在web.xml中设定,例如我们在web.xml中加入以下的内容:


javax.servlet.ServletException
/servletex.jsp



中必须设定例外类别的完整套件名称,而所指的对象可以是静态网页,或是动态网页,如果要利用exception接收例外讯息,则必须设定page指令元素的isErrorPage属性为true,例如:


ServletException例外处理页面

网页发生错误:

显示例外堆迭追踪:


< exception.printStackTr

ace(response.getWriter());





通常处理例外的网页是动态网页,您可以设计一个通用的动态网页,让相关错误讯息、例外处理都由它来处理,以产生一致的外观,例如在web.xml中这么写:


404
/errorhandler.jsp



javax.servlet.ServletException
/errorhandler.jsp



您可以使用下面的网页来取得相关讯息,并进一步修改为通用的错误处理网页:


错误与例外处理页面

错误码:
讯息:
例外:




相关文档
最新文档