內(nèi)容文本servlet基礎(chǔ)_第1頁
內(nèi)容文本servlet基礎(chǔ)_第2頁
內(nèi)容文本servlet基礎(chǔ)_第3頁
內(nèi)容文本servlet基礎(chǔ)_第4頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Servlet基礎(chǔ) 王浩宇web容器對于java而言 ,JVM是其操作系統(tǒng),java文件會(huì)編譯為.class文件,.class文件對于JVM而言,就是其可執(zhí)行文件web容器:視為運(yùn)行Servlet/jSP的HTTP服務(wù)器一個(gè)請求/響應(yīng)的例子(1) 客戶端對web服務(wù)器發(fā)出HTTP請求(2) HTTP服務(wù)器收到HTTP請求,將請求轉(zhuǎn)由Web容器處理,Web容器會(huì)剖析HTTP請求內(nèi)容,創(chuàng)建各種對象(HttpServletRequest,HttpServletResponse,HttpSession),(3) Web容器由請求的URL決定要使用哪個(gè)Servlet來處理請求(4)Servlet根據(jù)請求

2、對象的信息決定如何處理,通過響應(yīng)對象來創(chuàng)建響應(yīng)(5)Web容器與Http服務(wù)器溝通,Web服務(wù)器將響應(yīng)轉(zhuǎn)換為HTTP響應(yīng)并傳回客戶端創(chuàng)建兩個(gè)對象Servlet與JSP的關(guān)系JSP是一種腳本語言,包裝了Java Servlet系統(tǒng)的界面,簡化了Java和Servlet的使用難度,同時(shí)通過擴(kuò)展JSP標(biāo)簽(TAG)提供了網(wǎng)頁動(dòng)態(tài)執(zhí)行的能力。盡管如此,JSP仍沒有超出Java和Servlet的范圍,不僅JSP頁面上可以直接寫Java代碼,而且JSP是先被譯成Servlet之后才實(shí)際運(yùn)行的。JSP在服務(wù)器上執(zhí)行,并將執(zhí)行結(jié)果輸出到客戶端瀏覽器,我們可以說基本上與瀏覽器無關(guān)。它是與JavaScript不同

3、的,JavaScript是在客戶端的腳本語言,在客戶端執(zhí)行,與服務(wù)器無關(guān)HttpServletRequest對象getParameter();根據(jù)請求參數(shù)取得對應(yīng)的值getParameterValues():如果窗體上有可復(fù)選的元件,獲得如checkbox類(名字相同,但值有多個(gè))的數(shù)據(jù),接收數(shù)組變量getParameterNames()方法是將發(fā)送請求頁面中form表單里所有具有name屬性的表單對象獲取(包括button).返回一個(gè)Enumeration類型的枚舉. getParameterMap()的返回類型是Map類型的對象,也就是符合key-value的對應(yīng)關(guān)系,但這里要注意的是,v

4、alue的類型是String,而不是String Post與Get編碼處理Get亂碼解決方案一種:是通過String類的getBytes方法進(jìn)行編碼轉(zhuǎn)換,具體java代碼是:new String(request.getParameter(“name”).getBytes(“iso-8859-1”),“客戶端編碼方式”)第二種:在服務(wù)器xml代碼中改配置信息:Post亂碼解決方案:Request.setCharacterEncoding()設(shè)置編碼,然后通過request.getParameter獲得正確的數(shù)據(jù)RequestDispatcher調(diào)派請求RequestDispatcher是一個(gè)We

5、b資源的包裝器,可以用來把當(dāng)前request傳遞到該資源,或者把新的資源包括到當(dāng)前響應(yīng)中Post與Get的區(qū)別1、Get是用來從服務(wù)器上獲得數(shù)據(jù),而Post是用來向服務(wù)器上傳遞數(shù)據(jù)。2、Get將表單中數(shù)據(jù)的按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個(gè)變量之間使用“&”連接;Post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量和值相對應(yīng)的方式,傳遞到action所指向URL。3、Get是不安全的,因?yàn)樵趥鬏斶^程,數(shù)據(jù)被放在請求的URL中,而如今現(xiàn)有的很多服務(wù)器、代理服務(wù)器或者用戶代理都會(huì)將請求URL記錄到日志文件中,然后放在某個(gè)地方,這樣就可能會(huì)有一些隱私的信息被第三方看到。另外,用戶也可以在瀏覽器上直接看到提交的數(shù)據(jù),一些系統(tǒng)內(nèi)部消息將會(huì)一同顯示在用戶面前。Post的所有操作對用戶來說都是不可見的。4、Get傳輸?shù)臄?shù)據(jù)量小,這主要是因?yàn)槭躑RL長度限制;而Post可以傳輸大量的數(shù)據(jù),所以在上傳文件只能使用Post(當(dāng)然還有一個(gè)原因,將在后面的

溫馨提示

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

最新文檔

評論

0/150

提交評論