在做一个小测试,就是两个页面,第一个页面抛出错误,由第二个页面来捕捉.
但是提交后,第二个页面捕获不到错误(或者说我不知道该如何正确的去捕捉) ? 各位帮忙看一下:
// 第一个页面 errhandler.jsp
<%@page errorPage= "errorPage.jsp "%> //这句不是文档里的,是看有些网友的做法加的
<html>
<body>
<form action= "errorPage.jsp " method=post>
<HR> JUST FOR CATCHING THE ERROR ! <hr>
<p>
JAVA: <input type= "checkbox " name=languages value= "JAVA "> <BR>
C++ : <input type= "checkbox " name=languages value= "C++ "> <BR>
<input type=submit value= "Submit ">
</form>
<%
if (request.getMethod().equals( "post ")){
if(request.getParameter( "languages ").equals( "JAVA "))
{
out.println( " <hr> <font color=red> YOU GOT THAT RIGHT! </color> ");
}
else
{
throw new Exception( "YOU GOT IT WRONG! ");
}
}
%>
</body>
</html>
//第二个页面 errorPage.jsp //这句不是文档里的,是看有些网友的做法加的
<%@ page isErrorPage= "true "%>
<html>
<body>
<!-- <%=exception%> 如果这样写,页面显示:null -->
<%=exception.getMessage()%>
<body>
</html>
------解决方案--------------------
顶
------解决方案--------------------
1. <form action= "errorPage.jsp " method=post> 这里action不应该是errorPage.jsp
而应该是errhandler.jsp。
2.if (request.getMethod().equals( "post ")){}把这个去掉就可以成功。我不太清楚你用这个
句子的用意在哪,是想判断传递方法是“post”还是“get”吗?
------解决方案--------------------
理论上这样errorPage是可以捕捉到异常信息的。