Latest web development tutorials

Жизненный цикл JSP

Ключ к пониманию лежащей в основе функции JSP, чтобы понять, что они соответствуют жизненного цикла.

JSP является жизненный цикл от создания до уничтожения, подобно сервлет жизненного цикла, за исключением того, что жизненный цикл JSP также включает в себя файл JSP компилируется в сервлет.

Ниже приводится жизненный цикл JSP, проходимого несколько этапов:

  • Обобщение фазы:

    сервлет сервлетные источник контейнер компилировать файлы генерируются класса сервлета

  • Фаза инициализации:

    Загрузка и соответствующий JSP класс сервлета, создать экземпляр и вызвать его метод инициализации

  • Этап реализации:

    Примеры обслуживания вызовов сервлетов и JSP соответствующий метод

  • Этапы уничтожения:

    Метод Разрушения вызова и соответствующий экземпляр сервлета JSP, а затем уничтожили сервлетного экземпляр

Очевидно, что четыре основные этапы жизненного цикла JSP и сервлетов жизненного цикла очень похож на иллюстрации ниже:


JSP сборник

Когда браузер запрашивает страницу JSP, JSP двигатель будет в первую очередь необходимо проверить, является ли для компиляции файла. Если этот файл не составлен, или компиляции был изменен после того, как в последний раз, а затем скомпилировать файлы JSP.

Процесс компиляции состоит из трех этапов:

  • Разбор JSP-файлы.
  • JSP-файла в сервлет.
  • Составитель сервлет.

JSP Инициализация

После того, как контейнер был загружен файл JSP, он вызывает метод jspInit () для запроса до предоставления каких-либо услуг. Если вам необходимо выполнить метод задачи инициализации JSP jspInit пользовательских репликации () на линии, как это:

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

В целом, программа инициализируется только один раз, сервлет хорошо. При нормальных обстоятельствах, вы можете инициализировать соединение с базой данных в методе jspInit (), открыть файл и создать таблицу запроса.


выполнение JSP

На этом этапе описывается жизненный цикл JSP всех взаимодействий, связанных с запросом, пока не будет уничтожен.

При инициализации JSP страница будет завершена, JSP двигатель будет вызывать метод _jspService ().

_jspService () метод требует объект HttpServletRequest и объект HttpServletResponse в качестве параметра, например:

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

Метод _jspService () вызывается один раз для каждого запроса и отвечает за генерацию Соответственно ответ, и он отвечает за формирование ответов на все семь методов, таких как HTTP GET, POST, DELETE, и так далее.


JSP зачистка

стадия разрушения описывает жизненный цикл JSP все, когда страница JSP удаляется из контейнера произошло.

Метод jspDestroy () в сервлет эквиваленте JSP к методам уничтожения. Если вам необходимо выполнить очистку дублировать метод jspDestroy (), например, как освобождение соединения с базой данных или закрыть папку, и так далее.

Метод Формат jspDestroy () выглядит следующим образом:

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

примеров

JSP, жизненный цикл примеров кода следующим образом:

<%@ 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>

Браузер открывает страницу, выход: