2 wu15225124252 wu15225124252 于 2015.06.07 15:53 提问

Tomcat 时而访问,时而报错,又是 500
    TestErr.jsp

<%@ page errorPage="ErrPage.jsp"%>
<%
String s="123Plus";
int i=Integer.parseInt(s);
out.println("s=" + s + " i=" + i);
%>

    ErrPage.jsp

<%-- ********* ErrPage.jsp ********* --%>
<%@ page contentType="text/html; charset=utf-8" %>
<%@ page isErrorPage="true" %>
【html】
【body text="red"】
错误信息:<%= exception.getMessage() %>
【/body】
【/html】
错误如图
图片说明
我的操作:
在地址栏里输入 http://localhost:8888/test/TestErr.jsp ,报 500 错误。
我试着调试,删除TestErr.jsp中 "123Plus" 中的 Plus,访问输出: s=123 i=123
再改回来,访问,输出: 错误信息:For input string: "123Plus" (这才是正常情况!)
但是,访问过其他地方,再回来访问 TestErr.jsp 时,还是报错..无语我都!
看马老师的视频自学,跟着敲代码还报错,都快崩溃了!~

6个回答

tongyi55555
tongyi55555   2015.06.08 09:30
已采纳

我测试了你的代码,chrome里面没有问题的,Eclipse自带的浏览器即IE是不可以,需要修改下IE的设置就行了。参考如下:

1, IE设定 工具-->Internet选项-->高级--->显示http友好错误信息(取消选择) , 这样就可以了
2, 设置指定错误页页状态为正常,来告诉IE这不是一个服务器错误, 从而不显示IE的自定义错误页.
参考http://zhuchengzzcc.iteye.com/blog/1499472

wu15225124252
wu15225124252 正解,评论发错地方了,极力采纳!
2 年多之前 回复
Evankaka
Evankaka   Ds   Rxr 2015.06.07 17:58

可能是Integer.parseInt(s);要求是一个数字字符串吧

wu15225124252
wu15225124252 我想你弄错了,这个程序就是为了测试捕获异常的。可是服务器有时给出错误信息(正常),有时却报500的错误...
2 年多之前 回复
tongyi55555
tongyi55555   2015.06.07 20:58

不必纠结于此,有时候代码没有错,但是JDK或者tomcat已经更新了,给出的结果尤其是错误提示会不一致。

wu15225124252
wu15225124252 学习web服务器呢,不纠结不行啊,卡顿在那里,都没法前进了
2 年多之前 回复
frank_20080215
frank_20080215   2015.06.08 06:32

web.xml没有设置好

wu15225124252
wu15225124252 你说的应该是另一种错误处理的方式吧;我写的好像是另一种~
2 年多之前 回复
wu15225124252
wu15225124252   2015.06.09 14:19

正解,真是太感激你了。
你都不知道,学习过程中,因为这个问题,我都换了好几个tomcat了。
用了IE,猎豹,firefox都不行,快崩溃了都。
百度,google都找不到解决方案。
我还以为是我win8系统的问题呢,就差一点换上XP了~
哎,这些个东西,真难搞啊...

datou431
datou431   Rxr 2015.06.09 18:29

web.xml没有设置好

wu15225124252
wu15225124252 ...
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片