VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

JSP Tuts

JSP là gì? Học JSP cần chuẩn bị những gì? Kiến trúc JSP Vòng đời của JSP Cú pháp trong JSP Tạo ứng dụng JSP trên Eclipse MVC trong JSP Các đối tượng ẩn trong JSP Xử lý ngoại lệ trong JSP

8 Đối Tượng Ẩn Trong JSP

Đối tượng JSP Request Đối tượng JSP Response Đối tượng JSP Config Đối tượng JSP Page Đối tượng JSP PageContext Đối tượng JSP Application Đối tượng JSP Session Đối tượng JSP Exception
List Câu Hỏi Phỏng Vấn JSP
1 / 3
❮ ❯

Xử lý ngoại lệ trong JSP


Học servlet
Học java core

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 và isErrorPage của chỉ thị trang.
  2. Bởi phần tử <error-page> trong web.xml.

Nội dung chính

  • Ví dụ về xử lý ngoại lệ trong jsp bằng các thuộc tính của chỉ thị trang
    • Run ứng dụng trên
  • Ví dụ về xử lý ngoại lệ trong jsp bằng phần tử error-page của file 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.


Học servlet
Học java core

Recent Updates

Sắp Tết 2024 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2024?Lớp JSpinner trong Java SwingĐối tượng config trong JSPĐối tượng exception trong JSPĐối tượng page trong JSPĐối tượng pageContext trong JSPĐối tượng request trong JSPĐối tượng response trong JSPĐối tượng session trong JSPKiến trúc JSPMVC trong JSPTạo ứng dụng JSP trên EclipseVòng đời của JSP

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml