




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3第十章SpringMVC基礎-掌握MVC設計模式的基本原理-掌握SpringMVC的相關概念-掌握SpringMVC的工作流程-掌握SpringMVC的入門案例01020304項目需求背景知識項目實現(xiàn)經典問題強化本章小結0102030405E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3項目需求01項目需求01項目經理老王:小王,你現(xiàn)在熟練掌握了Spring和MyBatis框架了吧?程序員小王:是的,通過之前的學習和項目實踐,我已經掌握了這兩個框架,但是現(xiàn)在有個問題是如何接收處理前端頁面提交的數(shù)據(jù),并在業(yè)務處理完后將結果返回給對應的頁面呢?項目經理老王:你需要了解一下SpringMVC框架,它是Spring內置的MVC框架,可以解決WEB開發(fā)中常見的功能需求,例如參數(shù)接收、文件上傳、表單驗證和國際化等,而且SpringMVC框架使用簡單,可以與Spring無縫集成,并支持restful風格的URL請求。程序員小王:好的,我會抓緊時間學習SpringMVC框架以便在項目中使用。功能描述01系統(tǒng)登錄頁面包括用戶名和密碼以及免登錄選框。功能描述01登錄失敗要顯示失敗原因并提示用戶,在登錄時可能出現(xiàn)的錯誤情況有以下幾種。當用戶名或密碼填寫錯誤時,會在登錄頁面提示用戶”用戶名或密碼錯誤”。當用戶的IP地址是不允許訪問的網段時,會在登錄頁面提示用戶”ip受限”。當用戶的賬號過期,會在登錄頁面提示用戶”賬號已經過期”。當用戶的狀態(tài)被鎖定,會在登錄頁面提示用戶”狀態(tài)被鎖定”。E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3背景知識02知識導圖02MVC設計模式02MVC是一種廣泛存在于各類語言和開發(fā)中的軟件設計理念,它將應用程序拆分為模型(model)、視圖(view)、控制器(controller)等三部分,以便將程序的業(yè)務邏輯、界面及數(shù)據(jù)訪問處理相分離,從而降低各模塊之間的耦合度,提升系統(tǒng)的可維護性和可擴展性。SpringMVC基本概念及工作流程02SpringMVC是一個基于Java的MVC框架,它是Spring框架的擴展,其提供了一種用于構建Web應用程序的模型-視圖-控制器(MVC)架構,并帶有許多有用的功能,如國際化支持、文件上傳、數(shù)據(jù)驗證、異常處理等。SpringMVC的核心組件包括:
DispatcherServlet:SpringMVC的中央控制器,它負責接收所有的客戶端請求并將其分發(fā)給對應的處理器。
HandlerMapping:處理器映射器,用于將URL映射到對應處理器的組件。
Controller:控制處理器,其包含了控制器的內容和其它增強的功能,主要針對客戶端請求完成業(yè)務邏輯處理。
ViewResolver:視圖解析器,用于接收、解析DispatcherServlet傳來的模型和視圖信息,并將模型數(shù)據(jù)渲染到視圖中去,響應用戶的請求。SpringMVC基本概念及工作流程02SpringMVC各組件的工作流程如圖SpringMVC入門程序021. 需求分析本實例將使用SpringMVC模擬向后端請求所有商品信息數(shù)據(jù),并以列表形式展示每個商品的名稱、價格、商品描述等信息。SpringMVC入門程序02創(chuàng)建Maven工程創(chuàng)建maven工程3.導入項目依賴包SpringMVC入門程序02創(chuàng)建Items實體對象根據(jù)業(yè)務需求創(chuàng)建商品實體對象packagecom.demo.pojo;publicclassItems{
privateIntegerid;privateStringname;privateFloatprice;privateStringdetail;/*省略set/get方法*/}SpringMVC入門程序025. 創(chuàng)建ItemsController類在com.demo.controller包下創(chuàng)建控制器類ItemsController,添加如代碼清單10-3所示的內容。該控制器用于處理前端發(fā)來的URL為"/list"的GET請求,當控制器收到請求后,它會創(chuàng)建兩個商品對象并將它們添加到商品列表itemList中,接下來控制器會將itemList存儲到ModelAndView對象中,并將視圖名稱設置為"itemList"后傳遞給視圖解析器ViewResolver,該解析器會依據(jù)視圖名稱來查找名為"itemList.jsp"的JSP文件,并將ModelAndView中的數(shù)據(jù)渲染到該文件中,從而將結果響應到瀏覽器中以完成商品列表的顯示。SpringMVC入門程序02配置springmvc核心配置文件在resources目錄下,創(chuàng)建springmvc的配置文件,在文件中配置控制器和視圖解析器信息。配置前端控制器在web.xml中,配置SpringMVC的前端控制器創(chuàng)建視圖頁面在WEB-INF目錄下創(chuàng)建一個JSP目錄,并在目錄中創(chuàng)建一個商品信息頁面文件itemList.jspSpringMVC優(yōu)點02SpringMVC作為一款優(yōu)秀的Web框架,具有以下優(yōu)點:輕量級:SpringMVC是一種輕量級Web框架,它不依賴于其他任何一種Web框架或應用服務器,同時它還使用了Spring的IoC(控制反轉)和AOP(面向切面編程)技術,使開發(fā)者易于開發(fā)出靈活的、可定制的、易于維護的Web應用程序。易于使用:SpringMVC提供了眾多的注解和API,使得開發(fā)人員可以快速完成Controller創(chuàng)建、映射請求、綁定數(shù)據(jù)、處理異常等操作,從而使得Web應用程序的開發(fā)變得更加容易。易于集成:SpringMVC可以很容易地集成其他的Spring組件,例如SpringSecurity、SpringData等,使得開發(fā)人員可以快速創(chuàng)建高度可定制的Web應用程序。靈活性:SpringMVC提供了很多可擴展的組件和插件,使得開發(fā)人員可以根據(jù)應用程序的需要進行定制。例如開發(fā)人員可以自定義ViewResolver來實現(xiàn)自己的視圖解析器。易于測試:由于SpringMVC采用了MVC設計模式,使得控制層和視圖層是分離的,這樣開發(fā)人員可以很容易地對各層進行單元測試,從而提高應用程序的質量和可維護性。E6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3項目實現(xiàn)03業(yè)務場景03業(yè)務場景描述:項目經理老王:小王,用戶登錄功能由你來實現(xiàn)。你現(xiàn)在已經熟悉了SpringMVC的工作原理和開發(fā)方法,但對于整合Spring和MyBatis還不了解。不過不用擔心,我們可以先在控制層寫一些模擬數(shù)據(jù)來調試,但是登錄功能需要對多個條件進行驗證,例如用戶IP地址、用戶名和密碼、賬戶是否過期、用戶是否鎖定等,在實現(xiàn)時你需要考慮如何處理這些驗證。程序員小王:好的,我明白了。這個安全要求比較高,我會認真考慮。還有,我需要自己創(chuàng)建項目嗎?項目經理老王:不用。我們已經搭建好了項目框架,你可以使用Git工具從公司版本服務器導入初始架構,然后在此基礎上開發(fā)。程序員小王:好的,我會盡快開始工作。Maven父子工程03父子工程有以下優(yōu)點:父子工程能夠更高效地分離每個模塊,使得修改某個模塊時,不會影響到其他模塊。在父工程中聲明依賴,而在子工程中繼承這些依賴,可以有效避免重復依賴的問題。這樣當我們需要升級或者更換某個依賴時,只需要在父工程中修改,就可以自動地更新所有子工程的依賴。父子工程可以使代碼更加清晰,并提高代碼重用性。通過在父工程中聲明依賴,可以避免了多個子工程重復引入相同的依賴。這樣就可以將這些公共的依賴關系放在一個地方,方便維護。另外父工程中也可以定義一些公共的配置,例如插件配置、編譯器配置等,使得所有子工程都可以繼承這些配置,避免重復配置的問題。整體項目結構03項目具體包及其作用:graduationdesign-dao:數(shù)據(jù)訪問層,負責與數(shù)據(jù)庫進行交互。graduationdesign-domain:領域層,負責維護面向對象的領域模型。該層主要由POJO類構成,是數(shù)據(jù)表在面向對象世界中的映射。graduationdesign-service:業(yè)務層,負責實現(xiàn)具體業(yè)務邏輯。graduationdesign-utils:包含項目所需的各種工具類。graduationdesign-web:控制層,接受用戶輸入并調用模型和視圖完成用戶需求。導入項目基本架構03選擇File->Open,找到crm項目選擇File->Settings,配置項目所需要的maven倉庫,請讀者根據(jù)自己電腦Maven安裝位置自行配置。配置web.xml03在web.xml中配置springmvc框架<servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--配置初始化參數(shù),創(chuàng)建完DispatcherServlet對象,加載springmvc.xml配置文件--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:spring-mvc.xml</param-value></init-param><!--服務器啟動的時候,讓DispatcherServlet對象創(chuàng)建--><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping>配置springmvc03編輯springmvc核心配置文件<!--dispatcherServlet截獲所有URL請求--><mvc:default-servlet-handler/><!--掃描controller的注解,別的不掃描--><context:component-scanbase-package="com.lindaifeng.ssm.controller"></context:component-scan><!--配置視圖解析器--><beanid="viewResolver"class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!--JSP文件所在的目錄--><propertyname="prefix"value="/pages/"/><!--文件的后綴名--><propertyname="suffix"value=".jsp"/></bean>編寫用戶登錄控制層03創(chuàng)建用戶登錄控制層LoginController.java,添加如代碼清單10-9所示的內容,用于模擬一個用戶完成登錄的流程。編寫登錄面頁03編寫用戶登錄頁面Login.jspE6636BC20180234D78A0072836F0BA7012B9B20215E26B50ACD98F3EB1392B551B4EBF38216C3B0222692E0838460BEBE009217A41D02B111BBFC23A765E14D124F449AD6A2784D7348224B76F624F873694ECB77C9D5FC1A8B6E19E00602C88DA962B9CCE3經典問題強化04經典問題強化04請
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國木紋板市場調查研究報告
- 2025年中國無溶劑無毒防腐防滲涂料市場調查研究報告
- 2025年中國無頭針自動搓牙機市場調查研究報告
- 2025至2031年中國精密陶瓷燒成窯爐材料行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國羽毛球上套機行業(yè)投資前景及策略咨詢研究報告
- 中心性漿液性脈絡膜視網膜病變護理業(yè)務學習課件
- 2025-2030年中國丁基內胎市場規(guī)模分析及投資風險評估報告
- 新疆建設職業(yè)技術學院《體育教材教法》2023-2024學年第二學期期末試卷
- 肇慶市實驗中學高中歷史三:第課漢代的思想大一統(tǒng)教案
- 2025至2030年中國綠化素市場分析及競爭策略研究報告
- GB/T 5209-1985色漆和清漆耐水性的測定浸水法
- “問題解決型”課題QC活動程序及案例分析-課件
- 2022年江蘇鳳凰出版?zhèn)髅郊瘓F有限公司招聘筆試題庫及答案解析
- 年產11萬噸聚丙烯合成工藝設計
- 人工智能賦能金融保險
- 幼兒園教學課件《神奇的色彩女王 》課件
- 信息不對稱論文
- 話劇《林黛玉進賈府》
- 妊娠期高血壓綜合征-ppt課件
- 《電力工程》PPT精品課程課件全冊課件匯總
- 楷書鋼筆字帖(三字經)
評論
0/150
提交評論