Java Web 開發(fā)從入門到實(shí)戰(zhàn) 課件 第6章 Java Servlet基礎(chǔ)_第1頁
Java Web 開發(fā)從入門到實(shí)戰(zhàn) 課件 第6章 Java Servlet基礎(chǔ)_第2頁
Java Web 開發(fā)從入門到實(shí)戰(zhàn) 課件 第6章 Java Servlet基礎(chǔ)_第3頁
Java Web 開發(fā)從入門到實(shí)戰(zhàn) 課件 第6章 Java Servlet基礎(chǔ)_第4頁
Java Web 開發(fā)從入門到實(shí)戰(zhàn) 課件 第6章 Java Servlet基礎(chǔ)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第6章JavaServlet基礎(chǔ)學(xué)習(xí)目的與要求本章主要介紹Java

Servlet的基礎(chǔ)知識,包括部署Servlet、Servlet的生命周期、JSP頁面如何訪問Servlet、重定向與轉(zhuǎn)發(fā)等。通過本章的學(xué)習(xí),熟練掌握Servlet對象的創(chuàng)建與運(yùn)行,理解Servlet的生命周期與工作原理?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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對象編寫一個(gè)Servlet類很簡單,只要繼承jakarta.servlet.http包中的HttpServlet類,并重寫響應(yīng)HTTP請求的方法即可。HttpServlet類實(shí)現(xiàn)了Servlet接口,實(shí)現(xiàn)了響應(yīng)用戶請求的接口方法。HttpServlet類的一個(gè)子類習(xí)慣地稱為一個(gè)Servlet類,這樣的子類創(chuàng)建的對象又習(xí)慣地稱為servlet對象。【例6-1】一個(gè)簡單的Servlet類。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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對象的創(chuàng)建與運(yùn)行要想讓W(xué)eb服務(wù)器使用Servlet類編譯后的字節(jié)碼文件創(chuàng)建Servlet對象處理用戶請求,必須先為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)用的部署描述文件,包含如何將用戶請求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才能夠使用。這樣會給Web工程的維護(hù)帶來非常大的麻煩。從Servlet3.0開始提供了注解@WebServlet,使得不再需要在web.xml文件中進(jìn)行Servlet的部署描述,簡化開發(fā)流程。本書中后續(xù)的Servlet都是基于注解的方式部署。注解雖然方便了開發(fā)人員,但在后期會讓維護(hù)和調(diào)試成本增加。為方便后期維護(hù),建議開發(fā)人員部署Servlet時(shí)把@WebServlet的屬性urlPatterns的值設(shè)置為Servlet類的名字。例如:@WebServlet(name="secondServlet",urlPatterns={"/secondServlet"})publicclassSecondServletextendsHttpServlet{}《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

1.@WebServlet@WebServlet用于將一個(gè)類聲明為Servlet對象,該注解將會在部署時(shí)被Web容器處理,Web容器根據(jù)具體屬性將相應(yīng)的類部署為Servlet對象。屬性名類

型描

