J2EE基础之JSP
J2EE基礎之JSP
1、JSP簡介
? ? JSP是JavaServer的縮寫,是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。在HTML文件中加入Java程序代碼就構成了JSP網頁。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的Java程序代碼,然后將執行結果以HTML形式返回給客戶端。實際上,從另一方面來說,JSP的實質是Servlet,其在發布編譯運行時會被轉換成標準的Servlet,該轉換過程一般在出現第一次頁面請求時就會發生。
? ? JSP設計的目的在于簡化表示層的展示。JSP中沒有增加任何本質上不能用Servlet實現的功能。但是,在JSP中編寫靜態HTML,更加方便,不必再用println語句來輸出每一行HTML代碼。更重要的是,借助內容和外觀的分離,頁面制作中不同性質的任務可以方便地分開。
? ? 除了普通的HTML代碼之外,嵌入JSP頁面的其他成分主要包括以下三種:腳本元素、指令、動作。其中,腳本元素是用來嵌入Java代碼,這一 部分Java代碼將直接轉換為Servlet的一部分;JSP指令用來從整體上控制Servlet的結構;JSP動作用于引入現有的組件以控制Web容器的行為。另外,為了簡化腳本元素,JSP定義了一組可以直接使用的內部對象變量。
?
2、JSP指令
? ? JSP指令是從JSP向Web容器發送的消息,它用來設置頁面的全局屬性,如輸出內容類型等。指令的作用范圍僅限于包含指令本身的JSP頁面。
? ? JSP指令的格式為:
<%@指令名 屬性=”屬性值”%>
? ? 指令名有page、include和tablib三種。具體如下:
(1)page指令
? ? page指令用來定義整個JSP頁面的全局屬性。合法的page屬性有language、import、session、contentType、isThreadSafe、buffer、autoflush、extends、info、errroPage、isErrorPage等。
(2)include指令
? ? JSP頁面可通過include指令將其他文件插入到當前頁面中。這個文件可以是JSP文件、HTML文件或文本文件。include指令的格式為:
<%@include file = “relativeURL”%>
include指令的主要作用是在一個Web應用中,當多個JSP頁面包含相同的內容時,可以把相同的部分放在一個文件中,然后在其他文件中用include指令包含這個文件即可。這樣做的好處,當要修改這一部分文件代碼是,只需修改一個文件即可。
(3)taglib指令
??? 當需要在JSP文件中使用自定義的標簽時,可以通過使用taglib指令來指定。格式為:<%@taglib uri=”URItoTagLibrary”prefix=”tagPrefix”%>
??? 其中,URI為統一資源標記符,prefix是標簽庫的識別符,可以根據此prefix對自定義的標簽進行唯一的命名。
3、JSP動作
? ? JSP動作是一組動態執行的指令,用于控制Web容器的行為。利用JSP動作可以動態地向頁面中插入文件、重寫JavaBean組件、導向另一個頁面等。常見的JSP動作有以下四種:
(1)include動作
? ? include動作把指定文件插入正在生成的頁面,其格式如下:
<jsp:include page=”relativeURL” flush=”true|false”>
? ? include動作和include指令在執行過程中有很大的不同。include動作在執行時不對包含的文件進行處理,如果對包含的文件進行了修改,那么運行時可以看到所包含文件修改后的結果。而靜態的include指令包含的文件如果發生變化,必須重新編譯,否則只能看到所包含文件修改前的內容。因此,除非被包含文件經常改動,否則使用include指令獎獲得更好的性能。
(2)forward動作
? ? forward動作用于把當前的JSP頁面導向另一個頁面,客戶端看到的地址是當前網頁的地址,而實際內容卻是另一個頁面的。其格式如下:
<jsp:forward page=”relativeURL”>
(3)param動作
? ? param動作用于傳遞參數信息,必須配合include動作或forward動作一起使用。格式如下:
<jsp:param name=參數名稱,value=值/>
?(4)useBean動作
? ? UseBean動作能夠讓JSP網頁使用JavaBean,從而能夠充分應用Java的重要性。通過使用useBean動作,可在JSP網頁中實例化一個或多個JavaBean組件,這些被實例化的JavaBean對象可以在JSP中被調用。其格式為:
<jsp:useBean id=”name” class=”classname” scope=”page|request|session|application”>
4、JSP內置對象
? ? JSP提供了可在腳本中使用的內置對象,這些對象使用戶更容易收集通過瀏覽器請求發送的信息、響應瀏覽器及存儲用戶信息。JSP共提供九中內置對象:request、response、out、session、application、config、pagecontext、page和exception。常用的有以下六種:
(1)request對象
? ? request對象是JSP中最常用的對象,代表來自客戶端的請求,它封裝了用戶提交的信息,例如在FORM表單中填寫的信息等,通過調用request對象相應的方法可以獲取關于客戶請求的信息。
(2)response對象
? ? response對象用于將服務器數據發送到客戶端以響應客戶端的請求。可以通過response對象來組織發送到客戶端的信息,如Cookie、HTTP頭文件等。但是由于組長方式比較底層,所以一般不建議使用,需要向客戶端發送文字時直接使用out對象即可。
(3)session對象
? ? session對象指的是客戶端與服務器的一次會話,從客戶端連到服務器的一個Web應用程序開始,直到客戶端與服務器斷開為止。
(4)application對象
? ? 如果客戶瀏覽不同的Web頁面,將產生不同的application對象。同一個Web應用中的所有JSP頁面都將存取同一個application對象,即使瀏覽這些JSP網頁的客戶不是同一個也是如此。application對象一旦創建,除非服務器關閉,否則將一直保持下去。
(5)out對象
? ? out對象能將特定的數據內容搭配JSP程序代碼動態輸出到客戶端的瀏覽器。
(6)exception對象
??? exception對象用來處理JSP文件在執行時所有發生的錯誤和異常。
?
?
?
?
?
?
??????????????????????????????????????????????? 。
轉載于:https://www.cnblogs.com/liuzhen1995/p/5677277.html
總結
以上是生活随笔為你收集整理的J2EE基础之JSP的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 周星驰睡被鸟蛋砸中是什么电影?
- 下一篇: es6学习笔记8--Map数据结构