<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://wiki.hakka.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=JSP</id>
	<title>JSP - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hakka.ima.org.tw/w/index.php?action=history&amp;feed=atom&amp;title=JSP"/>
	<link rel="alternate" type="text/html" href="https://wiki.hakka.ima.org.tw/w/index.php?title=JSP&amp;action=history"/>
	<updated>2026-07-02T10:24:15Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.hakka.ima.org.tw/w/index.php?title=JSP&amp;diff=36857&amp;oldid=prev</id>
		<title>TaiwanTonguesApiRobot：​從 JSON 檔案批量匯入</title>
		<link rel="alternate" type="text/html" href="https://wiki.hakka.ima.org.tw/w/index.php?title=JSP&amp;diff=36857&amp;oldid=prev"/>
		<updated>2025-08-23T09:02:12Z</updated>

		<summary type="html">&lt;p&gt;從 JSON 檔案批量匯入&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;JSP&amp;#039;&amp;#039;&amp;#039;（全部講&amp;#039;&amp;#039;&amp;#039;J&amp;#039;&amp;#039;&amp;#039;akarta&amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;erver&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;ages，頭過安到&amp;#039;&amp;#039;&amp;#039;J&amp;#039;&amp;#039;&amp;#039;ava&amp;#039;&amp;#039;&amp;#039;S&amp;#039;&amp;#039;&amp;#039;erver&amp;#039;&amp;#039;&amp;#039;P&amp;#039;&amp;#039;&amp;#039;ages） 係由 Sun Microsystems 公司主導建立个一種動態網頁技術標準。JSP 部署在網路伺服器頂項，做得回應著客戶端傳送个要求，還過根據請求內容動態地生成 HTML、XML 無就佢佢格式文件个 Web 網頁，這下愛轉到分求者。JSP 技術以 Java 語言做為手稿語言，為使用者个 HTTP 拜託提供服務，還過做得摎伺服器頂項个其他 Java 程式共同處理複雜个業務需求。&lt;br /&gt;
