jsp與servlet技術(shù)培訓(xùn)_第1頁(yè)
jsp與servlet技術(shù)培訓(xùn)_第2頁(yè)
jsp與servlet技術(shù)培訓(xùn)_第3頁(yè)
jsp與servlet技術(shù)培訓(xùn)_第4頁(yè)
jsp與servlet技術(shù)培訓(xùn)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Servlet 與與 Jsp綱要綱要HTTP1Servlet2Jsp3JSTL4EL5HTTPv請(qǐng)求 說(shuō)明: (request-line請(qǐng)求行):請(qǐng)求類(lèi)型, 請(qǐng)求資源、HTTP版本. (header):服務(wù)器要使用的附加信息.空行. (body主體)可以添加任意的其他數(shù) 請(qǐng)求方式:get、post、delete、putHTTP POST請(qǐng)求實(shí)例:POST / HTTP1.1Host:User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.6

2、48; .NET CLR 3.5.21022)Content-Type:application/x-www-form-urlencodedContent-Length:40Connection: Keep-Alivename=Professional%20Ajax&publisher=Wiley說(shuō)明:POST請(qǐng)求類(lèi)型.Content-Type:application/x-www-form-urlencoded指窗體數(shù)據(jù)被編碼為名稱(chēng)/值對(duì)Content-Length說(shuō)明了請(qǐng)求主體的字節(jié)數(shù).請(qǐng)求主體.名稱(chēng)-值對(duì)的形式.相關(guān)于:相關(guān)于:form的的enctype屬性值,屬性值,常用有兩種:常

3、用有兩種:application/x-www-form-urlencoded和和multipart/form-data HTTP Post與Get區(qū)別:GET 方法:輸入的數(shù)據(jù)將作為 URL 的一部分發(fā)送 POST 方法:輸入數(shù)據(jù)作為一個(gè)獨(dú)立的實(shí)體發(fā)送 GET /books/?name=Professional%20AjaxHTTP/1.1Host: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)Gecko/20050225 Firefox/1.0.1Connection: Keep-AlivePOST

4、 / HTTP/1.1Host: User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)Gecko/20050225 Firefox/1.0.1Content-Type: application/x-www-form-urlencodedContent-Length: 40Connection: Keep-Alive (此處空一行)name=Professional%20Ajax&publisher=WileyHTTPv響應(yīng)響應(yīng) 格式:在響應(yīng)中唯一真正的區(qū)別(status line狀態(tài)行)提供一個(gè)狀態(tài)碼

5、,說(shuō)明所請(qǐng)求的資源情況。 HTTPHTTP響應(yīng)實(shí)例 :HTTP/1.1 200 OKDate: Sat, 31 Dec 2005 23:59:59 GMTContent-Type: text/html;charset=ISO-8859-1Content-Length: 122htmlheadtitleWrox Homepage/title/headbody!- body goes here -/body/html HTTPv 響應(yīng)響應(yīng) 響應(yīng)狀態(tài)碼 : 200 (OK): 找到了該資源,并且一切正常。 304 (NOT MODIFIED): 該資源在上次請(qǐng)求之后沒(méi)有任何修改。這通常用于瀏覽器的緩

6、存機(jī)制。 401 (UNAUTHORIZED): 客戶(hù)端無(wú)權(quán)訪問(wèn)該資源。這通常會(huì)使得瀏覽器要求用戶(hù)輸入用戶(hù)名和密碼,以登錄到服務(wù)器。 403 (FORBIDDEN): 客戶(hù)端未能獲得授權(quán)。這通常是在401之后輸入了不正確的用戶(hù)名或密碼。 404 (NOT FOUND): 在指定的位置不存在所申請(qǐng)的資源。ServletvServlet Servlet是運(yùn)行于服務(wù)器端、可以動(dòng)態(tài)生產(chǎn)響應(yīng)內(nèi)容的java應(yīng)用程序 Servlet是一個(gè)通用接口 定義于java.servlet 默認(rèn)提供了HTTP的實(shí)現(xiàn) 定義于java.servlet.http Servlet運(yùn)行于servle容器(如tomcat)中。 S

