首頁 Java java教程 jsp運作原理是什麼

jsp運作原理是什麼

May 20, 2019 pm 06:17 PM
jsp

JSP是Servlet的擴充,JSP沒出現之前,就已經出現了Servlet技術.Servlet是利用了"輸出流",動態的生成了HTML頁面。包括 每個HTML標籤和所有的HTML頁面中出現的內容,簡單點說就是利用Servlet的輸出流將HTML標籤產生一個HTML頁面。由於時間長了Servlet包含了大量的HTML標籤、大量的靜態文字及格式等,導致了Servlet的開發效率非常低下.

jsp運作原理是什麼

這時候JSP誕生了,JSP彌補了這種情況,JSP通過在標準的THML頁面中嵌入JAVA代碼,使其靜態的部分無需JAVA程序控制,只有那些需要從數據庫讀取或需要動態生成的頁面內容,才使用JAVA腳本控制。

JSP主要是由兩部分組成:

(1)靜態部分:標準的HTML標籤、靜態的頁面內容,這些內容與靜態HTML頁面相同.

(2)動態部分:Java程式控制的內容,這些內容由Java程式來動態產生。

下面是一個最簡單的一段jsp程式碼:

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<html>
    <head>
        <title>欢迎</title>
    </head>
    <body>
        欢迎学习Java JSP!现在时间是:<%out.println(new java.util.Date());%>
    </body>
</html>
登入後複製

頁面中粗體字碼放在<%和%>之間,表示這些是Java腳本,而不是靜態內容,透過這種方式就可以把Java程式碼嵌入HTML頁面中,這就變成了動態的JSP頁面。從表面上來分析,JSP頁面已經不再需要Java類別,似乎感覺完全脫離了Java物件導向的特徵了,但是,實際上JSP是Servlet的一種特殊的形式,每一個JSP的頁面就是一個Servlet的實例。

工作原理

(1)當使用者造訪一個JSP頁面時,回想一個Servlet容器(Tomcat)發出請求;

(2)如果是第一次請求頁面,或頁面有所改動,則servlet容器首先要把JSP頁面(假設為test.jsp)轉換為Servlet程式碼(test.java),再將其轉換為(test. class檔案);因為這個過程(編譯)會耗費一定時間,所以第一次存取或jsp檔案有改動時,存取時間有些長;

(3)JSP容器負責呼叫從JSP轉換來的servlet,這些servlet負責提供服務相應用戶請求(例如客戶端發送表單,要求servlet:formprocessor.java來處理,則容器會建立一個線程,調用formprocessor.java來處理該請求);如果用戶有多個請求,則容器會建立多個執行緒處理多個請求;

(4)容器執行字節碼檔案(包括呼叫的servlet:formprocessor.java位元組嗎),並將其結果傳回客戶端; (回傳的最終方式是有servlet輸出html格式的檔案流)

註解:

JSP頁面必須在JSP伺服器內運作,如tomcat weblogic,jboss等等.(順便說一下,apache 和tomcat是兩碼事兒,有不少人認為
apache就是tomcat,其實是錯誤的理解!~,tomcat只是apache中的一個子項目,apache是​​作為WEB應用伺服器,而tomcat可以說是JSP或Servlet的一個web容器);
JSP頁面的訪客無須安裝任何客戶端,甚至不需要可以運行Java的運行環境,因為JSP頁面輸送到客戶端的是標準HTML頁面。

相關學習推薦:java基礎教學

以上是jsp運作原理是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

jsp是屬於前端還是後端 jsp是屬於前端還是後端 Jan 28, 2023 pm 06:23 PM

jsp屬於後端。 jsp的本質是一種servlet,而servlet又是伺服器端的java應用程序,所以jsp是屬於後端的技術。 JSP部署於網頁伺服器上,可回應客戶端所傳送的請求,並依照請求內容動態地產生HTML、XML或其他格式文件的Web網頁,然後傳回給請求者。 JSP技術以Java為腳本語言,為使用者HTTP請求提供服務,並能與伺服器上的其它Java程式共同處理複雜的業務需求。

