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