&lt;br /&gt;
JSP 將 Java 程式碼和特定變動內容嵌入到靜態个頁面內容內容，實現用靜態頁面為模板，動態生成其中个部分內容。JSP 引入了分人喊做「JSP 動作」个 XML 標籤，用來唩唩喊內建功能。另外，做得建立 JSP 標籤庫，過仔像使用標準 HTML 抑係 XML 標籤共樣使用佢兜。標籤庫做得增強功能摎伺服器效能，毋會受著跨平台問題个限制。JSP 檔案在執行个時節會分佢編譯器轉換做還較原始个 Servlet 程式碼。JSP 編譯器做得摎 JSP 檔案編譯成用 Java 程式碼寫个 Servlet，還過再由 Java 編譯器來編譯做能當遽執行个二進位機器碼，乜做得直接編譯成二進位仔。&lt;br /&gt;
&lt;br /&gt;
==綜合講个==&lt;br /&gt;
&lt;br /&gt;
JSP 從二千五百空个版本開始，增加吔表達式語言（EL）， 來提供還較遽還較簡單个建立新標籤个方法，也允准開發者建立 Velocity式模板。像係舊版本代碼「` Hello , &amp;lt; %=request . getParameter ( &amp;quot; visitor &amp;quot; ) % &amp;gt; `」做得簡單變做「` Hello , $ { param . visitor }”`。==特點==&lt;br /&gt;
&lt;br /&gt;
* 做得用枋仔化个方式簡單、高效个添加動態網頁內容。&lt;br /&gt;
* 可利用 JavaBean 還過標籤庫技術復用常用个功能代碼（設計好个組件容易實現重複利用，減少重複勞動）。標籤庫毋單淨係有通用个（JSTL )，還過支援做得延伸功能个自訂標籤。&lt;br /&gt;
* 有當好个工具來支援。&lt;br /&gt;
* 繼承吔 Java 語言个相對容易用性。&lt;br /&gt;
* 繼承吔 Java 个跨平台優勢，實現「 一擺編寫，處執行」。 因為支援 Java 還有佢个相關技術个開發平台當多，網站開發人員做得選擇在最適合自家个系統平台頂項進行 JSP 開發；無共樣環境下開發个 JSP 專案，在所有个客戶頂高都做得順利存在這片。&lt;br /&gt;
* 頁面項个動（控制變動內容个部分）／ 恬恬（內容毋使變動个部分）區域用分散但係又有序个形式組合共下，做得分人還較直接看出頁面代碼个整體結構，也使得設計頁面效果摎程式邏輯這兩部分工作異會分離開（外觀視圖摎邏輯分開）。 從而方便分配人員並行揮各自長處，來實現高效个分工合作。&lt;br /&gt;
* 做得摎其他企業級 Java 技術相互配合。JSP 做得淨專門負責頁裡背个資料呈現，實現分層个開發。&lt;br /&gt;
&lt;br /&gt;
==包含內容==&lt;br /&gt;
&lt;br /&gt;
===JSP 指令===&lt;br /&gt;
&lt;br /&gt;
JSP 指令控制 JSP 編譯器仰般去降 servlet，以下係做得用个指令：&lt;br /&gt;
&lt;br /&gt;
* 包含指令 include–包含指令通知 JSP 編譯器同另外一個檔案完全包含入這滿个檔案當中。效果斯異像分人包含檔案个內容直接貼上到現下檔案當中共樣。這個功能同 C 處理器提供个當像。分人包含檔案个副檔案名一般都係啊 &amp;quot; jspf &amp;quot;（就係 JSP&amp;#039;&amp;#039;&amp;#039;Fragment&amp;#039;&amp;#039;&amp;#039;，JSP 片段）:&lt;br /&gt;
&lt;br /&gt;
* 頁面指令 page–頁面指令有以下幾隻選項：&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;注意哦：&amp;#039;&amp;#039;&amp;#039;在共隻 JSP 檔案中單淨係「import」匯入頁面指令做得分多擺使用。&lt;br /&gt;
&lt;br /&gt;
* 標籤庫指令 taglib–標籤庫指令講吔愛用个 JSP 標籤庫。指令需要指定一隻字首 prefix（摎 C + +有安名个空間當相像）還過標籤庫个講出 URI :&lt;br /&gt;
&lt;br /&gt;
===JSP 指令元素同變數===&lt;br /&gt;
&lt;br /&gt;
====標準指令个數量變化====&lt;br /&gt;
&lt;br /&gt;
以下係永遠做得用个指令變數：&lt;br /&gt;
&lt;br /&gt;
* out：JSPWriter，用來寫入回應流个資料&lt;br /&gt;
* page：servlet 自家&lt;br /&gt;
* pageContext：一個 PageContext 實例包括摎歸隻頁面相聯絡个資料，一隻分定个 HTML 頁面會用以在多隻 JSP 之間傳遞。&lt;br /&gt;
* request：HTTP request（拜託）物件&lt;br /&gt;
* response：HTTP response（回應）物件&lt;br /&gt;
* session：HTTPsession（伺服器端對談）物件&lt;br /&gt;
&lt;br /&gt;
====指令元素====&lt;br /&gt;
&lt;br /&gt;
有三隻基本个指令元素，作用係使用 JAVA 代碼做得直接插入 servlet .&lt;br /&gt;
&lt;br /&gt;
* 一種係聲明標籤，在 JAVA SERVLET 个類體中放入一個變數个定義。靜態个資料成員也做得恁樣定義。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
* 一種係講令碼標籤，在 JAVA SERVLET 這類个 \ _ jspService ( )方法肚放入所包含个語句。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
* 一種係表達式標籤，在 JAVA SERVLET 个類中放入待賦值个表達式，表達式注意做毋得分號結尾。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
===JSP 動作===JSP 動作係一系列做得喊內建於網路伺服器當中个功能个 XML 標籤。JSP 提供吔以下个動作：&lt;br /&gt;
&lt;br /&gt;
====標籤樣仔====&lt;br /&gt;
&lt;br /&gt;
=====jsp : include=====&lt;br /&gt;
&lt;br /&gt;
=====jsp : forward=====&lt;br /&gt;
&lt;br /&gt;
在這例當中，請求分人傳達到 &amp;quot; subpage . jsp &amp;quot;，還過請求个處理權毋會再過轉去前者。&lt;br /&gt;
&lt;br /&gt;
=====jsp : useBean=====&lt;br /&gt;
&lt;br /&gt;
scope 屬性做得係 request , page , session or application，有用意佢：&lt;br /&gt;
&lt;br /&gt;
* request—該屬性在請求个生命周期內有效，係講要求分所有个 JSP 頁處理好勢，恁仔該屬性就做毋得參照吔。&lt;br /&gt;
* page—該屬性只係當前頁當中有效。&lt;br /&gt;
* session—該屬性在使用者對談个生命周期內有效。&lt;br /&gt;
* application—該算係性在各種情形下都有效，還過永久毋會分人變做無法度參照，摎全域變數 global variable 共樣。&lt;br /&gt;
&lt;br /&gt;
頭下講著个例仔會用一個建立一個類別个實例，還過摎該隻實例仔貯在性當中，該屬性將在該請求个生命周期內有效。佢做得在所有分人包含或者對首頁面（盡先接受請求个頁面）轉向到个 JSP 頁之間共享。&lt;br /&gt;
&lt;br /&gt;
===JSP 標籤庫===&lt;br /&gt;
&lt;br /&gt;
除忒 JSP 按算義動作之外，開發者還做得用 JSP 標頭擴大建設 API 添加佢等自家訂个 _ 動作 _。開發者寫一種實現一個標籤个介面同一個標籤庫个 XML 描寫檔案个 JAVA 類，這就做得指定標籤同實現標籤个 JAVA 類請看恁呢 JSP：&lt;br /&gt;
&lt;br /&gt;
JSP 編譯器會載入來 mytaglib . tld 這個 XML 檔案，還過做得看著標頭 _ myaction _ 由 JAVA 類 _ MyActionTag _實現。第一擺在檔案當中使用个時節，將會建立一個 MyActionTag 實例。過吔（還過逐擺該標籤分人使用个時節）， 係出現開始標籤个時節，將會喊 doStartTag ( ) 方法，根據開始標籤个結果，來決定仰仔處理標籤个主體。主體係開始標籤同結束標籤之間个文字。這個 doStartTag ( ) 方法將會倒轉像下之一：&lt;br /&gt;
&lt;br /&gt;
* SKIP \ _ BODY - 標籤之間毋係做處理。&lt;br /&gt;
* EVAL \ _ BODY \ _ INCLUDE - 對標籤以內主體進行產值。&lt;br /&gt;
* EVAL \ _ BODY \ _ TAG - 對標籤以內主體進行賦值還過將結果輸出到流（放啊在標籤个主體內容屬性當中）。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:&amp;#039;&amp;#039;&amp;#039;注意哦：&amp;#039;&amp;#039;&amp;#039;係講標籤有罅哩喲 BodyTagSupport 類，當主體在該喊佢兜會 doEndTag ( ) 進前緊喊 doAfterBody ( )方法。這個方法用在實現迴圈結構。&lt;br /&gt;
&lt;br /&gt;
結束標籤出現个時節，佢會叫 doEndTag ( ) 方法，該方法會倒轉來就像下兩做之一：&lt;br /&gt;
&lt;br /&gt;
* EVAL \ _ PAGE - 表示 JSP 檔案伸著个部分份將會分人來執行。this indicates that the rest of the JSP file should be processed .&lt;br /&gt;
* SKIP \ _ PAGE - 表示毋會再過有還較多執行操作。當前 JSP 頁交出控制權。就象在轉發動作當中个作用共樣。&lt;br /&gt;
&lt;br /&gt;
頭前講个 myaction 標籤 tag 會有一隻類似下背例仔用於實現个類：&lt;br /&gt;
&lt;br /&gt;
==在地化==JSP 个在地化係通過同 JAVA 應用程式共樣个方式完成个，就算用資源包。&lt;br /&gt;
&lt;br /&gt;
==模型 - 視圖 - 控制器模式==&lt;br /&gt;
&lt;br /&gt;
為著同表現層（presentation）從請求處理（request processing）還有資料儲存（data storage）中分離開來（恁樣過較利便開發、查毋著摎功能擴大）， 昇陽公司推薦在 JSP 檔案當中用一種安到模型 - 視圖 -控制器（MVC）个架構模式。照這設計，使用者存在網站頂項个特定網址个時，使用者个處理請求會先由網站伺服器取得著，再過來先交分網站个控制器程式作初步處理。使用者个存取个請求可能多種多樣，比論查詢資訊或者進行資料計算都係輒常看著个網站業務。控制器程式會初步判斷使用者請求个種類，過仔摎使用者請求轉發分同特定業務對應个 Servlet 程式或者另外一個獨立个 JSP 檔案進行業務處理。係講請求處理好勢，再通過一個專門負責輸出資訊个 JSP 頁以清楚、美觀个方式向使用者个瀏覽器輸出結果。簡單來講，先由控制器攔截使用者个請求還過做初步判斷，再由業務處理程式存取資料（ 對資料庫當中存取）摎處理業務，盡尾由視圖組件生成結果頁面還過行送結果分使用者。其中 JSP 一般用作展示輸出結果，做得拿來展示經驗 Servlet 查詢或者係處理以後个結果；乜做得用一個 JSP 檔案處理業務邏輯，再用另外一個 JSP 檔案展示結果。按功能做恁樣个檔案拆分（毋係係用一個重要个喔 JSP 頁面包攬所有功能）係為著方便團隊分工。MVC 本身係一種由來盡久个設計思想啊，因為 JSP 个技術單淨係實現 MVC 架構个流行方案之一。Struts 摎 Spring 框架這兜幾下種時行个網站建設框架都係因為 MVC 模式設計个。&lt;br /&gt;
&lt;br /&gt;
==JSP 摎 Servlets==&lt;br /&gt;
&lt;br /&gt;
對架構項講，JSP 做得分人看做係對 Servlets 進階提煉來做為 JAVA Servlet 二章一 API 个擴大來應用。Servlets 摎 JSP 最早都係由 Sun Microsystems（日頭公司）開發个。從 JSP 一千兩百五十二隻版本以來，JSP 在哪 Java Community Process（有人翻譯為：Java 社群組織）開發模式下。JSR 種吔十三規定 JSP 一千兩百空二合 Servlet 二章四个規範，JSR 176一百五十二規定吔 JSP 二勤零个規範。二零零六年五月，JSP 二勤一个規範作為Java EE 五个一部份，在 JSR 兩百四十五當中發布。&lt;br /&gt;
&lt;br /&gt;
靜態資料在輸入檔案當中个內容同輸出分 HTTP 回應个內容全共樣。這個時節，該 JSP 輸入檔案會係一個無內嵌 JAVA抑係動作个 HTML 頁面。還過，客戶端每擺請求都會得著共樣个回應內容。&lt;br /&gt;
&lt;br /&gt;
===樣例===&lt;br /&gt;
&lt;br /&gt;
不管 JSP 編譯器係生成 SERVLET 个 JAVA 原始碼，或者係直接發布二進位碼，了解一下 JSP 編譯器係仰般摎檔案轉換做一個 JAVA SERVLET，都係盡有幫助。比將講，看一下係輸入 JSP 同佢最後生成个 JAVA SERVLET：&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Input JSP&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Resulting servlet&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
==參見==&lt;br /&gt;
&lt;br /&gt;
* JSTL&lt;br /&gt;
* Java 企業版&lt;br /&gt;
* JavaServer Faces&lt;br /&gt;
* JavaServlet&lt;br /&gt;
* SSJS&lt;br /&gt;
* WAR ( file format )&lt;br /&gt;
* EAR ( file format )&lt;br /&gt;
* JAR ( file format )&lt;br /&gt;
* Tomcat 伺服器&lt;br /&gt;
&lt;br /&gt;
==參考資料==&lt;br /&gt;
&lt;br /&gt;
===文內參照===&lt;br /&gt;
&lt;br /&gt;
===書目===&lt;br /&gt;
&lt;br /&gt;
* Kin-man Chung . JavaServer Pages Specification ( pdf ) 二章三 .甲骨文公司 . 二千空十三 [二零一八年三月十六號] .&lt;br /&gt;
* Hans Bergsten . JavaServer Pages 三 . Sebastopol , California: O&amp;#039;Reilly . 二千空三 [二千空六八十五月二十] . ISBN 零枵五百九十六冤五百六十三重點六 .（頭擺內容存檔係在兩千空一十九千空十五十七）.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==外部連結==&lt;br /&gt;
&lt;br /&gt;
* Sun&amp;#039;s JSP product description&lt;br /&gt;
* JSR 兩百四十五 ( JSP 二章一 )&lt;br /&gt;
* JSR 一百五十二 ( JSP 二側零 )&lt;br /&gt;
* JSR 五十三 ( JSP 一千擔二百空二 )&lt;br /&gt;
&lt;br /&gt;
[[分類: 待校正]]&lt;/div&gt;</summary>
		<author><name>TaiwanTonguesApiRobot</name></author>
	</entry>
</feed>