7、ervlet容器通過(guò)查詢(xún)部署描述符web.xml獲取servlet信息和運(yùn)行參數(shù)ServletHTTPServletvFilter Servlet定義了過(guò)濾器Filter,過(guò)濾器會(huì)按照web.xm中配置的順序依次執(zhí)行 過(guò)濾器可以解決很多問(wèn)題: 數(shù)據(jù)庫(kù)連接和關(guān)閉 Hibernate session開(kāi)啟和銷(xiāo)毀 權(quán)限控制 編碼ServletvFilter 多個(gè)Filter組織成FilterChain,這個(gè)鏈的執(zhí)行順序是由其元素在web.xml文件中的順序決定的。 對(duì)于不同的應(yīng)用服務(wù)器,F(xiàn)ilter的init函數(shù)的執(zhí)行時(shí)間是不同的 ServletvListener 主要有以下三類(lèi): ServletCo

8、ntext:Servlet 上下文 Session:對(duì) Session 監(jiān)聽(tīng) Request監(jiān)聽(tīng) ServletContextListener、ServletContextAttributeListener HttpSessionListener、HttpSessionAttributeListener ServletRequestListener、ServletRequestAttributeListener com.alva.servlet.ServletContextDemo JSPJSP 模板文本 html JSP指令(控制jsp編譯器如何去生成servlet) 包含指令include

9、 靜態(tài)包含 標(biāo)簽庫(kù)指令taglib 頁(yè)面指令page JSP JSP腳本元素 聲明標(biāo)簽 腳本標(biāo)簽 表達(dá)式標(biāo)簽 聲明在內(nèi)的變量和方法將成為Servlet的成員變量和成員方法。 聲明在內(nèi)的變量將成為Service方法內(nèi)的局部變量。 注釋 html注釋JSPvJSP變量變量 out :jspWriter用來(lái)寫(xiě)入響應(yīng)流的數(shù)據(jù) Page:servlet自身 PageContext:包括和整個(gè)頁(yè)面相關(guān)聯(lián)的數(shù)據(jù) Request:HttpRequest對(duì)象 Response:HttpServletResponse對(duì)象 Session:HttpSession對(duì)象 application :ServletCont

10、ext對(duì)象 Config:ServletConfig Exception:ThrowableJSPvJSP動(dòng)作:內(nèi)建于服務(wù)器中的功能的動(dòng)作:內(nèi)建于服務(wù)器中的功能的XML標(biāo)簽標(biāo)簽 Jsp:include * :所有代碼包含進(jìn)來(lái)之后,一起進(jìn)行處理,把所有代碼合在一起 :所有的代碼分別處理,處理完成之后再將代碼的顯示結(jié)果(處理結(jié)果)包含進(jìn)來(lái) Jsp:param Jsp:forwordJSPvJSP動(dòng)作:內(nèi)建于服務(wù)器中的功能的動(dòng)作:內(nèi)建于服務(wù)器中的功能的XML標(biāo)簽標(biāo)簽 Jsp:useBeanJSTLvJSTLJSP標(biāo)準(zhǔn)標(biāo)簽庫(kù),其主要功能是為JSP Web開(kāi)發(fā)人員提供一個(gè)標(biāo)準(zhǔn)通用的標(biāo)簽庫(kù)。取代JSP頁(yè)面

11、上的Java代碼,提高程序的可讀性、可維護(hù)性。在JSP1.2/Servlet2.3容器內(nèi)使用。 JSTLCoreJSTL核心庫(kù)主要有輸入輸出、流程控制、迭代操作、URL操作等功能,如要要在JSP頁(yè)面中使用核心庫(kù)的標(biāo)簽,需要用taglib指令指明這個(gè)標(biāo)簽庫(kù)的路徑為。標(biāo)簽標(biāo)簽v 功能相當(dāng)于JSP中的out對(duì)象,可以在JSP頁(yè)面上打印字符串,也可以打印一個(gè)標(biāo)達(dá)式的值。使用語(yǔ)法如下。 default value 標(biāo)簽標(biāo)簽v 主要功能是把變量的值設(shè)置到JSP內(nèi)置對(duì)象中,或者是設(shè)置到JavaBean的屬性中。的功能和JSP動(dòng)作指令中的類(lèi)似。 標(biāo)簽標(biāo)簽v 標(biāo)簽執(zhí)行的功能和標(biāo)簽的功能正好相反,標(biāo)簽可以移除在標(biāo)

12、簽中設(shè)置的變量。具體使用語(yǔ)法如下。 標(biāo)簽標(biāo)簽 的功能也是用來(lái)做條件判斷 結(jié)果為真時(shí)執(zhí)行的操作代碼 、做為和的父標(biāo)簽。 c:when相對(duì)于else If Nnknown user. $param.username is manager. $param.username is employee. 標(biāo)簽標(biāo)簽v 是一個(gè)迭代標(biāo)簽,它可以用來(lái)做循環(huán)的控制,可以循環(huán)遍歷一個(gè)集合中的內(nèi)容,這里的集合何以是數(shù)組、List、Array、ListLinkedList、set、Vector、Map等常用集合對(duì)象。 $color   c:forEach var=entry items=“ $entry

