好的各位小伙伴
從今天開始
咱們開始分享
springMVC了
1: MVC 開發模式的流程
如圖:
偷點懶哈~這是我在網上找的一個圖,理論的部分咱就不重復,大家百度一下哈!
2:springMVC 的概念以及原理
首先咱們來認識幾個概念和專業術語:
DispatcherServlet
前端控制器
HandlerMapping
處理器映射器
HandlerAdapter
處理器適配器
Handler
處理器
viewResolver
視圖解析器
view
頁面文件
來看一下springMVC的流程圖:
結合這個流程圖,咱們來簡單的描述一下這個過程:
首先用戶發起 request 請求,請求 DispatcherServlet 前端控制器.
然后DispatcherServlet 前端控制器請求 HandlerMapping 處理器映射器查找 Handler 返回給 DisptcherServlet.
DisptcherServlet 找到 Handler 之后要挑選合適的適配器 HanlderAdapter 來執行 Handler.
執行完 Handler 之后.返回 ModelAndView 對象.
DisptcherServlet 調用 viewResolver 視圖解析器來解析返回的 view 對象
將 modle 渲染到 view.然后響應用戶
這個流程圖很重要,理解了這個流程之后,對于之后的理解,springMVC有很大的幫助哦!
3 : springMVC 小程序
創建一個 javaWEB 工程,導包(在之前 spring 的 jar包的基礎上加入 spring-web,spring-webmvc 的 jar 包).
配置文件:
web.xml 和 springmvc.xml
在 web.xml 配置前端控制器 DisptcherServlet
上面這個框起來的配置
是為了讓程序啟動時去加載我們的 springmvc 配置文件.如果你不配置這個選項,默認會去加載 classpath 下面名稱為[servlet-name]-servlet.xml
下面框起來的配置的是請求攔截器
1:可以配置*.do,*.action?
要在你的頁面請求的 url 帶 .do 或者 .action 的后綴,如: addUser.do addUser.action
2:也可以配置 / 匹配所有請求?
此工程所有的請求(.do ,addUser,js/image/css)都會被springmvc解析,必須對所有的靜態資源文件進行過濾放行
3:也可以配置 /* 匹配所有請求?
xx.jsp 不支持這種配置方式
總結:一般配置*.do,*.action 如果配置/ 需要過濾靜態資源
在 springmvc.xml 配置文件配置:
處理器映射器(BeanNameUrlHandlerMapping)
處理器適配器(SimpleControllerHanlderAdapter)
視圖解析器
功能實現:
做一個登陸頁面,用非注解的方式完成登陸驗證
登錄頁面:
登錄成功的頁面顯示:
編寫登陸請求的 Handler
在 springmvc 配置文件里面注冊 LoginController.java
部署項目 ,測試訪問
注意:?
1)當我們使用的是 BeanNameUrlHandlerMapping 這個映射器時,需要注冊handler 需要設置一個name匹配url請求
? class= "com.ln.springmvc.sysmanage.controller.LoginController">
2)當我們使用 SimpleControllerHandlerAdapter 適配器時,編寫的 Handler 要 implements Controller
今天就分享到這里了
小伙伴們
拜拜!