第九章 MVC模式.docx_第1頁
第九章 MVC模式.docx_第2頁
第九章 MVC模式.docx_第3頁
第九章 MVC模式.docx_第4頁
第九章 MVC模式.docx_第5頁
全文預覽已結(jié)束

下載本文檔

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

文檔簡介

第九章 MVC模式(網(wǎng)站開發(fā)模式二)一、網(wǎng)站開發(fā)模式JSP+JavaBean開發(fā)模式 DAO模式 JSP+DAOMVC開發(fā)模式。jsp+javabean:此方式適合快速開發(fā),規(guī)模比較小,開發(fā)人員比較少,不太需要維護的一次性開發(fā)完成的小應用。DB瀏覽器DBJavabeanJsp瀏覽器使用此種設計模式,開發(fā)速度很快,但是jsp頁面與javabean之間緊密耦合,會對開發(fā)和維護造成麻煩維護時 ,javabean和jsp緊密耦合,修改麻煩二、MVC模式Servlet(Controler)requestJSP+Servlet+JavaBean:適合團隊開發(fā),開發(fā)速度相對來說比較慢,但是可維護性比較高。Jsp(View)Javabean(Mode)responseEL表達式調(diào)用javabeanJsp優(yōu)點:開發(fā)前臺界面方便Servlet的優(yōu)點:他是java程序,安全性高,性能高 缺點:顯示不方便Servlet可以像jsp一樣接受用戶提交的請求參數(shù)現(xiàn)在把jsp頁面接受參數(shù)和調(diào)用javabean的工作交給ServletJSP和servlet有關(guān),和javabean沒有直接關(guān)系了,這就是MVC模式Javabean的優(yōu)點:可以重復調(diào)用,需要接受用戶的請求參數(shù),進行相應的處理。MVC模式就是:JSPServlet-javabean。頁面跳轉(zhuǎn)的問題:Jsp頁面跳轉(zhuǎn)到servlet:表單提交或者超鏈接Servlet跳轉(zhuǎn)到JSP頁面:可以通過response.sendRedirect()(這種跳轉(zhuǎn)是地址欄發(fā)生改變的跳轉(zhuǎn),和jsp:forward是不同的)。復習:jsp中兩種跳轉(zhuǎn)的區(qū)別Reponse.sendredirect():客戶端跳轉(zhuǎn),請求不能夠連續(xù)保存,request范圍里的值不能保存到后續(xù)頁面:服務器端跳轉(zhuǎn),request請求的值還可以保存到后續(xù)頁面。JSP頁面的四種屬性保存范圍:page,request,session,application考慮問題: 從servlet中要傳遞的值只使用一次。如果把此值放在session范圍中,則此內(nèi)容只要用戶一直與服務器保存連接,則此值一直存在,服務器端這塊內(nèi)存空間將一直被占用,這樣性能會很低。解決辦法:RequestDispatcher接口三、RequestDispatcher接口的使用RequestDispatcher接口主要用于Servlet到JSP頁面的跳轉(zhuǎn),是用于進行服務器端跳轉(zhuǎn)的接口此接口要求使用HttpServletRequest進行實例化。javax.servlet Interface RequestDispatcherRequestDispatcher接口中的方法public void forward(ServletRequestrequest, 常用 ServletResponseresponse) throws ServletException, java.io.IOExceptionpublic void include(ServletRequestrequest, ServletResponseresponse) throws ServletException, java.io.IOExceptionServlet跳轉(zhuǎn)到jsp頁面的服務器端跳轉(zhuǎn)的指令為:request.getRequestDispatcher(form.jsp).forward(request, response);/form.html用戶名:/SrevletDemo01.jspprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);/重定向/response.sendRedirect(form.jsp);/*RequestDispatcher rd = request.getRequestDispatcher(form.jsp);/準備跳轉(zhuǎn)到jsp頁面rd.forward(request, response);/用forward跳轉(zhuǎn),并將請求繼續(xù)傳遞下去*/這樣的完成和一樣的功效request.getRequestDispatcher(form.jsp).forward(request, response);/form.jsp判斷請求的值是否為空JBServlet例子:從form表單中輸入姓名,提交到servlet中,servlet調(diào)用javabean,javabean中判斷輸入是否為空,不為空則成功,打印歡迎信息,為空失敗打印數(shù)據(jù)為空,要求重新輸入。失敗成功,歡迎輸入姓名Mvc_login.jsp用戶輸入姓名Mvc_success.jsp成功,歡迎信息Mvc_fail.jsp失敗,鏈接回初始頁面重新輸入MvcServlet.java(Servlet)接受參數(shù),調(diào)用javabeanMvcCheck.java(javabean)檢查輸入的內(nèi)容不為空/mvc_login.jsp姓名:/MVCServlet.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException request.setCharacterEncoding(utf-8);String name = request.getParameter(uname);MVCCheck mc = new MVCCheck();/將請求的內(nèi)容設置到mc對象中mc.setName(name);String path = null;if(mc.isValidate()/保存名字在request范圍中request.setAttribute(name, mc.getName();path = mvc_success.jsp;elsepath = mvc_fail.jsp;request.getRequestDispatcher(path).forward(request, response);/MVCCheck.javapackage demo.bean;public class MVCCheck private String name;public String getName() return name;public void setName(String name) = name;/驗證public boolean isValidate()if(=null|.equals() return false;else

溫馨提示

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

最新文檔

評論

0/150

提交評論