📜  JSP中的异常处理

📅  最后修改于: 2022-05-13 01:54:39.945000             🧑  作者: Mango

JSP中的异常处理

Java Server Pages 声明了 9 个隐式对象,异常对象就是其中之一。它是Java.lang.Throwable类的对象,用于打印异常。但是,它只能用于错误页面。

JSP 中有两种处理异常的方法。他们是:

  • 通过 page 指令的 errorPage 和 isErrorPage 属性
  • 通过 web.xml 文件中的 元素

使用页面指令属性处理异常

JSP 中的 page 指令提供了两个用于异常处理的属性。他们是:

  • errorPage : 用于站点发生异常时要显示的页面。
    句法 :
<%@page errorPage="url of the error page"%>
  • isErrorPage :用于将页面标记为显示异常的错误页面。
    句法 :
<%@page isErrorPage="true"%>

为了使用上述页面指令处理异常,重要的是要有一个jsp页面来执行正常的代码,这很容易出现异常。此外,将创建一个单独的错误页面,该页面将显示异常。如果异常发生在具有异常倾向代码的页面上,控件将被导航到将显示异常的错误页面。

以下是说明使用页面指令处理异常的示例:

索引.html

HTML



  Number1: Number2:  
 


Java
// JSP code to divide two numbers
<% @page errorPage = "error.jsp" %> < %
 
                                          String num1
    = request.getParameter("first");
String num2 = request.getParameter("second");
 
// extracting numbers from request
int x = Integer.parseInt(num1);
int y = Integer.parseInt(num2);
int z = x / y; // dividing the numbers
out.print("division of numbers is: " + z); // result
 
% >


Java
// JSP code for error page, which displays the exception
<% @page isErrorPage = "true" %>
 
    

Exception caught           The exception is : <%= exception %> // displaying the exception



HTML
 
   
  
  Type of Exception 
  Error page url 
   
    


HTML



  Number1: Number2:  
 


Java
// JSP code to divide two numbers
< %
 
        String num1
    = request.getParameter("first");
String num2 = request.getParameter("second");
// extracting the numbers
int x = Integer.parseInt(num1);
int y = Integer.parseInt(num2);
int z = x / y; // dividing
out.print("division of numbers is: " + z); // result
 
% >


Java
// JSP code for error page, which displays the exception
<%@ page isErrorPage="true" %> 
   

Exception caught

      // displaying the exception The exception is: <%= exception %>


HTML
 
   
  
  java.lang.Exception 
  /error.jsp 
   
    


一个jsp

Java

// JSP code to divide two numbers
<% @page errorPage = "error.jsp" %> < %
 
                                          String num1
    = request.getParameter("first");
String num2 = request.getParameter("second");
 
// extracting numbers from request
int x = Integer.parseInt(num1);
int y = Integer.parseInt(num2);
int z = x / y; // dividing the numbers
out.print("division of numbers is: " + z); // result
 
% >

错误.jsp

Java

// JSP code for error page, which displays the exception
<% @page isErrorPage = "true" %>
 
    

Exception caught           The exception is : <%= exception %> // displaying the exception

输出
索引.html

错误.jsp

使用 error-page 元素 En web.xml 文件处理异常

这是为每个元素指定错误页面的另一种方法,但可以使用元素在 web.xml 文件中指定每个页面的错误页面,而不是使用 errorPage 指令。语法如下:

HTML

 
   
  
  Type of Exception 
  Error page url 
   
    
 

以下示例说明了使用此技术处理异常:

索引.html

HTML




  Number1: Number2:  
 

一个.jsp

Java

// JSP code to divide two numbers
< %
 
        String num1
    = request.getParameter("first");
String num2 = request.getParameter("second");
// extracting the numbers
int x = Integer.parseInt(num1);
int y = Integer.parseInt(num2);
int z = x / y; // dividing
out.print("division of numbers is: " + z); // result
 
% >

错误.jsp

Java

// JSP code for error page, which displays the exception
<%@ page isErrorPage="true" %> 
   

Exception caught

      // displaying the exception The exception is: <%= exception %>

web.xml

HTML

 
   
  
  java.lang.Exception 
  /error.jsp 
   
    
 

在这种情况下,输出与前一个类似。