Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Xu Ly Ngoai Le Trong Jsp2023 04 12 12 15 39

Tìm kiếm
Thuộc khóa học · baihoc_sub = 54

JSP cơ bản

Bài 1 / 1 trong khóa học.

Xem khóa học
100%
Bài trướcĐây là bài đầu tiên Bài sauĐây là bài cuối cùng
MT LEARNING · LESSON

Xử lý ngoại lệ trong JSP

Xử lý ngoại lệ trong JSP

Xử lý ngoại lệ trong JSP

Xử lý ngoại lệ trong JSP



Ngoại lệ thường là một đối tượng bị ném ra khi chạy. Xử lý ngoại lệ là quá trình xử lý các lỗi runtime. Ngoại lệ có thể xảy ra bất kỳ lúc nào trong ứng dụng web. Vì vậy xử lý ngoại lệ là một việc khá quan trọng để duy trì web hoạt động bình thường. Có hai cách để thực hiện xử lý ngoại lệ trong JSP:

  1. Bởi các thuộc tính errorPage isErrorPage của chỉ thị trang.
  2. Bởi phần tử <error-page> trong web.xml.

Ví dụ về xử lý ngoại lệ trong jsp bằng các thuộc tính của chỉ thị trang

Trong trường hợp này, bạn phải xác định và tạo một trang để xử lý các ngoại lệ, như trong trang error.jsp. Các trang có thể xảy ra ngoại lệ, định nghĩa thuộc tính errorPage, như trong trang process.jsp.

File: index.jsp

 <%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%> <!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=UTF-8"> <title>Vi du ve xu ly ngoai le trong JSP</title> </head> <body>   <form action="process.jsp">     Number 1:<input type="text" name="n1" /><br><br>      Number 2:<input type="text" name="n2" /><br> <br>      <input type="submit" value="Chia" />   </form> </body> </html> 

File: process.jsp

 <!-- chỉ định errorPage để xử lý ngoại lệ --> <%@ page errorPage="error.jsp"%> <%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%> <!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=UTF-8"> <title>Process page</title> </head> <body>   <%       String num1 = request.getParameter("n1");       String num2 = request.getParameter("n2");        int a = Integer.parseInt(num1);       int b = Integer.parseInt(num2);       int c = a / b;       out.print(a + " chia " + b + " = " + c);   %> </body> </html> 

File: error.jsp

 <!-- chỉ định isErrorPage để xử lý ngoại lệ --> <%@ page isErrorPage="true"%> <%@ page language="java" contentType="text/html; charset=UTF-8"   pageEncoding="UTF-8"%> <!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=UTF-8"> <title>Error page</title> </head> <body>   <h3>Sorry an exception occured!</h3>   <p>Exception is:</p>   <%=exception%> </body> </html> 

Run ứng dụng trên

TH ngoại lệ xảy ra:

Xử lý ngoại lệ trong JSP

Click button Chia -> ngoại lệ xảy ra -> hiển thị lỗi thông qua trang error.jsp.

Xử lý ngoại lệ trong JSP

TH không có ngoại lệ:

Xử lý ngoại lệ trong JSP

Click button Chia.

Xử lý ngoại lệ trong JSP

Ví dụ về xử lý ngoại lệ trong jsp bằng phần tử error-page của file web.xml

Cách tiếp cận này là tốt hơn bởi vì bạn không cần phải xác định thuộc tính errorPage trong mỗi trang jsp. Trong trường hợp này, hãy xác định loại ngoại lệ hoặc mã lỗi cùng với phần tử location. Nếu bạn muốn xử lý tất cả các ngoại lệ, bạn phải chỉ định java.lang.Exception trong các phần tử exception-type. Hãy xem ví dụ đơn giản:

Có 4 file sau trong ví dụ này:

  • web.xml để xác định phần tử trang lỗi.
  • index.jsp cho các giá trị đầu vào.
  • process.jsp để chia hai con số và hiển thị kết quả.
  • error.jsp để hiển thị ngoại lệ.

File web.xml:

Nếu bạn muốn xử lý bất kỳ ngoại lệ nào:

 <error-page>     <exception-type>java.lang.Exception</exception-type>     <location>/error.jsp</location> </error-page> 

Nếu bạn muốn xử lý ngoại lệ cụ thể:

 <error-page>     <error-code>500</error-code>     <location>/error.jsp</location> </error-page> 

File index.jsp như trong ví dụ trên.

File process.jsp

 <%     String num1 = request.getParameter("n1");     String num2 = request.getParameter("n2");      int a = Integer.parseInt(num1);     int b = Integer.parseInt(num2);     int c = a / b;     out.print(a + " chia " + b + " = " + c); %> 

File error.jsp như trong ví dụ trên.



ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.

Bài học liên quan

Các bài khác có cùng khóa học cha theo baihoc_sub.

Home Dịch vụ Khóa học CPanel