VietTuts

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

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test

Servlet Tuts

Servlet là gì? Tại sao bạn nên biết Servlet? Cài đặt môi trường Servlet Vòng đời của Servlet Tạo ứng dụng Servlet trên Eclipse Xử lý Form trong Servlet Ví dụ phương thức GET sử dụng URL Ví dụ phương thức GET sử dụng FORM Ví dụ phương thức POST sử dụng FORM Ví dụ truyền CheckBox trong Servlet Ví dụ đọc tất cả các tham số của Form trong Servlet Request trong Servlet Response trong Servlet HTTP Status Codes Xử lý cookies trong Servlet Session tracking trong Servlet Page redirect trong Servlet
List Câu Hỏi Phỏng Vấn Servlet

Vòng đời của Servlet


Cài đặt môi trường Servlet
Tạo ứng dụng Servlet trên Eclipse

Một vòng đời của servlet có thể được định nghĩa là toàn bộ quá trình từ khi tạo ra đến khi hủy. Sau đây là tổng quan về vòng đời của servlet:

  • Servlet được khởi tạo bằng cách gọi phương thức init ().
  • Phương thức servlet service() được gọi để xử lý yêu cầu của khách hàng.
  • Servlet được hủy bằng cách gọi phương thức destroy().
  • Cuối cùng, servlet được thu thập bởi bộ sưu tập rác của JVM.

Dưới đây là chi tiết về các phương thức trong vòng đời của servlet.


Nội dung chính

  • Phương thức init()
  • Phương thức service()
  • Phương thức doGet()
  • Phương thức doPost()
  • Phương thức destroy()
  • Sơ đồ kiến trúc

Phương thức init()

Phương thức init() được gọi chỉ một lần để khởi tạo servlet. Vì vậy, nó được sử dụng cho khởi tạo một lần, giống như với các phương thức init của applet.

Servlet thường được tạo khi người dùng lần đầu tiên gọi một URL tương ứng với servlet, nhưng bạn cũng có thể chỉ định rằng servlet được tải khi máy chủ được khởi động lần đầu tiên.

Khi một người dùng gọi một servlet, một thể hiện duy nhất của mỗi servlet sẽ được tạo ra, với mỗi yêu cầu của người dùng tạo ra một luồng mới được trao cho doGet hoặc doPost. Phương thức init() chỉ đơn giản tạo hoặc tải một số dữ liệu sẽ được sử dụng trong suốt vòng đời của servlet.

Định nghĩa phương thức init giống như thế này:

public void init() throws ServletException {
   // Initialization code...
}


Phương thức service()

Phương thức service() là phương thức chính để thực hiện nhiệm vụ thực tế. Bộ chứa servlet (tức là web server) gọi phương thức service() để xử lý các yêu cầu đến từ khách hàng (trình duyệt) và trả về kết quả.

Mỗi lần máy chủ nhận được một yêu cầu cho một servlet, máy chủ sẽ tạo ra một luồng mới và gọi phương thức service(). Phương thức service() kiểm tra kiểu yêu cầu HTTP (GET, POST, PUT, DELETE, v.v.) và gọi các phương thức doGet, doPost, doPut, doDelete, vv.

Đây là khai báo của phương thức này:

public void service(ServletRequest request, ServletResponse response) 
   throws ServletException, IOException {
}

Phương thức service() được gọi bởi phương thức container và service gọi các phương thức doGet, doPost, doPut, doDelete, vv. Vì vậy, bạn không cần phải làm gì với phương thức service() nhưng bạn phải ghi đè phương thức doGet() hoặc doPost() phụ thuộc vào loại yêu cầu bạn nhận được từ khách hàng.

Các phương thức doGet() và doPost() là các phương thức được sử dụng phổ biến nhất để đáp ứng yêu cầu của máy khách. Dưới đây là khai báo của hai phương thức này.


Phương thức doGet()

Một yêu cầu GET xuất phát từ một yêu cầu bình thường cho một URL hoặc từ một HTML Form mà không có METHOD chỉ định và nó phải được xử lý bằng phương thức doGet().

public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   // Servlet code
}


Phương thức doPost()

Yêu cầu POST xuất phát từ một HTML Form cụ thể mà có METHOD là POST và nó phải được xử lý bởi phương thức doPost().

public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
   // Servlet code
}

Phương thức destroy()

Phương thức destroy() chỉ được gọi một lần vào cuối chu kỳ sống của một servlet. Phương thức này cho phép servlet đóng kết nối cơ sở dữ liệu, chặn các luồng chạy gầm, viết các cookie hoặc đếm số lượt truy cập và thực hiện các hoạt động dọn dẹp khác.

Sau khi phương thức destroy() được gọi, đối tượng servlet được đánh dấu để thu gom rác. Phương thức destroy() được định nghĩa như sau:

public void destroy() {
   // Finalization code...
}

Sơ đồ kiến trúc

Hình dưới đây mô tả vòng đởi của servlet điển hình:

  • Đầu tiên các yêu cầu HTTP đến máy chủ được ủy quyền cho bộ chứa servlet.
  • Bộ chứa servlet tải servlet trước khi gọi phương thức service().
  • Sau đó, servlet container xử lý nhiều yêu cầu bằng cách sinh ra nhiều luồng, mỗi luồng thực hiện service() của một thể hiện duy nhất của servlet.
Vòng đời của Servlet
Cài đặt môi trường Servlet
Tạo ứng dụng Servlet trên Eclipse

Recent Updates

Servlet là gì?Cài đặt môi trường ServletHTTP Status CodesPage redirect trong ServletRequest trong ServletResponse trong ServletSession tracking trong ServletTạo ứng dụng Servlet trên EclipseVí dụ đọc tất cả Parameters của Form trong ServletVí dụ phương thức GET sử dụng FormVí dụ phương thức GET sử dụng URLVí dụ phương thức POST sử dụng Form

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
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

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

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

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