其代码如下:
<%@page language="java" contentType="text/html" import="java.util.*" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
<%
int a=9;
int b=0;
try{
%>
<%=(a/b)%>
<%
}catch(Exception e){
out.println("page error");//输出到当前页面
out.println("<br>");
out.println(e.getMessage());
System.out.print(e.getMessage());//输出到控制台
}
%>
<c:catch var="error_Message"> //进行除0的错误捕捉
<h1><%=3/0 %>3/0</h1>
</c:catch>
<c:out value="${error_Message}" />//将捕捉到的错误信息输出到当前页面
</body>
</html>
运行结果如下:
page error
/ by zero
java.lang.ArithmeticException: / by zero
另外JSP还有一种错误页面的跳转,如下:
<%@page language="java" contentType="text/html" import="java.util.*" errorPage="error.jsp" %>
加了一句errorPage="error.jsp".
error.jsp代码如下:
<%@page language="java" contentType="text/html" isErrorPage="true" %>
<html>
<body>
<h1><%=exception.getMessage()%></h1>
</body>
</html>
此页面的重点是在第一句中加入isErrorPage="true" 句,默认情况下为false.
当时测试时如下代码:
<%=3/0%>,其它的什么都不用写,如果在当前页已指定了 errorPage="error.jsp"项则会进行跳转,目标为error.jsp页.我在测试时第一次执行JSP页面时是编辑不过去了, 报"http 500 内部服务器错误",如果将其中的0改成非0数则可通过,在执行期间再改回0是可以正常执行的,在我想来是jsp编辑的问题吧,也不愿意再深入研究了.
还有在web.xml中的处理方法,配置error-page项,如下两例:
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
这是配置发生500错误(即服务器内部错误)时,跳转到错误处理页面error.jsp.
<error-page>
<exception-type>java.lang.NullException</exception-type>
<location>/error.jsp</location>
</error-page>
这是配置了当系统发生java.lang.NullPointerException(即空指针异常)时,跳转到错误处理页面error.jsp
另注意:<error-code>和 <exception-type>二选一,不能在同一个<error-page>上同时出现.
<%@page language="java" contentType="text/html" import="java.util.*" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<body>
<%
int a=9;
int b=0;
try{
%>
<%=(a/b)%>
<%
}catch(Exception e){
out.println("page error");//输出到当前页面
out.println("<br>");
out.println(e.getMessage());
System.out.print(e.getMessage());//输出到控制台
}
%>
<c:catch var="error_Message"> //进行除0的错误捕捉
<h1><%=3/0 %>3/0</h1>
</c:catch>
<c:out value="${error_Message}" />//将捕捉到的错误信息输出到当前页面
</body>
</html>
运行结果如下:
page error
/ by zero
java.lang.ArithmeticException: / by zero
另外JSP还有一种错误页面的跳转,如下:
<%@page language="java" contentType="text/html" import="java.util.*" errorPage="error.jsp" %>
加了一句errorPage="error.jsp".
error.jsp代码如下:
<%@page language="java" contentType="text/html" isErrorPage="true" %>
<html>
<body>
<h1><%=exception.getMessage()%></h1>
</body>
</html>
此页面的重点是在第一句中加入isErrorPage="true" 句,默认情况下为false.
当时测试时如下代码:
<%=3/0%>,其它的什么都不用写,如果在当前页已指定了 errorPage="error.jsp"项则会进行跳转,目标为error.jsp页.我在测试时第一次执行JSP页面时是编辑不过去了, 报"http 500 内部服务器错误",如果将其中的0改成非0数则可通过,在执行期间再改回0是可以正常执行的,在我想来是jsp编辑的问题吧,也不愿意再深入研究了.
还有在web.xml中的处理方法,配置error-page项,如下两例:
<error-page>
<error-code>500</error-code>
<location>/error.jsp</location>
</error-page>
这是配置发生500错误(即服务器内部错误)时,跳转到错误处理页面error.jsp.
<error-page>
<exception-type>java.lang.NullException</exception-type>
<location>/error.jsp</location>
</error-page>
这是配置了当系统发生java.lang.NullPointerException(即空指针异常)时,跳转到错误处理页面error.jsp
另注意:<error-code>和 <exception-type>二选一,不能在同一个<error-page>上同时出现.