




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章Servlet目標(biāo)掌握Servlet的概念掌握Servlet在MVC中的作用掌握Servlet的doPost方法和doGet方法概述在使用MVC架構(gòu)的Web應(yīng)用中,控制器Controller一般使用Servlet來實(shí)現(xiàn)本章將介紹Servlet的概念,生命周期,以及如何編寫Servlet程序Servlet介紹JavaServlet是與平臺無關(guān)的服務(wù)器端組件,它運(yùn)行在Servlet容器中Servlet容器負(fù)責(zé)Servlet和客戶的通信以及調(diào)用Servlet的方法Servlet和客戶的通信采用“請求/響應(yīng)”模式Servlet介紹每一個(gè)JSP頁面就是一個(gè)ServletJSP在執(zhí)行時(shí),Web服務(wù)器先要把JSP頁面翻譯成Java源代碼,而這個(gè)源代碼就是一個(gè)ServletServlet可以完成JSP的所有功能Servlet介紹Servlet在MVC中的工作方式接收客戶的請求根據(jù)請求調(diào)用JavaBean進(jìn)理將處理結(jié)果進(jìn)行存儲將控制轉(zhuǎn)到JSP頁面,讓JSP客戶顯示處理結(jié)果Servlet介紹要實(shí)現(xiàn)Servlet程序,需要創(chuàng)建一個(gè)Servlet類,該類必須繼承javax.servlet.http.HttpServlet以“顯示客戶列表”為例,處理客戶請求的Servlet如下:Servlet中的幾個(gè)常見方法init()方法:Servlet初始化destroy()方法:Servlet銷毀時(shí)調(diào)用doGet()方法:處理Get請求doPost()方法:處理Post請求doGet()方法和doPost()方法中的參數(shù)HttpServletRequest對象包含請求信息HttpServletResponse對象包含響應(yīng)信息Servlet介紹Servlet介紹publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse) throwsServletException,IOException{
Stringaction=request.getParameter("action");
//獲取請求參數(shù)
StringjspPage="../admin/userinfo.jsp";if((action==null)||(action.length()<1)){action="default";}if("default".equals(action)){jspPage="../admin/userinfo.jsp";}elseif("displaylist".equals(action)){
Listuserinfos=UserinfoManager.getUserinfos();
//調(diào)用JavaBean的方法
request.setAttribute("userinfos",userinfos);
//在request范圍存儲數(shù)據(jù)
jspPage="../admin/userinfoDisplayList.jsp";}
RequestDispatcherrd=this.getServletContext().getRequestDispatcher(jspPage);
//指定轉(zhuǎn)發(fā)路徑
rd.forward(request,response);
//轉(zhuǎn)發(fā)請求}Servlet分析在Servlet規(guī)范中,所有的Servlet必須實(shí)現(xiàn)java.servlet.Servlet接口java.servlet.Servlet接口方法:方法描述init初始化ServletdestroyServlet結(jié)束時(shí)調(diào)用getServletInfo得到有關(guān)Servlet的信息getServletConfig得到與Servlet實(shí)例相關(guān)聯(lián)的javax.servlet.ServletConfig對象service容器調(diào)用這個(gè)方法向Servlet傳遞一個(gè)請求來進(jìn)行處理。Servlet必須處理這個(gè)請求,并提供響應(yīng)抽象類GenericServlet實(shí)現(xiàn)了Servlet接口在GenericServlet中service()方法被定義成抽象方法抽象類HttpServlet擴(kuò)展了GenericServlet,覆蓋了
Servlet方法
Servlet分析Servlet接口到用戶Servlet的關(guān)系圖Servlet分析作為HttpServlet的子類,用戶類可以根據(jù)需要覆蓋一些方法方法描述doGet處理HTTPGet請求doPost處理HTTPPost請求doPut處理HTTPPut請求(很少使用)doDelete處理HTTPDelete請求(很少使用)init和javax.servlet.Servlet接口init一致destroy和javax.servlet.Servlet接口destroy一致getServletInfo和javax.servlet.Servlet接口getServletInfo一致Servlet分析Servlet生命周期3個(gè)階段:初始化階段、響應(yīng)客戶請求階段和終止階段Servlet生命周期web.xml文件的內(nèi)容由J2EE規(guī)
范描述。每個(gè)Web應(yīng)用都需要
有這個(gè)文件Servlet在web.xml中的配置<web-app><servlet><description></description><display-name></display-name><servlet-name></servlet-name><servlet-class></servlet-class></servlet><servlet-mapping><servlet-name></servlet-name><url-pattern></url-pattern></servlet-mapping></web-app>Servlet在Web.Xml中的描述Servlet在Web.Xml中的描述Servlet聲明<servlet><description>shoponlineuserinfoAction</description><display-name>shoponlineuserinfoAction</display-name><servlet-name>UserinfoAction</servlet-name><servlet-class>com.wish.shopOnline.servlets.UserinfoAction</servlet-class></servlet>Servlet在Web.Xml中的描述Servlet映射<servlet-mapping><servlet-name>UserinfoAction</servlet-name><url-pattern>/servlet/UserinfoAction</url-pattern></servlet-mapping>對UserinfoAction的URL請求示例:<ahref="servlet/UserinfoAction?action=displaylist">
顯示客戶列表</a>ServletRequest和ServletResponse當(dāng)容器接收到請求后,會調(diào)用HttpServlet的service()方法service方法根據(jù)請求方式的不同調(diào)用doGet()或doPost()方法doGet()和doPost()方法有兩個(gè)參數(shù):HttpServletRequest和HttpServletResponse分別繼承自ServletRequest和ServletResponseServletRequest和ServletResponseServletRequest接口中封裝了客戶請求信息客戶請求方式請求參數(shù)名/值對客戶端正在使用的協(xié)議發(fā)出客戶請求的遠(yuǎn)程主機(jī)信息ServletRequest和ServletResponseServletRequest接口提供的部分方法方法描述getParameter根據(jù)給定的參數(shù)名返回參數(shù)值getAttribute根據(jù)參數(shù)給定的屬性名返回屬性值setAttribute在ServletRequest中設(shè)置屬性(包括屬性名和屬性值)getInputStream返回客戶請求數(shù)據(jù)的輸入流(二進(jìn)制流)getContentType返回客戶請求數(shù)據(jù)MIME類型getRemoteAddr返回遠(yuǎn)程客戶主機(jī)的IP地址getRemoteHost返回遠(yuǎn)程客戶主機(jī)名getRemotePort返回遠(yuǎn)程客戶主機(jī)的端口ServletRequest和ServletResponseServletResponse接口為Servlet提供了返回響應(yīng)結(jié)果的方法方法描述getOutputStream返回可以向客戶端發(fā)送二進(jìn)制數(shù)據(jù)的ServletOutpuStream對象getWriter返回可以向客戶端發(fā)送字符數(shù)據(jù)的PrintWriter對象setContentType設(shè)置響應(yīng)數(shù)據(jù)的MIME類型getContentType返回響應(yīng)數(shù)據(jù)的MIME類型setCharacterEncoding設(shè)置響應(yīng)數(shù)據(jù)的字符編碼getCharacterEncoding返回響應(yīng)數(shù)據(jù)的字符編碼ServletRequest和ServletResponse例如在UserinfoAction中,需要從客戶請求中獲取請求參數(shù),使用方法如下:Stringaction=request.getParameter("action");JavaServlet是與平臺無關(guān)的服務(wù)器端組件,它運(yùn)行在Servlet容器中Servlet在MVC中的作用是接收客戶的請求,根據(jù)請求調(diào)用JavaBean處理請求,然后把處理結(jié)果轉(zhuǎn)發(fā)給JSP頁面作為Servlet類必須實(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年03月四川自貢市沿灘區(qū)就業(yè)創(chuàng)業(yè)促進(jìn)中心公開招聘高校畢業(yè)生公共服務(wù)崗5人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 運(yùn)載火箭振動試驗(yàn)塔項(xiàng)目安全評估報(bào)告
- 信陽學(xué)院《滲流力學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 成都工業(yè)職業(yè)技術(shù)學(xué)院《審計(jì)學(xué)原理1》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東省普寧市華僑中學(xué)2024-2025學(xué)年高考最后沖刺模擬(一)歷史試題含解析
- 南華大學(xué)船山學(xué)院《基礎(chǔ)泰語(四)》2023-2024學(xué)年第二學(xué)期期末試卷
- 云南大學(xué)《漢語語法研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 銅陵職業(yè)技術(shù)學(xué)院《學(xué)術(shù)規(guī)范和論文寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 萬能桿件項(xiàng)目風(fēng)險(xiǎn)評估報(bào)告
- 甘肅省蘭州名校2024-2025學(xué)年高三暑期作業(yè)反饋(開學(xué)考試)化學(xué)試題含解析
- c語言程序設(shè)計(jì)第7章數(shù)組課件
- 土地污染及其防治課件
- “科學(xué)與文化論著研習(xí)”學(xué)習(xí)任務(wù)群的課程論分析
- 幼兒園《角色游戲》課件
- 先心病的護(hù)理課件
- 近視眼的防控課件
- 抖音直播運(yùn)營團(tuán)隊(duì)薪酬績效考核管理方案(直播帶貨團(tuán)隊(duì)薪酬績效提成方案)
- 壓電陶瓷精品課件
- 教學(xué)課件·植物組織培養(yǎng)
- 部編版語文一年級下冊識字8-人之初市級優(yōu)質(zhì)課課件
- 基于仿真的軸承動力學(xué)分析設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書
評論
0/150
提交評論