Latest web development tutorials

JSP Lifecycle

Kunci untuk memahami fungsi JSP mendasari adalah untuk memahami bahwa mereka mematuhi siklus hidup.

JSP adalah siklus hidup dari penciptaan kerusakan, mirip dengan siklus hidup servlet, kecuali bahwa siklus hidup JSP juga termasuk file JSP dikompilasi menjadi servlet.

Berikut ini adalah siklus hidup JSP dilalui beberapa tahap:

  • Kompilasi Tahap:

    servlet servlet source file kontainer kompilasi dihasilkan kelas servlet

  • fase inisialisasi:

    Memuat dan sesuai JSP kelas servlet, membuat sebuah contoh dan memanggil metode inisialisasi

  • Tahap implementasi:

    Contoh layanan panggilan servlet dan JSP metode yang sesuai

  • tahap kehancuran:

    Metode kehancuran panggilan dan sesuai JSP servlet misalnya, maka hancur contoh servlet

Jelas, empat tahap utama siklus hidup JSP dan siklus hidup servlet sangat mirip dengan ilustrasi di bawah:


kompilasi JSP

Ketika browser meminta halaman JSP, JSP mesin pertama akan perlu memeriksa apakah untuk mengkompilasi file. Jika file ini tidak dikompilasi, atau disusun berubah setelah terakhir kali, kemudian kompilasi file JSP.

Proses kompilasi melibatkan tiga langkah:

  • Parsing file JSP.
  • JSP file ke servlet.
  • Disusun servlet.

JSP Inisialisasi

Setelah wadah dimuat berkas JSP, itu panggilan metode jspInit () untuk permintaan sebelum memberikan layanan. Jika Anda perlu melakukan metode tugas inisialisasi JSP replikasi kustom jspInit () pada baris, seperti ini:

public void jspInit(){
  // 初始化代码
}

Secara umum, program diinisialisasi hanya sekali, servlet baik. Dalam keadaan normal, Anda dapat menginisialisasi koneksi database dalam metode jspInit (), membuka file dan membuat tabel query.


eksekusi JSP

Tahap ini menggambarkan siklus hidup JSP dari semua interaksi yang terkait dengan permintaan sampai hancur.

Ketika halaman inisialisasi JSP selesai, JSP engine akan memanggil () metode _jspService.

_jspService () metode memerlukan objek HttpServletRequest dan obyek HttpServletResponse sebagai parameter, seperti ini:

void _jspService(HttpServletRequest request,
                 HttpServletResponse response)
{
   // 服务端处理代码
}

Metode _jspService () disebut sekali untuk setiap permintaan dan bertanggung jawab untuk menghasilkan Sejalan respon, dan bertanggung jawab untuk menghasilkan tanggapan terhadap semua tujuh metode HTTP seperti GET, POST, DELETE, dan sebagainya.


pembersihan JSP

tahap kehancuran JSP siklus hidup menggambarkan segala sesuatu bila halaman JSP dihapus dari wadah terjadi.

jspDestroy () metode dalam JSP servlet setara dengan metode kehancuran. Bila Anda perlu melakukan pembersihan setiap duplikat () metode jspDestroy, seperti rilis koneksi database atau menutup folder, dan sebagainya.

jspDestroy metode Format () adalah sebagai berikut:

public void jspDestroy()
{
   // 清理代码
}

contoh

JSP siklus hidup dari contoh kode adalah sebagai berikut:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<html>
<head>
<title>life.jsp</title>
</head>
<body>

<%! 
  private int initVar=0;
  private int serviceVar=0;
  private int destroyVar=0;
%>
  
<%!
  public void jspInit(){
    initVar++;
    System.out.println("jspInit(): JSP被初始化了"+initVar+"次");
  }
  public void jspDestroy(){
    destroyVar++;
    System.out.println("jspDestroy(): JSP被销毁了"+destroyVar+"次");
  }
%>

<%
  serviceVar++;
  System.out.println("_jspService(): JSP共响应了"+serviceVar+"次请求");

  String content1="初始化次数 : "+initVar;
  String content2="响应客户请求次数 : "+serviceVar;
  String content3="销毁次数 : "+destroyVar;
%>
<h1>本教程 JSP 测试实例</h1>
<p><%=content1 %></p>
<p><%=content2 %></p>
<p><%=content3 %></p>

</body>
</html>

Browser membuka halaman, output adalah: