jsp第一次編譯(jsp編譯過程)

本文目錄一覽:

jsp文件第一次被執行時,jsp文件本身怎樣編譯執行

這個過程是由伺服器容器(如tomcat)將jsp文件編譯成servlet,包含service()方法。當JSP引擎處理客戶端請求時,當JSP引擎處理客戶端請求時,JSP scriptlets在被請求的時候被執行。如果scriptlet產生輸出,輸出將在out (JSPWriter)對象中進行緩存然後最終發送到客戶端。

我知道jsp第一次被編譯為servlet比較慢,那麼只有jsp被修改了一點點是不是就要全部重新編譯啊

是的…jsp 會被編譯(解析…字元串替換?)為servlet在進行編譯為位元組碼文件.

jsp為什麼會編譯一次

你先熟悉一下jsp 的工作原理吧,

在一個JSP文件第一次被請求時,JSP引擎把該JSP文件轉換成為一個servlet。而這個引擎本身也是一個servlet,在JSWDK或WEBLOGIC中,它就是JspServlet。 JSP引擎先把該JSP文件轉換成一個Java源文件,在轉換時如果發現jsp文件有任何語法錯誤,轉換過程將中斷,並向服務端和客戶端輸出出錯信息;如果轉換成功, JSP引擎用javac把該Java源文件編譯成相應的class文件。然後創建一個該SERVLET的實例,該SERVLET的jspInit()方法被執行,jspInit()方法在servlet的生命周期中只被執行一次。然後jspService()方法被調用來處理客戶端的請求。對每一個請求,JSP引擎創建一個新的線程來處理該請求。如果有多個客戶端同時請求該JSP文件,則JSP引擎會創建多個線程。每個客戶端請求對應一個線程。以多線程方式執行可大大降低對系統的資源需求,提高系統的並發量及響應時間.但應該注意多線程的編程限制,由於該servlet始終駐於內存,所以響應是非常快的。如果.jsp文件被修改了,伺服器將根據設置決定是否對該文件重新編譯,如果需要重新編譯,則將編譯結果取代內存中的servlet,並繼續上述處理過程。雖然JSP效率很高,但在第一次調用時由於需要轉換和編譯而有一些輕微的延遲。此外,如果在任何時候如果由於系統資源不足的原因,JSP引擎將以某種不確定的方式將servlet從內存中移去。當這種情況發生時jspDestroy()方法首先被調用, 然後servlet實例便被標記加入”垃圾收集”處理。 jspInit()及jspDestory()格式如下:可在jspInit()中進行一些初始化工作,如建立與資料庫的連接,或建立網路連接,從配置文件中取一些參數等,在jspDestory()中釋放相應的資源

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/311224.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-05 13:23
下一篇 2025-01-05 13:23

相關推薦

  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • 如何使用Python執行Shell命令並獲取執行過程信息

    本文將介紹如何使用Python執行Shell命令並獲取執行過程信息。我們將從以下幾個方面進行闡述: 一、執行Shell命令 Python內置的subprocess模塊可以方便地執行…

    編程 2025-04-28
  • Python調用C代碼過程用法介紹

    本文將從多個方面詳細闡述Python調用C代碼的過程,包括相關的知識點、實例代碼以及注意事項等內容。 一、概述 Python作為一門高級語言,在很多情況下不能滿足開發人員的需求。此…

    編程 2025-04-27
  • Python自動搶購代碼實現過程

    本文將詳細介紹使用Python實現自動搶購的代碼實現過程。 一、安裝selenium庫 Selenium是一個自動化測試框架,可以在瀏覽器中模擬用戶操作,可以用來實現自動搶購。 首…

    編程 2025-04-27
  • 為什麼web項目的歡迎頁必須是jsp?

    在web項目中,歡迎頁通常是用戶首次訪問的頁面。而對於這個頁面的選擇,我們通常會選擇jsp作為歡迎頁,其原因是什麼呢? 一、JSP的優勢 JSP與HTML和CSS的結合,可以實現動…

    編程 2025-04-25
  • 詳解Base64加密解密過程

    一、Base64加密解密的簡介 Base64是一種基於64個可列印字元來表示二進位數據的表示方法,主要應用於電子郵件、網頁傳輸、音樂播放器等多媒體文件的傳輸和保存.由於Base64…

    編程 2025-04-22
  • JSP菜鳥教程詳解

    一、JSP介紹 JSP全稱Java Server Pages,是一種動態網頁技術,它可以將Java代碼嵌入HTML頁面,實現動態頁面的功能。 下面是一個JSP頁面的簡單示例: He…

    編程 2025-04-12
  • 五大過程組十大知識領域

    項目管理是在一定的資源限制下,通過有組織、系統、科學的管理方法,以預期的目標為導向,全面協調利用各種資源,使持續不斷的創造出符合客戶期望的成果的過程。而項目管理的核心內容就是五大過…

    編程 2025-04-12
  • 面向過程與面向對象的對比分析

    一、面向過程與面向對象的基本概念 面向過程和面向對象是兩種不同的程序設計方法,面向過程是一種以執行過程為中心進行設計和編寫的程序設計方法,它主要強調把數據和函數分開處理,利用流程式控制…

    編程 2025-04-12
  • Vue渲染過程詳解

    一、初始化實例 在Vue渲染過程的開始階段,首先需要進行實例化操作,即建立Vue實例。 這個過程中,Vue會將數據對象進行響應式處理,即將數據對象變成Observer對象,並添加監…

    編程 2025-02-25

發表回復

登錄後才能評論