日期:2014-05-18  浏览次数:20930 次

jsp处理机制 以及 错误跳转问题
小弟这个星期   刚开始接触jsp。   以前有学习c++的基础,html也看了一点。由于项目需要,所以必须要赶紧看懂jsp的基本代码。    
    以下代码是   在页面输入2个   数   相除   输出   商(异常要跳转),要求error.jsp出现异常(除数是0时)   就让界面   跳转到   ddage.jsp   。但是现在我不知道则那么实现,所以只能让error.jsp显示自己界面的结果和异常情况。

  另外,关于我对error.jsp的执行顺序,请   高手帮我看看,理解上是否有偏差(我都自己看书的),谢谢啊。
        服务器端一直空等待,因为判断条件没满足。直到客户端有请求(就是有输入传送过来,同时按下了submit)   。服务器端就   提取出   text,同时把它们转化为   int进行操作,异常则跳出。   不知道理解有偏差吗?


第一个文件error.jsp

<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   import= "java.sql.* "   errorPage= "ddage.jsp "   %>
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN "   "http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> 异常处理 </title>
</head>

<body>
<%
String   text=request.getParameter( "textfield ");
String   text2=request.getParameter( "textfield2 ");
if(text==null||text2==null)
{
%>
<p> &nbsp; </p>
<p> &nbsp; </p>
<form   name= "form1 "   method= "post "   action= " ">
    <p>
        <input   type= "text "   name= "textfield ">
    除以    
    <input   type= "text "   name= "textfield2 ">
    </p>
    <p>         <input   type= "submit "   name= "Submit "   value= "提交 ">
        </p>
</form>
<%
}
else
{
try{
int   t1=Integer.parseInt(text);
int   t2=Integer.parseInt(text2);

%>
<%=t1/t2%>
<%
}
catch(Exception   e)
{
%>
<%=e%> <%
}


}
%>

</body>
</html>


第二个ddage.jsp文件
<%@   page   contentType= "text/html;   charset=gb2312 "   language= "java "   import= "java.sql.* "     isErrorPage= "true "   %>
<!DOCTYPE   HTML   PUBLIC   "-//W3C//DTD   HTML   4.01   Transitional//EN "   "http://www.w3.org/TR/html4/loose.dtd ">
<html>
<head>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<title> 错误处理网页的建立 </title>
</head>

<body>
<%out.print(exception.getMessage()+ "被除数不能为零 ");%>
</body>
</html>



------解决方案--------------------
upp
------解决方案--------------------
没错``
不过是不是可以直接抛出异常 而不用在另外一个页面显示呢?
呵呵`

------解决方案--------------------
可以的,使用bean就可以轻松实现了!