Cách hoạt động của JSP (Vòng đời của JSP)

Tiếp tục với loạt bài hướng dẫn về Lập trình web với jsp-serlvet.Bài này chúng ta cùng nhau tìm hiểu về cách hoạt động của JSP hay là vòng đời của JSP nhé.Ở bài trước,tôi đã viết cũng như giới thiệu về JSP.

Một trang JSP được chuyển đổi thành Servlet để yêu cầu dịch vụ. Bản dịch của một trang JSP với một Servlet được gọi là chu kỳ sống của JSP.Sau đây là các bước của vòng đời JSP:

  1. Dịch JSP Servlet mã.
  2. Biên soạn Servlet để bytecode.
  3. Tải lớp Servlet.
  4. Tạo Lớp servlet.
  5. Khởi tạo bằng cách gọi phương thức jspInit()
  6. Xử lý yêu cầu bằng cách gọi phương thức _jspService()
  7. Phá hoại bằng cách gọi phương thức jspDestroy()

Vòng đời của JSP

Web container dịch mã JSP vào một tập tin của lớp servlet (.java) , sau đó biên dịch đó vào một lớp java servlet. Trong bước thứ ba, các bytecode của lớp servlet được nạp bằng cách sử classloader. Các container sau đó tạo ra một thể hiện của lớp servlet.

Servlet khởi tạo và có thể phục vụ các yêu cầu. Đối với mỗi yêu cầu container Web nó gọi phương thức _jspService (). Sau đó nó gọi phương thức jspDestroy () để xóa đi các yêu cầu.

Điều gì xảy ra khi một trang JSP được dịch sang Servlet

Hãy xem những gì thực sự xảy ra với mã JSP khi nó được dịch sang Servlet. Các mã được viết bên trong <% %> là mã JSP.

<html>
    <head>
        <title>My First JSP Page</title>
    </head>
   <%
       int count = 0;
   %>
  <body>
        Page Count is:  
        <% out.println(++count); %>   
  </body>
</html>

Các trang JSP trên (hello.jsp) trở thành Servlet này

public class hello_jsp extends HttpServlet
{
  public void _jspService(HttpServletRequest request, HttpServletResponse response) 
                               throws IOException,ServletException
   {
      PrintWriter out = response.getWriter();
      response.setContenType("text/html");
      out.write("<html><body>");
      int count=0;
      out.write("Page count is:");
      out.print(++count);
      out.write("</body></html>");

   }
}

Đây chỉ là ví dụ để giải thích những gì xảy ra bên trong nội bộ. Là một nhà phát triển JSP, bạn không phải lo lắng về việc làm thế nào một trang JSP được chuyển đổi sang một Servlet, vì nó được thực hiện tự động.

 

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
x