使用JSP内建exception对象时的500错误

尝试使用JSP的内建exception对象,写了下面三个文件。思路很简单,文件index若
提交字串为空,则get抛出异常,交由error.jsp处理。但实际却不能正常运行,会出现
IE的500错误页面。环境为Tomcat 5.5,IE6.0。
在sun的论坛上有人贴出了原因,是IE的某个设置。Tomcat5.0以后的版本error page在
处理时会返回error code 500。而IE得到code 500后会检查该页面的长度,当长度低于
某个值时,它会用自己默认的500出错页面来代替制定的error page。它称之为“用户友
好性”(这个问题耗了我不少时间,一点也不友好来着)。那么解决方法可以是修改IE
设置:取消IE“工具--Internet选项--高级--显示友好HTTP错误信息”选项;或者增加你
的error page的长度。

index.jsp
--------------------------------------------
<html>
<head>
 <title>index</title>
<head>
<body>
 <form action="get.jsp" method="get">
  <input type="text" name="text"><br>
  <input type="submit" value="submit">
 </form>
</body>
</html>


get.jsp
--------------------------------------------
<%@page language="java" errorPage="error.jsp"%>
<html>
<head>
 <title>index</title>
<head>
<body>
 <%
  String getText = request.getParameter("text");
  out.print(getText);
  if (getText.equals("")) {
   out.print("empty");
   throw new Exception("empty value");
  }
 %>
</body>
</html>


error.jsp
---------------------------------------------
<%@page language="java" isErrorPage="true"%>
<html>
<head>
 <title>index</title>
<head>
<body>
 <%
  out.print(exception.getMessage());
 %>
</body>
</html>

 

个人总结

所谓增加长度,就是在error.jsp文件中,多复制些文字内容,就能正常运行了。

 

 

你可能感兴趣的:(使用JSP内建exception对象时的500错误)