版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章JavaServlet基礎(chǔ)學(xué)習(xí)目的與要求本章主要介紹Java
Servlet的基礎(chǔ)知識(shí),包括部署Servlet、Servlet的生命周期、JSP頁面如何訪問Servlet、重定向與轉(zhuǎn)發(fā)等。通過本章的學(xué)習(xí),熟練掌握Servlet對(duì)象的創(chuàng)建與運(yùn)行,理解Servlet的生命周期與工作原理?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.1Servlet類與Servlet對(duì)象編寫一個(gè)Servlet類很簡(jiǎn)單,只要繼承jakarta.servlet.http包中的HttpServlet類,并重寫響應(yīng)HTTP請(qǐng)求的方法即可。HttpServlet類實(shí)現(xiàn)了Servlet接口,實(shí)現(xiàn)了響應(yīng)用戶請(qǐng)求的接口方法。HttpServlet類的一個(gè)子類習(xí)慣地稱為一個(gè)Servlet類,這樣的子類創(chuàng)建的對(duì)象又習(xí)慣地稱為servlet對(duì)象。【例6-1】一個(gè)簡(jiǎn)單的Servlet類。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行要想讓W(xué)eb服務(wù)器使用Servlet類編譯后的字節(jié)碼文件創(chuàng)建Servlet對(duì)象處理用戶請(qǐng)求,必須先為Web服務(wù)器部署Servlet。部署Servlet,目前有兩種方式:一是在web.xml中部署Servlet;一是基于注解的方式部署Servlet。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2.1在web.xml中部署Servletweb.xml文件由Web服務(wù)器負(fù)責(zé)管理,該文件是Web應(yīng)用的部署描述文件,包含如何將用戶請(qǐng)求URL映射到Servlet。因此,可以在Web項(xiàng)目的web\WEB-INF\web.xml文件中,部署自己的Servlet。<servlet> <servlet-name>firstServlet</servlet-name> <servlet-class>servlet.FirstServlet</servlet-class></servlet><servlet-mapping> <servlet-name>firstServlet</servlet-name> <url-pattern>/firstServlet</url-pattern></servlet-mapping>《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2.2基于注解的方式部署Servlet從6.2.1節(jié)可知,每開發(fā)一個(gè)Servlet,都要在web.xml文件中部署Servlet才能夠使用。這樣會(huì)給Web工程的維護(hù)帶來非常大的麻煩。從Servlet3.0開始提供了注解@WebServlet,使得不再需要在web.xml文件中進(jìn)行Servlet的部署描述,簡(jiǎn)化開發(fā)流程。本書中后續(xù)的Servlet都是基于注解的方式部署。注解雖然方便了開發(fā)人員,但在后期會(huì)讓維護(hù)和調(diào)試成本增加。為方便后期維護(hù),建議開發(fā)人員部署Servlet時(shí)把@WebServlet的屬性u(píng)rlPatterns的值設(shè)置為Servlet類的名字。例如:@WebServlet(name="secondServlet",urlPatterns={"/secondServlet"})publicclassSecondServletextendsHttpServlet{}《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
1.@WebServlet@WebServlet用于將一個(gè)類聲明為Servlet對(duì)象,該注解將會(huì)在部署時(shí)被Web容器處理,Web容器根據(jù)具體屬性將相應(yīng)的類部署為Servlet對(duì)象。屬性名類
型描
述nameString指定Servlet的name屬性,等價(jià)于<servlet-name>。如果沒有顯式指定,則該Servlet的取值即為類的全名。valueString[]該屬性等價(jià)于urlPatterns屬性。兩個(gè)屬性不能同時(shí)使用。urlPatternsString[]指定一組Servlet的URL匹配模式。等價(jià)于<url-pattern>標(biāo)簽。loadOnStartupint指定Servlet的加載順序,等價(jià)于<load-on-startup>標(biāo)簽。initParamsWebInitParam[]指定一組Servlet初始化參數(shù),等價(jià)于<init-param>標(biāo)簽。以上所有屬性均為可選屬性,但是vlaue或者urlPatterns通常是必需的,且二者不能共存,如果同時(shí)指定,通常是忽略value的取值??墒褂煤?jiǎn)化注解,如@WebServlet("/secondServlet"),其中“/secondServlet”為請(qǐng)求的URL,即urlPatterns屬性值?!纠?-2】基于注解的Servlet類——SecondServlet。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
2.@WebInitParam@WebInitParam注解通常不單獨(dú)使用,而是配合@WebServlet和@WebFilter(第8章講解)使用。它的作用是為Servlet或Filter指定初始化參數(shù),這等價(jià)于web.xml中<servlet>的<init-param>子標(biāo)簽。屬性名類
型是否可選描
述nameString否指定參數(shù)的名字,等價(jià)于<param-name>。valueString否指定參數(shù)的值,等價(jià)于<param-value>。@WebServlet(name="thirdServlet",urlPatterns={"/thirdServlet"},initParams={@WebInitParam(name="firstParam",value="one"),@WebInitParam(name="secondParam",value="two")})《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.2.3實(shí)踐環(huán)節(jié)——@WebServlet的應(yīng)用首先,將web.xml文件中有關(guān)Servlet的部署代碼刪除,然后使用注解的方式部署例6-1的Servlet,并運(yùn)行部署后的Servlet。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.3Servlet的生命周期1.初始化Servlet對(duì)象當(dāng)Servlet對(duì)象第一次被請(qǐng)求加載時(shí),服務(wù)器會(huì)創(chuàng)建一個(gè)Servlet對(duì)象,該Servlet對(duì)象調(diào)用init()方法完成必要的初始化工作。2.service方法響應(yīng)請(qǐng)求創(chuàng)建的Servlet對(duì)象再調(diào)用service方法響應(yīng)客戶的請(qǐng)求。3.Servlet對(duì)象死亡當(dāng)服務(wù)器關(guān)閉時(shí),Servlet對(duì)象調(diào)用destroy()方法使自己消亡。從上面三個(gè)過程來看,init()方法只能被調(diào)用一次,即在Servlet第一次被請(qǐng)求加載時(shí)調(diào)用該方法。當(dāng)客戶端請(qǐng)求Servlet服務(wù)時(shí),服務(wù)器將啟動(dòng)一個(gè)新的線程,在該線程中,Servlet對(duì)象調(diào)用service()方法響應(yīng)客戶端的請(qǐng)求。那么多客戶端請(qǐng)求Servlet服務(wù)時(shí),服務(wù)器會(huì)怎么辦呢?服務(wù)器會(huì)為每個(gè)客戶端啟動(dòng)一個(gè)新的線程,在每個(gè)線程中,Servlet對(duì)象調(diào)用service()方法響應(yīng)客戶端的請(qǐng)求。也就是說,每個(gè)客戶端請(qǐng)求都會(huì)導(dǎo)致service()方法被調(diào)用執(zhí)行,分別運(yùn)行在不同的線程中?!纠?-3】Servlet接口的init()、service()和destroy()方法。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.4通過JSP頁面訪問Servlet可以通過JSP頁面的表單或超鏈接請(qǐng)求某個(gè)Servlet。通過JSP頁面訪問Servlet的好處是,JSP頁面負(fù)責(zé)頁面的靜態(tài)信息處理,動(dòng)態(tài)信息處理由Servlet完成。1.通過表單訪問Servlet假設(shè)在JSP頁面中,有如下表單:<formaction="isLogin"method="post">……</form>那么該表單的處理程序(action)就是一個(gè)Servlet,為該Servlet部署時(shí),@WebServlet
的urlPatterns屬性值為“{"/isLogin"}”。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.4通過JSP頁面訪問Servlet2.通過超鏈接訪問Servlet在JSP頁面中,可以單擊超鏈接,訪問Servlet對(duì)象,同時(shí)也可以通過超鏈接向Servlet提交信息,例如,<ahref="loginServlet?user=taipingle&&pwd=zhenzuile">查看用戶名和密碼</a>,“查看用戶名和密碼”這個(gè)超鏈接就將user=taipingle和pwd=zhenzuile兩個(gè)信息提交給Servlet處理。【例6-4】編寫JSP頁面login.jsp,在該頁面中通過表單向urlPatterns為“{"/loginServlet"}”的Servlet(由LoginServlet類負(fù)責(zé)創(chuàng)建)提交用戶名和密碼,Servlet負(fù)責(zé)判斷輸入的用戶名和密碼是否正確,并把判斷結(jié)果返回?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.5doGet()和doPost()方法當(dāng)服務(wù)器接收到一個(gè)Servlet請(qǐng)求時(shí),就會(huì)產(chǎn)生一個(gè)新線程,在這個(gè)線程中讓Servlet對(duì)象調(diào)用service()方法為請(qǐng)求作出響應(yīng)。service()方法首先檢查HTTP請(qǐng)求類型(get或post),并在service()方法中根據(jù)用戶的請(qǐng)求方式,對(duì)應(yīng)地再調(diào)用doGet()或doPost()方法。HTTP請(qǐng)求類型為get方式時(shí),service()方法調(diào)用doGet()方法響應(yīng)用戶請(qǐng)求;HTTP請(qǐng)求類型為post方式時(shí),service()方法調(diào)用doPost()方法響應(yīng)用戶請(qǐng)求。因此,在Servlet類中,沒有必要重寫service()方法,直接繼承即可。在Servlet類中重寫doGet()或doPost()方法來響應(yīng)用戶的請(qǐng)求,這樣可以增加響應(yīng)的靈活性,同時(shí)減輕服務(wù)器的負(fù)擔(dān)?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.5doGet()和doPost()方法【例6-5】編寫JSP頁面inputLader.jsp,在該頁面中使用表單向urlPatterns為“{"/getLengthOrAreaServlet"}”的Servlet提交矩形的長與寬。Servlet(由GetLengthOrAreaServlet負(fù)責(zé)創(chuàng)建)處理手段依賴表單提交數(shù)據(jù)的方式,當(dāng)提交方式為get時(shí),Servlet計(jì)算矩形的周長,當(dāng)提交方式為post時(shí),Servlet計(jì)算矩形的面積。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6重定向與轉(zhuǎn)發(fā)重定向是將用戶從當(dāng)前JSP頁面或Servlet定向到另一個(gè)JSP頁面或Servlet,以前的request中存放的信息全部失效,并進(jìn)入一個(gè)新的request作用域;轉(zhuǎn)發(fā)是將用戶對(duì)當(dāng)前JSP頁面或Servlet的請(qǐng)求轉(zhuǎn)發(fā)給另一個(gè)JSP頁面或Servlet,以前的request中存放的信息不會(huì)失效。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6.1重定向在Servlet中通過調(diào)用HttpServletResponse類中的方法sendRedirect(String
location)來實(shí)現(xiàn)重定向,重定向的目標(biāo)頁面或Servlet(由參數(shù)location指定),無法從以前的request對(duì)象中獲取用戶提交的數(shù)據(jù)。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6.2轉(zhuǎn)發(fā)jakarta.servlet.RequestDispatcher對(duì)象可以將用戶對(duì)當(dāng)前JSP頁面或Servlet的請(qǐng)求轉(zhuǎn)發(fā)給另一個(gè)JSP頁面或Servlet。實(shí)現(xiàn)轉(zhuǎn)發(fā)需要兩個(gè)步驟:1.獲得RequestDispatcher對(duì)象在當(dāng)前JSP頁面或Servlet中,使用request對(duì)象調(diào)用publicRequestDispatchergetRequestDispatcher(Stringurl)方法返回一個(gè)RequestDispatcher對(duì)象,其中參數(shù)url就是要轉(zhuǎn)發(fā)的JSP頁面或Servlet的地址,例如:
RequestDispatcher
dis=request.getRequestDispatcher("dologin");2.RequestDispatcher對(duì)象調(diào)用forward()方法實(shí)現(xiàn)轉(zhuǎn)發(fā)獲得RequestDispatcher對(duì)象之后,就可以使用該對(duì)象調(diào)用publicvoidforward(ServletRequestrequest,ServletResponseresponse)方法將用戶對(duì)當(dāng)前JSP頁面或Servlet的請(qǐng)求轉(zhuǎn)發(fā)給RequestDispatcher對(duì)象所指定的JSP頁面或Servlet。例如:
dis.forward(request,response);《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
重定向與轉(zhuǎn)發(fā)示例【例6-6】編寫JSP頁面redirectForward.jsp,在該JSP頁面中通過表單向urlPatterns為“{"/redirectForwardServlet"}”的Servlet(由RedirectForwardServlet負(fù)責(zé)創(chuàng)建)提交用戶名和密碼。如果用戶輸入的數(shù)據(jù)不完整,redirectForwardServlet將用戶重定向到redirectForward.jsp頁面;如果用戶輸入的數(shù)據(jù)完整,redirectForwardServlet將用戶對(duì)redirectForward.jsp頁面的請(qǐng)求轉(zhuǎn)發(fā)給urlPatterns為“{"/showServlet"}”的Servlet(由ShowServlet負(fù)責(zé)創(chuàng)建),showServlet顯示用戶輸入的信息?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.6.3實(shí)踐環(huán)節(jié)——登錄驗(yàn)證編寫登錄頁面login_1.jsp,在該JSP頁面中通過表單向urlPatterns為“{"/loginServlet_1"}”的Servlet(由LoginServlet_1類負(fù)責(zé)創(chuàng)建)提交用戶名和密碼。如果用戶輸入的數(shù)據(jù)不完整,loginServlet_1將用戶重定向到login_1.jsp頁面;如果用戶輸入的數(shù)據(jù)完整并正確(用戶名“zhangsan”,密碼“123”),loginServlet_1將用戶的請(qǐng)求轉(zhuǎn)發(fā)給loginSuccess_1.jsp頁面,loginSuccess_1.jsp頁面顯示用戶輸入的信息。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.7在JavaServlet中使用session在Servlet中獲得當(dāng)前請(qǐng)求的會(huì)話對(duì)象可通過調(diào)用HttpServletRequest的getSession()方法實(shí)現(xiàn),例如:HttpSession
session
=request.getSession(true);//若存在會(huì)話則返回該會(huì)話,否則新建一個(gè)會(huì)話?;騂ttpSessionsession=request.getSession(false);//若存在會(huì)話則返回該會(huì)話,否則返回null。經(jīng)常情況下,通過第一種方式獲得session,即指定getSession()的參數(shù)為true。缺省參數(shù)為true,即request.getSession(true)等同于request.getSession()?!纠?-7】編寫JSP頁面useSession.jsp,在該頁面中通過表單向名為useSession的Servlet對(duì)象(由UseSessionServlet類負(fù)責(zé)創(chuàng)建)提交用戶名,useSession將用戶名存入用戶的session對(duì)象中,然后用戶請(qǐng)求另一個(gè)Servlet對(duì)象showName(由ShowNameServlet類負(fù)責(zé)創(chuàng)建),showName從用戶的session對(duì)象中取出存儲(chǔ)的用戶名,并顯示在瀏覽器中。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
目錄6.1Servlet類與Servlet對(duì)象6.2Servlet對(duì)象的創(chuàng)建與運(yùn)行6.3Servlet的生命周期6.4通過JSP頁面訪問Servlet6.5doGet()和doPost()方法6.6重定向與轉(zhuǎn)發(fā)6.7在JavaServlet中使用session6.8基于Servlet的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.8.1MVC模式MVC是Model、View、Controller的縮寫,分別代表Web應(yīng)用程序中的三種職責(zé): 模型——用于存儲(chǔ)數(shù)據(jù)以及處理用戶請(qǐng)求的業(yè)務(wù)邏輯。 視圖——向控制器提交數(shù)據(jù),顯示模型中的數(shù)據(jù)。 控制器——根據(jù)視圖提出的請(qǐng)求,判斷將請(qǐng)求和數(shù)據(jù)交給哪個(gè)模型處理,處理后的有關(guān)結(jié)果交給哪個(gè)視圖更新顯示?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
2.基于Servlet的MVC模式基于Servlet的MVC模式的具體實(shí)現(xiàn)如下: 模型:一個(gè)或多個(gè)JavaBean對(duì)象,用于存儲(chǔ)數(shù)據(jù)(實(shí)體模型,由JavaBean類創(chuàng)建)和處理業(yè)務(wù)邏輯(業(yè)務(wù)模型,由一般的Java類創(chuàng)建)。 視圖:一個(gè)或多個(gè)JSP頁面,向控制器提交數(shù)據(jù)和為模型提供數(shù)據(jù)顯示,JSP頁面主要使用HTML標(biāo)記和JavaBean標(biāo)記來顯示數(shù)據(jù)。 控制器:一個(gè)或多個(gè)Servlet對(duì)象,根據(jù)視圖提交的請(qǐng)求進(jìn)行控制,即將請(qǐng)求轉(zhuǎn)發(fā)給處理業(yè)務(wù)邏輯的JavaBean,并將處理結(jié)果存放到實(shí)體模型JavaBean中,輸出給視圖顯示。瀏覽器Web服務(wù)器HTMLJSP(視圖)Servlet(控制器)JavaBean(模型)數(shù)據(jù)庫請(qǐng)求響應(yīng)請(qǐng)求顯示數(shù)據(jù)存儲(chǔ)數(shù)據(jù)處理數(shù)據(jù)圖6.7JSP中的MVC模式《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.8.2使用JSP、Servlet、JavaBean實(shí)現(xiàn)MVC【例6-8】使用MVC模式實(shí)現(xiàn)簡(jiǎn)單的用戶登錄驗(yàn)證程序,其中包括實(shí)體模型User、業(yè)務(wù)模型UserCheck、控制器LoginCheckServlet和兩個(gè)視圖頁面,即登錄頁面和登錄成功頁面。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
6.8.3模型周期在基于Servlet的MVC模式中,控制器Servlet創(chuàng)建的實(shí)體模型JavaBean也涉及到生命周期,生命周期分別為request、session和application?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
request周期的模型(1)創(chuàng)建模型并把數(shù)據(jù)保存到模型中Useruser=newUser();//實(shí)例化模型useruser.setName(name);//把數(shù)據(jù)存在模型user中user.setPwd(pwd);//把數(shù)據(jù)存在模型user中(2)將模型保存到request對(duì)象中并轉(zhuǎn)發(fā)給視圖JSPrequest.setAttribute("user",user);//把裝有數(shù)據(jù)的模型user輸出給視圖loginSuccess.jsp頁面RequestDispatcherdis=request.getRequestDispatcher("loginSuccess.jsp");dis.forward(request,response);(3)視圖更新<jsp:useBeanid="user"type="dto.User"scope="request"/><jsp:getPropertyproperty="name"name="user"/>《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒
主編,清華大學(xué)出版社,2024
session周期的模型(1)創(chuàng)建模型并把數(shù)據(jù)保存到模型中Useruser=newUser();//實(shí)例化模型useruser.setName(name);//把數(shù)據(jù)存在模型user中user.setPwd(pwd);//把數(shù)據(jù)存在模型user中(2)將模型保存到session對(duì)象中并轉(zhuǎn)發(fā)給視圖JSPsession.setAttribute("user",user);//把裝有數(shù)據(jù)的模型user輸出給視圖loginSuccess.jsp頁面RequestDispatcherdis=request.getR
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025餐飲業(yè)加盟合同書
- 鐘點(diǎn)工保姆短期合同模板
- 上海市美術(shù)館租賃協(xié)議
- 游泳池混凝土施工承包合同
- 籃球場(chǎng)別墅花園施工合同
- 商業(yè)園區(qū)便道鋪設(shè)項(xiàng)目合同
- 遺贈(zèng)撫養(yǎng)協(xié)議書個(gè)人儲(chǔ)蓄分配
- 食品企業(yè)退休品控師合同
- 能源開發(fā)合同攪拌站租賃合同
- 城市垃圾處理工程圍擋合同
- 2024滬粵版八年級(jí)上冊(cè)物理期末復(fù)習(xí)全冊(cè)知識(shí)點(diǎn)考點(diǎn)提綱
- 人教版2024-2025學(xué)年第一學(xué)期八年級(jí)物理期末綜合復(fù)習(xí)練習(xí)卷(含答案)
- 遼寧省沈陽市2023-2024學(xué)年五年級(jí)上學(xué)期語文期末考試試卷(含答案)
- 反間諜主題班會(huì)
- 基礎(chǔ)模塊2 Unit8 Green Earth單元測(cè)試-2025年中職高考英語一輪復(fù)習(xí)講練測(cè)(高教版2023修訂版·全國用)
- 科學(xué)認(rèn)識(shí)天氣智慧樹知到期末考試答案2024年
- (高清版)DZT 0261-2014 滑坡崩塌泥石流災(zāi)害調(diào)查規(guī)范(1:50000)
- 考試瘋云(校園小品)
- 基坑工程專項(xiàng)施工方案
- 財(cái)務(wù)評(píng)價(jià)輔助報(bào)表和基本報(bào)表
- 廣州狀元坊歷史文化街區(qū)更新改造前期調(diào)研圖文.ppt
評(píng)論
0/150
提交評(píng)論