页面中出现错误时(throw)会转到错误页,执行错误页(error.jsp)
注:实验验证时,应将几个文件放在一起添加在tomcat的webapps中。并通过localhost:8080/文件夹/文件名打开.html文件。
Compute.html:
<html>
<head>
<title>Compute</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<form method="post" action="Divide.jsp">
<p>--- 整数除法 ---
<p>被除数
<input type="text" name="value1">
除数
<input type="text" name="value2">
</p>
<p>
<input type="submit" name="Submit" value="计算">
</p>
</form>
</div>
</body>
</html>
-------------------------------------------------
Divide.jsp:
<%@ page
errorPage="error.jsp"
contentType="text/html;charset=gbk"
%>
<html>
<head>
<title>Divide</title>
</head>
<body bgcolor="#FFFFFF">
<center>
<br>
<h1>
<%
int dividend = 0;
int divisor = 0;
int result = 0;
try{
dividend = Integer.parseInt( request.getParameter( "value1" ) );
}
catch( NumberFormatException nfex ){
throw new NumberFormatException( "被除数不是整数! " );
}
try{
divisor = Integer.parseInt( request.getParameter( "value2" ) );
}
catch( NumberFormatException nfex ){
throw new NumberFormatException( "除数不是整数! " );
}
try {
result=dividend/divisor;
}
catch(ArithmeticException zz) {
throw new ArithmeticException( "被零除!!!" );
}
out.println( dividend + " / " + divisor + " = " + result );
%>
</h1><br>
<a href="javascript: history.back();">返回</a>
</center>
</body>
</html>
-----------------------------------------
error.jsp:
<%@ page
isErrorPage="true"
contentType="text/html;charset=gbk"
%>
<html>
<head>
<title>Compute error</title>
</head>
<body bgcolor="#FFFFFF">
<div align="center">
<p>
<center>
<h3><%= exception.toString() %></h3><!--讲错误对象转成字符串输出到页面 -->
<a href="javascript: history.back();">返回</a><!--返回的超链接 Javascript语句-->
</center>
</p>
<h1>
错误信息错误信息错误信息错误信息错误信息错误信息错误信息
</h1>
<hr>
</div>
</body>
</html>