13、.key:$entry.value 標(biāo)簽標(biāo)簽v 字符串迭代循環(huán),這個(gè)字符串是用符號(hào)分開(kāi)的。 標(biāo)簽主體 標(biāo)簽標(biāo)簽v 標(biāo)簽與標(biāo)簽的區(qū)別前者不僅可以包含同一個(gè)Web應(yīng)用中的資源,還能包含其他Web應(yīng)用中的資源,甚至是其他網(wǎng)站的資源。 標(biāo)簽標(biāo)簽v重定向重定向 response.sendRedirect(/index.jsp); 標(biāo)簽標(biāo)簽v 主要用來(lái)產(chǎn)生一個(gè)URL 10&Age target.jsp 標(biāo)簽標(biāo)簽 標(biāo)簽的作用就是向一個(gè)頁(yè)面?zhèn)鬟f一個(gè)參數(shù),其使用語(yǔ)法如下。 標(biāo)簽標(biāo)簽 標(biāo)簽用來(lái)捕捉JSP頁(yè)面產(chǎn)生的錯(cuò)誤,和Java語(yǔ)言中的catch功能是類(lèi)似的。其使用語(yǔ)法如下。 要捕捉異常的部分 自定義標(biāo)簽

14、庫(kù)自定義標(biāo)簽庫(kù)首先需要開(kāi)發(fā)標(biāo)簽所對(duì)應(yīng)的功能類(lèi),其次要編寫(xiě)標(biāo)簽的描述文件tld,并把這個(gè)文件放在項(xiàng)目的WEB-INFO/目錄下,然后才可以在JSP頁(yè)面上調(diào)用自定義的標(biāo)簽。ELvEL的作用的作用 提供復(fù)雜表達(dá)式(Java對(duì)象) 訪問(wèn)一個(gè)任意Java對(duì)象的屬性(比小腳本簡(jiǎn)化,提供更方便的機(jī)制,比如空值默認(rèn)為空字符串等) vEL的使用環(huán)境的使用環(huán)境 EL只能在JSP2.0/Servlet2.4標(biāo)準(zhǔn)的容器內(nèi)使用 ELv 基本語(yǔ)法基本語(yǔ)法 訪問(wèn)對(duì)象 $user.email 使user必須是放置在某個(gè)作用域(比如request)的對(duì)象,在作用域中的name為user,并具有email屬性。v EL的限制的限

15、制 不能聲明變量。需要JSTL或者標(biāo)準(zhǔn)JavaBean 動(dòng)作聲明變量。v EL作用域和自動(dòng)搜索機(jī)制和作用域和自動(dòng)搜索機(jī)制和JSP的的4個(gè)作用域?qū)?yīng):個(gè)作用域?qū)?yīng): pageScope requestScope sessionScope applicationScope 通過(guò)作用域和名稱(chēng)指定對(duì)象: $pageScope.pageValue 如果不指定作用域,EL自動(dòng)按照由小到大次序查找: -page-request-session-application-null 不會(huì)對(duì)腳本% %!中變量進(jìn)行搜索ELv訪問(wèn)訪問(wèn)HTTP參數(shù)參數(shù) 替代JSP類(lèi)似的寫(xiě)法: 相當(dāng)于 $ (如果有多個(gè)

16、返回第一個(gè)) $) request.getParamterValues(name)。 v訪問(wèn)訪問(wèn)HTTP請(qǐng)求頭部信息請(qǐng)求頭部信息 可以通過(guò)EL的3個(gè)內(nèi)置對(duì)象訪問(wèn): header headerValues cookie 示例: Session Id: $cookie.JSESSIONID.valueELv訪問(wèn)初始化參數(shù)訪問(wèn)初始化參數(shù) 訪問(wèn)web.xml中定義的初始化參數(shù): siteName Marshals Blog EL中調(diào)用: $initParam.siteName ELvEL操作符操作符 算術(shù)運(yùn)算符: +,-,*,/ 條件運(yùn)算符: $(user.male)?”男”:”女” 邏輯運(yùn)算符: &, | 比較運(yùn)算符: ,= 空操作符: empty $empty userName vE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論