JSP LIFE CYCLE


1. JSP life cycle
Với request đầu tiên sau khi được deploy, JSP phải trải qua 2 step là translation và compilation- Translation: translate jsp sang servlet. JSP syntax được kiểm tra tại step này- Compilation: container compile servlet sang bytecode (.class file). Java language/syntax được kiểm tra tại step này.
Sau đây là các giai đoạn trong vòng đời của của một JSP:JSP translate thành Servlet bao gồm 3 methods sau:
  1. jspInit(): được gọi bởi init() method (từ HttpServlet), method này có thể được override
  2. jspDestroy(): được gọi bởi destroy() method, method này cũng có thể được override
  3. _jspService(): được gọi bởi service() method, method này không nên override
Chú ý: Những method bắt đầu bằng underscore (_) có nghĩa không nên override


Giai đoạn chủ yếu trong vòng đời của JSP là tương tự như vòng đời của Servlet và chúng như sau:
Khi môt trình duyệt yêu cầu một JSP, đầu tiên JSP engine kiểm tra để biết có hay không nó cần biên dịch trang này. Nếu trang chưa được biên dịch, hoặc nếu JSP đã được sửa đổi từ lần sửa đổi cuối cùng, thì JSP engine biên dịch trang này.
Tiến trình biên dịch gồm 3 bước:
  1. Parse một JSP
  2. Biên dịch JSP thành một Servlet
  3. Biên dịch Servlet đó.

Phương thức jspInit(): Khi một container tải một JSP, nó gọi phương thức jspInit() trước khi phục vụ bất kỳ yêu cầu nào. Nếu bạn cần thực hiện sự khởi tạo JSP riêng, ghi đè:
public void jspInit(){
 
// Initialization code...
}
Phương thức _jspService() Nét đặc trưng là, việc khởi tạo được thực hiện chỉ một lần và với phương thức int của Servlet, nói chung bạn khởi tạo các kết nối Database, mở các file, và tạo các bảng tra cứu trong phương thức jspInit.
Giai đoạn này trong vòng đời JSP biểu diễn tất cả các tương tác với Request tới khi JSP đó bị hủy.
Bất cứ khi nào một trình duyệt yêu cầu một JSP và trang đã được tải và được khởi tạo, thì JSP engine triệu hồi phương thức _jspService() trong JSP đó.
     
void _jspService(HttpServletRequest request,
                
HttpServletResponse response)
{
  
// Service handling code... }

Phương thức _jspService() nhận một HttpServletRequest và một HttpServletResponse như là các tham số của nó.

Phương thức _jspService() của một JSP được triệu hồi một lần cho mỗi yêu cầu và nó chịu trách nhiệm tạo Response cho Request đó và phương thức này cũng chịu trách nhiệm tạo các phản hồi tới tất cả 7 phương thức của HTTP, ví dụ: GET, POST, DELETE, …
Giai đoạn hủy một JSP trong vòng đời JSP biểu thị khi nào thì một JSP bị gỡ bỏ khỏi một container.
Phương thức jspDestroy() trong JSP là phương thức hủy tương đương với trong Servlet. Ghi đè phương thức jspDestroy khi bạn cần thực hiện bất kỳ quá trình hủy nào, ví dụ như giải phóng kết nối với Database, hoặc đóng các file.

Phương thức jspDestroy() 
public void jspDestroy()
{
  
// Your cleanup code goes here.
}
     Khai báo phương thức thực hiện nhiệm vụ
  • Đọc tham số cấu hình
  • Giải phóng tài nguyên
  • Thực hiện bất kỳ công việc dọn dẹp nào bằng cách override phương thức jspDestroy() của giao diện jspPage
     Giai đoạn hủy một JSP trong vòng đời JSP biểu thị khi nào thì một JSP bị gỡ bỏ khỏi một container.

     Phương thức jspDestroy() trong JSP là phương thức hủy tương đương với trong Servlet. Ghi đè phương thức jspDestroy khi bạn cần thực hiện bất kỳ quá trình hủy nào, ví dụ như giải phóng kết nối với Database, hoặc đóng các file.
Phương thức jspDestroy() có form sau: 

2. Tổng hợp

  • JSPs Làm việc cùng với các servlet để xử lý yêu cầu của khách hàng và đáp ứng chúng. Các yêu cầu và đáp ứng của khách hàng là các yêu cầu và đáp ứng của HTTP .
  • Sử dụng JSP thuận tiện do nền tảng độc lập và tính di động của Java
  • Khi chạy, JSP được chuyển đổi thành các servlet và thực thi.
  • JSP có một kho lưu trữ của thẻ để thực hiện các chức năng khác nhau được gọi là JSTL
  • EL được sử dụng để đánh giá biểu thức JSP như vậy mà chúng tương thích với JSFs.
  • Ưu điểm của JSP :
  • JSP có thể chạy trên nhiều hệ điều hành khác nhau
  • Có tất cả lợi thế của java và khiến trang HTML tĩnh trở nên năng động hơn
  • Thiết kế giao diện web trở nên dễ dàng
  • JSP luôn biên dịch trước khi nó được xử lý bởi các máy chủ
  • Nhược điểm của JSP :
  • Khó kiểm tra lỗi vì vừa phải đóng vai trò như view lẫn controller 

Comments

Popular Posts