Java Servlet和JSP教程(11)(轉)
Java Servlet和JSP教程(11)(轉)[@more@]此篇是本站CnJSP小組核心成員鈍刀原創作品11 JSP 11.1 JSP概述 JavaServer Pages (JSP)使得我們能夠分離頁面的靜態HTML和動態部分。HTML可以用任何通常使用的Web製作工具編寫,編寫方式也和原來的一樣;動態部分的程式碼放入特殊標記之內,大部分以“”結束。例如,下面是一個JSP頁面的片斷,如果我們用http: //host/OrderConfirmation.jsp?title=Core+Web+Programming這個URL開啟該頁面,則結果顯示 “Thanks for ordering Core Web Programming”。 Thanks for ordering JSP 頁面檔案通常以.jsp為副檔名,而且可以安裝到任何能夠存放普通Web頁面的地方。雖然從程式碼編寫來看,JSP頁面更象普通Web頁面而不象 Servlet,但實際上,JSP最終會被轉換成正規的Servlet,靜態HTML直接輸出到和Servlet service方法關聯的輸出流。 JSP到Servlet的轉換過程一般在出現第一次頁面請求時進行。因此,如果你希望第一個使用者不會由於JSP頁面轉換成Servlet而等待太長的時間,希望確保Servlet已經正確地編譯並裝載,你可以在安裝JSP頁面之後自己請求一下這個頁面。 另外也請注意,許多Web伺服器允許定義別名,所以一個看起來指向HTML檔案的URL實際上可能指向Servlet或JSP頁面。 除了普通HTML程式碼之外,嵌入JSP頁面的其他成分主要有如下三種:指令碼元素(Scripting Element),指令(Directive),動作(Action)。指令碼元素用來嵌入Java程式碼,這些Java程式碼將成為轉換得到的Servlet的一部分;JSP指令用來從整體上控制 Servlet的結構;動作用來引入現有的元件或者控制JSP引擎的行為。為了簡化指令碼元素,JSP定義了一組可以直接使用的變數(預定義變數),比如前面程式碼片斷中的request就是其中一例。 注意本文以JSP 1.0規範為基礎。和0.92版相比,新版本的JSP作了許多重大的改動。雖然這些改動只會使JSP變得更好,但應注意1.0的JSP頁面幾乎和早期的JSP引擎完全不相容。 11.2 JSP語法概要表 JSP元素 語法 說明 備註 JSP表示式 計算表示式並輸出結果 等價的XML表達是: expression 可以使用的預定義變數包括:request,response,out,session,application,config,pageContext。這些預定義變數也可以在JSP Scriptlet中使用。 JSP Scriptlet 插入到service方法的程式碼。 等價的XML表達是: code JSP宣告 程式碼被插入到Servlet類(在service方法之外) 等價的XML表達是: code page指令 作用於Servlet引擎的全域性性指令 等價的XML表達是 合法的屬性如下表,其中粗體表示預設值: import="package.class" contentType="MIME-Type" isThreadSafe="true|false" session="true|false" buffer="size kb|none" autoflush="true|false" extends="package.class" info="message" errorPage="url" isErrorPage="true|false" language="java" include指令 當JSP轉換成Servlet時,應當包含本地系統上的指定檔案 等價的XML表達是: 其中URL必須是相對URL。 利用jsp:include動作可以在請求的時候(而不是JSP轉換成Servlet時)引入檔案。 JSP註釋 註釋;JSP轉換成Servlet時被忽略 如果要把註釋嵌入結果HTML文件,使用普通的HTML註釋標記jsp:include動作 當Servlet被請求時,引入指定的檔案 如果你希望在頁面轉換的時候包含某個檔案,使用JSP include指令 注意:在某些伺服器上,被包含檔案必須是HTML檔案或JSP檔案,具體由伺服器決定(通常根據副檔名判斷)。 jsp:useBean動作 或者 ... 尋找或例項化一個Java Bean 可能的屬性包括: id="name" scope="page|request |session|application" class="package.class" type="package.class" beanName="package.class" jsp:setProperty動作 設定Bean的屬性,既可以設定一個確定的值,也可以指定屬性值來自請求引數。 合法的屬性包括: name="beanName" property="propertyName|*" param="parameterName" value="val" jsp:getProperty動作 name="propertyName" value="val"/> 提取並輸出Bean的屬性。 jsp:forward動作 page="relative URL"/> 把請求轉到另外一個頁面。 jsp:plugin動作 attribute="value"*> ... 根據瀏覽器型別生成OBJECT或者EMBED標記,以便透過Java Plugin執行Java Applet。 11.3 關於模板文字(靜態HTML) 許多時候,JSP頁面的很大一部分都由靜態HTML構成,這些靜態HTML也稱為“模板文字”。模板文字和普通HTML幾乎完全相同,它們都遵從相同的語法規則,而且模板文字也是被Servlet直接傳送到客戶端。此外,模板文字也可以用任何現有的頁面製作工具來編寫。 唯一的例外在於,如果要輸出“
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-946047/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java Servlet和JSP教程(6)(轉)JavaServletJS
- Java Servlet和JSP教程(7)(轉)JavaServletJS
- Java Servlet和JSP教程(8)(轉)JavaServletJS
- Java Servlet和JSP教程(9)(轉)JavaServletJS
- Java Servlet和JSP教程(10)(轉)JavaServletJS
- Java Servlet和JSP教程(12)(轉)JavaServletJS
- Java Servlet和JSP教程(13)(轉)JavaServletJS
- Java Servlet和JSP教程(1)(轉)JavaServletJS
- Java Servlet和JSP教程(2)(轉)JavaServletJS
- Java Servlet和JSP教程(3)(轉)JavaServletJS
- Java Servlet和JSP教程(4)(轉)JavaServletJS
- Java Servlet和JSP教程(5)(轉)JavaServletJS
- jsp進階教程和ServletJSServlet
- Java之JSP和Servlet基礎知識。JavaJSServlet
- JAVA基礎:JSP與Servlet的區別(轉)JavaJSServlet
- Java Servlet完全教程JavaServlet
- java servlet 與jsp幾種頁面跳轉的方法JavaServletJS
- Day91.Servlet基本內容① -Servlet、jsp和表示式ServletJS
- jsp servlet javabeanJSServletJavaBean
- JSP與ServletJSServlet
- Jsp和Servlet有什麼區別?JSServlet
- maven中新增Servlet和jsp依賴MavenServletJS
- 基於jsp和servlet簡單的java web開發(idea)JSServletJavaWebIdea
- Servlet/JSP 容器開發手記2 (轉)ServletJS
- Java學習筆記-Day53 Servlet與JSPJava筆記ServletJS
- tomact和javaee、jsp、servlet對應的版本MacJavaJSServlet
- 深入剖析JSP和Servlet對中文的處理JSServlet
- jsp+servlet 練習JSServlet
- EJB/JSP/Servlet Sequence GeneratorJSServlet
- 在Jsp/Servlet中的中文解決辦法 (轉)JSServlet
- Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File "/pageFooServletJSExceptionJava
- Java後臺開發必備技能JDBC+Servlet+JSPJavaJDBCServletJS
- Tomcat下JSP、Servlet和JavaBean環境的配置TomcatJSServletJavaBean
- Servlet和JSP規範及版本對應關係ServletJS
- 記錄web中的servlet轉發及jsp的接受WebServletJS
- jsp隱式物件-Servlet物件JS物件Servlet
- JSP/Servlet基礎語法JSServlet
- 求助servlet&jsp問題ServletJS