关于jsp页面page指令中errorpage和iserrorpage属性以及无法正常跳转页面问题

截转自https://blog.csdn.net/ldpyes/article/details/8307288




jsp编译指令page有errorPage和isErrorPage这两个属性,可以实现自定义友好异常界面。errorPage指定异常后要跳转到哪个页面,此jsp页面必须是isErrorPage=“true”。

一个简单的例子

test.jsp的代码如下:


  
  
  1. <%@ page contentType="text/html; charset=UTF-8" language="java" errorPage="error.jsp" %> //指定异常后要跳转的页面为error.jsp
  2. <html>
  3. <head>
  4. <title> 欢迎 </title>
  5. </head>
  6. <body>
  7. 欢迎学习jsp知识
  8. <%
  9. out.println( new java.til. Date ( )); //此处为出错的地方
  10. %>
  11. </body>
  12. </html>

error.jsp代码如下:


  
  
  1. <%@ page contentType= "text/html; charset=UTF-8" isErrorPage= "true"%>
  2. <html>
  3. <head>
  4. <title> 错误提示页面 </title>
  5. </head>
  6. <body>
  7. 系统出现异常 <br/>
  8. </body>
  9. </html>
然后,运行后的结果却有些意料之外,还是那个我们非常熟悉的Http Status 500错误。

原因有两个:

一、浏览器问题

实际上很可能是这个问题

解决办法:在浏览器的设置–Intent选项–高级中取消掉“显示友好HTTP错误信息”这一项。

二、错误类型问题

如果你使用的是火狐或者设定好的IE,还是无法解决的话,那么就是错误类型问题了。

例子中的错误是语法错误,这种错误是不会跳转的。

只有Exception才能跳转,比如下面这个jsp页面就可以。


  
  
  1. <%@ page contentType= "text/html; charset=UTF-8" language= "java" errorPage= "error.jsp" %>
  2. <html>
  3. <head>
  4. <title> 欢迎 </title>
  5. </head>
  6. <body>
  7. 欢迎学习Java Web知识
  8. <%=1/0%>
  9. </body>
  10. </html>




猜你喜欢

转载自blog.csdn.net/SeasonSoy/article/details/81866172