jsp和html區別在哪 jsp和html區別在哪 Jan 09, 2024 am 10:46 AM

jsp和html區別:1、運作機制;2、用途;3、與Java的關係;4、功能;5、與後端的關係;6、速度;7、可維護性和擴展性;8、學習和使用的難易度;9、文件後綴和識別工具;10、社區和支持;11、安全性。詳細介紹:1、運行機制,HTML是一種標記語言,主要用於描述和定義網頁的內容,它運行在客戶端,由瀏覽器解釋執行,JSP是一種動態網頁技術,運行在伺服器端等等。

SpringBoot專案如何整合JSP SpringBoot專案如何整合JSP May 12, 2023 pm 07:40 PM

新建好springboot專案以後目錄如下:第一步:在專案的pom檔案中加入設定jsp所需的jar套件程式碼:org.apache.tomcat.embedtomcat-embed-jasperprovided第二步:在main路徑下新建目錄webapp ,在webapp下新建路徑WEB-INF,在WEB-INF下新建路徑jsp,在這個路徑下放置我們要使用的jsp檔案第三步:在主設定檔中設定jsp檔案的存取路徑和後綴程式碼:spring .mvc.view.prefix=/WEB-INF/jsp/sp

如何用jsp+mysql實現網頁的分頁查詢 如何用jsp+mysql實現網頁的分頁查詢 May 30, 2023 pm 03:58 PM

一、實作分頁查詢的核心sql語句(1)查詢資料庫的記錄總數的sql語句:selectcount(*)from+(表名);(2)每次查詢的記錄數的sql語句:其中:0是搜尋的索引,2是每次查找的條數。 select*from表名limit0,2;二、程式碼實作*上篇寫過這兩個類,DBconnection類:用於取得資料庫連接,Author物件類別。這兩個類別的程式碼點擊連接查看。點選連結查看DBconnection類別和Author物件類別(1)登入頁面:index.jsp。 Inserttitlehere用戶列

JSP能否被PHP取代? JSP能否被PHP取代? Mar 21, 2024 am 11:03 AM

JSP能否被PHP取代? JSP(JavaServerPages)和PHP(HypertextPreprocessor)都是常用的伺服器端腳本語言,用於動態產生網頁內容。雖然它們各有特色和優勢,但在實際應用中,是否可以完全取代對方?本文將分析兩者的優缺點,並透過具體的程式碼範例進行比較。首先,我們來看看JSP和PHP各自的特色。 JSP是一種基於Java的

jsp分頁功能怎麼實現 jsp分頁功能怎麼實現 Mar 04, 2024 pm 04:40 PM

實現步驟:1、在JSP頁面中引入JSTL標籤庫;2、從資料庫取得資料;3、對資料進行分頁處理;4、在頁面中顯示分頁導覽條;5、根據目前頁碼和每頁顯示數量,從分頁後的資料中取得對應的資料並顯示在頁面上即可。

jsp是什麼格式的文件 jsp是什麼格式的文件 Jan 24, 2024 pm 04:01 PM

JSP是一種動態網頁技術標準,其檔案格式是在傳統的網頁HTML檔案(.htm,.html)中插入Java程式段(Scriptlet)和JSP標記(tag),從而形成JSP檔案(*.jsp )。

PHP能否替換JSP的功能? PHP能否替換JSP的功能? Mar 20, 2024 pm 03:45 PM

PHP能否替換JSP的功能?隨著Web開發技術的不斷發展,開發人員經常面臨選擇合適的伺服器端語言來實現他們的專案需求。在這方面,PHP和JSP是兩種常見的選擇。 JSP是JavaServerPages的縮寫,它是基於Java的伺服器端技術,而PHP則是一種伺服器端腳本語言。本文將探討PHP是否能夠取代JSP的功能,並提供一些具體的程式碼範例來幫助讀者更好地

See all articles