Tomcat5.0.8 找不到指定异常处理页面

Saro 2005-11-25 09:40:59
web.xml中的配置:
<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/uncaughtException.jsp</location>
</error-page>

但我在Jsp页面或Spring Controller中手动抛出RuntimeException时,IE提示500错误,找不到指定页面。
...全文
72 点赞 收藏 10
写回复
10 条回复
奇伢 2005年11月26日
口齿不清我,就是你把你出错的页面做的丰富点,处理Exception的HTML文件达到一定的大小,IE就会正常显示你的错误信息。
回复 点赞
beyondbyb 2005年11月26日
web.xml中的配置: <error-page>
<error-code>404</error-code>
<location>/noPage.htm</location>
</error-page>
回复 点赞
chinatelly 2005年11月26日
学习
回复 点赞
Saro 2005年11月26日
嗯嗯,解决了,在uncaughtException.jsp开头加上<% response.setStatus(200);%>即可。多谢qiyadeng的提示。一直没想到是浏览器对服务器响应处理方式的问题。
但我还想知道"多写点描述信息"是什么意思,是指在response中输出什么?能说说么。
回复 点赞
奇伢 2005年11月26日
上面说过了,加大描述信息!多写点描述信息!这是唯一的方法了现在。

因为你的内容太少的话,IE认为不安全。
回复 点赞
Saro 2005年11月26日
2楼在说什么呢....
比如这个SimpleFormController中的
protected ModelAndView onSubmit(Object command) throws Exception {
}
很显然我对于无法处理的异常直接抛出就完事,然后直接由web容器转向到一个自定义的内部错误页面就可。如果使用Struts的话,用一个BaseAction提供一个回调方法,在BaseAction中捕获异常进行转向。但在SpringMVC中,我可以灵活的或实现Controller接口,或继承SimpleFormController,BaseCommandController,MultiActionController等,提供一个Base类,我认为不是一个好主意。


1.Internet选项-》高级-》勾掉“显示友好的Http错误提示”
---
这样做以后,确实可以了,可以正确的显示 uncaughtException.jsp 这个页面
但这个选项是IE默认的,我不能指望用户将这个关上。

反复试验后,发现
错误提示页面加上response.setStatus(500) 的方法是不行的,IE一样显示500服务器内部错误,但我在uncaughtException.jsp中加上 <% exception.printStackTrace(new java.io.PrintWriter(out));%>。时,这个页面正确的显示了......
<% exception.printStackTrace(new java.io.PrintWriter(System.out));%>又不可以...
但我不想将异常栈全部打印出来,应该如何处理呢?



回复 点赞
奇伢 2005年11月26日
只是在IE中看不到,你用Firefox试试,肯定行。
还有两种办法是:
1.Internet选项-》高级-》勾掉“显示友好的Http错误提示”
2.这是因为你出错信息不够多,所以IE不会显示,在错误提示页面加上response.setStatus(500)
回复 点赞
fashchina 2005年11月26日
提示找不到指定页面,那么是不是页面地址有问题?
回复 点赞
Little_qd 2005年11月26日
spring提供异常处理框架
回复 点赞
Saro 2005年11月26日
呵呵,非常感谢qiyadeng(qiyadeng) 。
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告