摘要:先用一個圖來表示基本流程圖這個網(wǎng)上很容易找到基本流程圖用戶發(fā)送請求到前端控制器前端控制器是的重要部分,位于中心,提供整個框架訪問點,起到交換的作用,而且與容器集成。在配置這個監(jiān)聽器,啟動容器時,就會默認執(zhí)行它實現(xiàn)的方法。
先用一個圖來表示
基本流程圖這個網(wǎng)上很容易找到
基本流程圖
1. 用戶發(fā)送請求到前端控制器(DispatcherServlet)
前端控制器是springMVC的重要部分,位于中心,提供整個框架訪問點,起到交換的作用,而且與Spring IoC容器集成。(IoC容器中包含了Bean,詳細IoC講解開濤的博客)
在實際開發(fā)中,只需要在web.xml中進行配置,其他組件由框架提供,配置如下:
springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/springmvc.xml springMVC *.action
通過過濾(根據(jù)URL)的方式進入前端控制器(init-param標簽中的contextConfigLocation會在后面說到)
2和3. 處理器映射器HandlerMapping
根據(jù)請求的url查找Handler
HandlerMapping負責根據(jù)用戶請求找到Handler即處理器,springmvc提供了不同的映射器實現(xiàn)不同的映射方式,例如:配置文件方式,實現(xiàn)接口方式,注解方式等。在spring.xml中使用自動掃描的方式:
然后返回前端控制器
4. 處理器適配器HandlerAdapter
需要controller繼承Controller或者@Controller,前端控制器會根據(jù)controller對應的controller類型來調用相應的HandlerAdapter來進行處理,不需要什么操作
5和6和7. 處理器Handler
就是編寫Controller類
``` @Controller public class TestController { @Autowired private TestService testService; //信息查詢 @RequestMapping("/test") public ModelAndView test() throws Exception{ ListtestList=testService.findTestList(null); ModelAndView modelAndView=new ModelAndView(); //相當于request中setAttribute modelAndView.addObject("testList",testList); modelAndView.setViewName("test"); return modelAndView; } } ```
返回ModelAndView對象
8和9. 視圖解析器View resolver
進行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖(view)。View Resolver負責將處理結果生成View視圖:View Resolver首先根據(jù)邏輯視圖名解析成物理視圖名即具體的頁面地址,再生成View視圖對象,最后對View進行渲染將處理結果通過頁面展示給用戶。
在spring.xml中配置
10和11. 視圖View
編寫JSP、excel、pdf等向用戶顯示的內(nèi)容
其他
contextConfigLocation實現(xiàn)ContextLoaderListener監(jiān)聽器,在web.xml中定義
contextConfigLocation classpath:spring/applicationContext-*.xml org.springframework.web.context.ContextLoaderListener
ContextLoaderListener監(jiān)聽器的作用就是啟動Web容器時,自動裝配ApplicationContext的配置信息。在web.xml配置這個監(jiān)聽器,啟動容器時,就會默認執(zhí)行它實現(xiàn)的方法。
在這里使用這個監(jiān)聽器的作用是方便加載Dao、Service、DataSource、Bean等,如applicationContext-dao.xml,applicationContext-service.xml。如果使用mybatis這些配置文件中可以加入mapper.xml文件,提供數(shù)據(jù)庫操作
謝謝瀏覽~~~
如果有不正確的地方歡迎指出~~~
≥ω≤ ≥ω≤ ≥ω≤
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://systransis.cn/yun/76828.html
摘要:引言剛考完期末,再也不用考試啦最近學習了慕課網(wǎng)的實戰(zhàn)課手寫,劍指開源框架靈魂。最近將本課程和看透結合起來學習,感覺受益匪淺,同時,糾正了我之前對的一些誤解。誤解洪荒時代的當年,開發(fā)都需要手動去實現(xiàn)。為了解決太多的問題,引入了,進行統(tǒng)一調度。 引言 剛考完期末,再也不用考試啦?。。?最近學習了慕課網(wǎng)的實戰(zhàn)課《手寫SpringMVC,劍指開源框架靈魂》。 showImg(https://s...
摘要:是目前最流行的一種互聯(lián)網(wǎng)軟件架構。協(xié)議,是一個無狀態(tài)協(xié)議,即所有的狀態(tài)都保存在服務器端。而這種轉化是建立在表現(xiàn)層之上的,所以就是表現(xiàn)層狀態(tài)轉化。具體說,就是協(xié)議里面,四個表示操作方式的動詞。 一、SpringMVC概述 Spring為展現(xiàn)層提供的基于MVC設計理念的優(yōu)秀的Web框架,是目前最主流的MVC框架之一 Spring3.0之后全面超越Struts2,成為最優(yōu)秀的MVC框架 S...
摘要:也就是說映射器就是用于處理什么樣的請求提交給處理。這和是一樣的提交參數(shù)的用戶名編號提交配置處理請求注冊映射器包框架接收參數(shù)設置無參構造器,里邊調用方法,傳入要封裝的對象這里的對象就表示已經(jīng)封裝好的了對象了。 什么是SpringMVC? SpringMVC是Spring家族的一員,Spring是將現(xiàn)在開發(fā)中流行的組件進行組合而成的一個框架!它用在基于MVC的表現(xiàn)層開發(fā),類似于struts...
閱讀 3478·2019-08-30 10:54
閱讀 3175·2019-08-29 16:38
閱讀 2215·2019-08-26 14:06
閱讀 1535·2019-08-23 15:39
閱讀 3067·2019-08-23 15:37
閱讀 2905·2019-08-23 13:50
閱讀 3215·2019-08-22 17:14
閱讀 2406·2019-08-22 15:44