Java--JSP簡介
博客說明
文章所涉及的資料來自互聯網整理和個人總結,意在於個人學習和經驗彙總,如有什麼地方侵權,請聯繫本人刪除,謝謝!
說明
JSP(全稱JavaServer Pages)是由Su 公司主導創建的一種動態網頁技術標準。JSP部署於網絡服務器上,可以響應客戶端發送的請求,並根據請求內容動態地生成HTML、XML或其他格式文檔的Web網頁,然後返回給請求者。JSP技術以Java語言作爲腳本語言,爲用戶的HTTP請求提供服務,並能與服務器上的其它Java程序共同處理複雜的業務需求。
可以理解爲:一個特殊的頁面,其中既可以指定定義html標籤,又可以定義java代碼
原理
JSP本質上就是一個Servlet
JSP的腳本
JSP定義Java代碼的方式
- <% 代碼 %>:定義的java代碼,在service方法中。service方法中可以定義什麼,該腳本中就可以定義什麼。
- <%! 代碼 %>:定義的java代碼,在jsp轉換後的java類的成員位置。
- <%= 代碼 %>:定義的java代碼,會輸出到頁面上。輸出語句中可以定義什麼,該腳本中就可以定義什麼。
JSP的內置對象
- 在jsp頁面中不需要獲取和創建,可以直接使用的對象
- out:JSPWriter,用來寫入響應流的數據
- page:servlet自身
- pageContext:一個PageContext實例包括和整個頁面相聯繫的數據,一個給定的HTML頁面可以在多個JSP之間傳遞。
- request:HTTP request(請求)對象
- response:HTTP response(響應)對象
- session:HTTP session(服務端會話)對象
JSP動作
JSP動作是一系列可以調用內建於網絡服務器中的功能的XML標籤。JSP提供了以下動作:
jsp:include | 和子過程類似,JAVA SERVLET暫時接管對其它指定的JSP頁的請求和響應。當處理完該JSP頁後就馬上把控制權交還當前JSP頁。這樣JSP代碼就可以在多個JSP頁中共享而不用複製。 |
---|---|
jsp:param | 可以在jsp:include, jsp:forward或jsp:params塊之間使用。指定一個將加入請求的當前參數組中的參數。 |
jsp:forward | 用於處理對另一個JSP或SERVLET的請求和響應。控制權永遠不會交還給當前JSP頁。 |
jsp:plugin | Netscape Navigator使用不同的標籤以嵌入一個applet。這個動作產生爲嵌入一個APPLET所需要的指定瀏覽器標籤。 |
jsp:fallback | 如果瀏覽器不支持APPLETS則會顯示的內容。 |
jsp:getProperty | 從指定的JavaBean中獲取一個屬性值。 |
jsp:setProperty | 在指定的JavaBean中設置一個屬性值。 |
jsp:useBean | 創建或者複用一個JavaBean變量到JSP頁。 |
爲什麼使用JSP
JSP程序與CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下優勢:
- 性能更加優越,因爲JSP可以直接在HTML網頁中動態嵌入元素而不需要單獨引用CGI文件。
- 服務器調用的是已經編譯好的JSP文件,而不像CGI/Perl那樣必須先載入解釋器和目標腳本。
- JSP 基於Java Servlet API,因此,JSP擁有各種強大的企業級Java API,包括JDBC,JNDI,EJB,JAXP等等。
- JSP頁面可以與處理業務邏輯的 Servlet 一起使用,這種模式被Java servlet 模板引擎所支持。
最後,JSP是Java EE不可或缺的一部分,是一個完整的企業級應用平臺。這意味着JSP可以用最簡單的方式來實現最複雜的應用。
感謝
百度百科
菜鳥教程
以及勤勞的自己