述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的取值??墒褂煤喕⒔?,如@WebServlet("/secondServlet"),其中“/secondServlet”為請求的URL,即urlPatterns屬性值?!纠?-2】基于注解的Servlet類——SecondServlet?!禞avaWeb開發(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?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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對象當(dāng)Servlet對象第一次被請求加載時(shí),服務(wù)器會創(chuàng)建一個(gè)Servlet對象,該Servlet對象調(diào)用init()方法完成必要的初始化工作。2.service方法響應(yīng)請求創(chuàng)建的Servlet對象再調(diào)用service方法響應(yīng)客戶的請求。3.Servlet對象死亡當(dāng)服務(wù)器關(guān)閉時(shí),Servlet對象調(diào)用destroy()方法使自己消亡。從上面三個(gè)過程來看,init()方法只能被調(diào)用一次,即在Servlet第一次被請求加載時(shí)調(diào)用該方法。當(dāng)客戶端請求Servlet服務(wù)時(shí),服務(wù)器將啟動一個(gè)新的線程,在該線程中,Servlet對象調(diào)用service()方法響應(yīng)客戶端的請求。那么多客戶端請求Servlet服務(wù)時(shí),服務(wù)器會怎么辦呢?服務(wù)器會為每個(gè)客戶端啟動一個(gè)新的線程,在每個(gè)線程中,Servlet對象調(diào)用service()方法響應(yīng)客戶端的請求。也就是說,每個(gè)客戶端請求都會導(dǎo)致service()方法被調(diào)用執(zhí)行,分別運(yùn)行在不同的線程中?!纠?-3】Servlet接口的init()、service()和destroy()方法?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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頁面的表單或超鏈接請求某個(gè)Servlet。通過JSP頁面訪問Servlet的好處是,JSP頁面負(fù)責(zé)頁面的靜態(tài)信息處理,動態(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對象,同時(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é)果返回。《JavaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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請求時(shí),就會產(chǎn)生一個(gè)新線程,在這個(gè)線程中讓Servlet對象調(diào)用service()方法為請求作出響應(yīng)。service()方法首先檢查HTTP請求類型(get或post),并在service()方法中根據(jù)用戶的請求方式,對應(yīng)地再調(diào)用doGet()或doPost()方法。HTTP請求類型為get方式時(shí),service()方法調(diào)用doGet()方法響應(yīng)用戶請求;HTTP請求類型為post方式時(shí),service()方法調(diào)用doPost()方法響應(yīng)用戶請求。因此,在Servlet類中,沒有必要重寫service()方法,直接繼承即可。在Servlet類中重寫doGet()或doPost()方法來響應(yī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ì)算矩形的面積?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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ā)是將用戶對當(dāng)前JSP頁面或Servlet的請求轉(zhuǎn)發(fā)給另一個(gè)JSP頁面或Servlet,以前的request中存放的信息不會失效。《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對象中獲取用戶提交的數(shù)據(jù)?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

6.6.2轉(zhuǎn)發(fā)jakarta.servlet.RequestDispatcher對象可以將用戶對當(dāng)前JSP頁面或Servlet的請求轉(zhuǎn)發(fā)給另一個(gè)JSP頁面或Servlet。實(shí)現(xiàn)轉(zhuǎn)發(fā)需要兩個(gè)步驟:1.獲得RequestDispatcher對象在當(dāng)前JSP頁面或Servlet中,使用request對象調(diào)用publicRequestDispatchergetRequestDispatcher(Stringurl)方法返回一個(gè)RequestDispatcher對象,其中參數(shù)url就是要轉(zhuǎn)發(fā)的JSP頁面或Servlet的地址,例如:

RequestDispatcher

dis=request.getRequestDispatcher("dologin");2.RequestDispatcher對象調(diào)用forward()方法實(shí)現(xiàn)轉(zhuǎn)發(fā)獲得RequestDispatcher對象之后,就可以使用該對象調(diào)用publicvoidforward(ServletRequestrequest,ServletResponseresponse)方法將用戶對當(dāng)前JSP頁面或Servlet的請求轉(zhuǎn)發(fā)給RequestDispatcher對象所指定的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將用戶對redirectForward.jsp頁面的請求轉(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將用戶的請求轉(zhuǎn)發(fā)給loginSuccess_1.jsp頁面,loginSuccess_1.jsp頁面顯示用戶輸入的信息?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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)前請求的會話對象可通過調(diào)用HttpServletRequest的getSession()方法實(shí)現(xiàn),例如:HttpSession

session

=request.getSession(true);//若存在會話則返回該會話,否則新建一個(gè)會話?;騂ttpSessionsession=request.getSession(false);//若存在會話則返回該會話,否則返回null。經(jīng)常情況下,通過第一種方式獲得session,即指定getSession()的參數(shù)為true。缺省參數(shù)為true,即request.getSession(true)等同于request.getSession()?!纠?-7】編寫JSP頁面useSession.jsp,在該頁面中通過表單向名為useSession的Servlet對象(由UseSessionServlet類負(fù)責(zé)創(chuàng)建)提交用戶名,useSession將用戶名存入用戶的session對象中,然后用戶請求另一個(gè)Servlet對象showName(由ShowNameServlet類負(fù)責(zé)創(chuàng)建),showName從用戶的session對象中取出存儲的用戶名,并顯示在瀏覽器中?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

目錄6.1Servlet類與Servlet對象6.2Servlet對象的創(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é): 模型——用于存儲數(shù)據(jù)以及處理用戶請求的業(yè)務(wù)邏輯。 視圖——向控制器提交數(shù)據(jù),顯示模型中的數(shù)據(jù)。 控制器——根據(jù)視圖提出的請求,判斷將請求和數(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對象,用于存儲數(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對象,根據(jù)視圖提交的請求進(jìn)行控制,即將請求轉(zhuǎn)發(fā)給處理業(yè)務(wù)邏輯的JavaBean,并將處理結(jié)果存放到實(shí)體模型JavaBean中,輸出給視圖顯示。瀏覽器Web服務(wù)器HTMLJSP(視圖)Servlet(控制器)JavaBean(模型)數(shù)據(jù)庫請求響應(yīng)請求顯示數(shù)據(jù)存儲數(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)簡單的用戶登錄驗(yàn)證程序,其中包括實(shí)體模型User、業(yè)務(wù)模型UserCheck、控制器LoginCheckServlet和兩個(gè)視圖頁面,即登錄頁面和登錄成功頁面?!禞avaWeb開發(fā)從入門到實(shí)戰(zhàn)(第2版·微課視頻版)》陳恒

主編,清華大學(xué)出版社,2024

6.8.3模型周期在基于Servlet的MVC模式中,控制器Servlet創(chuàng)建的實(shí)體模型JavaBean也涉及到生命周期,生命周期分別為request、session和application。《JavaWeb開發(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對象中并轉(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對象中并轉(zhuǎn)發(fā)給視圖JSPsession.setAttribute("user",user);//把裝有數(shù)據(jù)的模型user輸出給視圖loginSuccess.jsp頁面RequestDispatcherdis=request.getR

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論