摘要:先用一个图来表示基本流程图这个网上很容易找到基本流程图用户发送请求到前端控制器前端控制器是的重要部分,位于中心,提供整个框架访问点,起到交换的作用,而且与容器集成。在配置这个监听器,启动容器时,就会默认执行它实现的方法。
先用一个图来表示
基本流程图这个网上很容易找到
基本流程图
1. 用户发送请求到前端控制器(DispatcherServlet)
前端控制器是springMVC的重要部分,位于中心,提供整个框架访问点,起到交换的作用,而且与Spring IoC容器集成。(IoC容器中包含了Bean,详细IoC讲解开涛的博客)
在实际开发中,只需要在web.xml中进行配置,其他组件由框架提供,配置如下:
springMVC org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:spring/springmvc.xml springMVC *.action
通过过滤(根据URL)的方式进入前端控制器(init-param标签中的contextConfigLocation会在后面说到)
2和3. 处理器映射器HandlerMapping
根据请求的url查找Handler
HandlerMapping负责根据用户请求找到Handler即处理器,springmvc提供了不同的映射器实现不同的映射方式,例如:配置文件方式,实现接口方式,注解方式等。在spring.xml中使用自动扫描的方式:
然后返回前端控制器
4. 处理器适配器HandlerAdapter
需要controller继承Controller或者@Controller,前端控制器会根据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
进行视图解析,根据逻辑视图名解析成真正的视图(view)。View Resolver负责将处理结果生成View视图:View Resolver首先根据逻辑视图名解析成物理视图名即具体的页面地址,再生成View视图对象,最后对View进行渲染将处理结果通过页面展示给用户。
在spring.xml中配置
10和11. 视图View
编写JSP、excel、pdf等向用户显示的内容
其他
contextConfigLocation实现ContextLoaderListener监听器,在web.xml中定义
contextConfigLocation classpath:spring/applicationContext-*.xml org.springframework.web.context.ContextLoaderListener
ContextLoaderListener监听器的作用就是启动Web容器时,自动装配ApplicationContext的配置信息。在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。
在这里使用这个监听器的作用是方便加载Dao、Service、DataSource、Bean等,如applicationContext-dao.xml,applicationContext-service.xml。如果使用mybatis这些配置文件中可以加入mapper.xml文件,提供数据库操作
谢谢浏览~~~
如果有不正确的地方欢迎指出~~~
≥ω≤ ≥ω≤ ≥ω≤
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76828.html
摘要:引言刚考完期末,再也不用考试啦最近学习了慕课网的实战课手写,剑指开源框架灵魂。最近将本课程和看透结合起来学习,感觉受益匪浅,同时,纠正了我之前对的一些误解。误解洪荒时代的当年,开发都需要手动去实现。为了解决太多的问题,引入了,进行统一调度。 引言 刚考完期末,再也不用考试啦!!! 最近学习了慕课网的实战课《手写SpringMVC,剑指开源框架灵魂》。 showImg(https://s...
摘要:是目前最流行的一种互联网软件架构。协议,是一个无状态协议,即所有的状态都保存在服务器端。而这种转化是建立在表现层之上的,所以就是表现层状态转化。具体说,就是协议里面,四个表示操作方式的动词。 一、SpringMVC概述 Spring为展现层提供的基于MVC设计理念的优秀的Web框架,是目前最主流的MVC框架之一 Spring3.0之后全面超越Struts2,成为最优秀的MVC框架 S...
摘要:也就是说映射器就是用于处理什么样的请求提交给处理。这和是一样的提交参数的用户名编号提交配置处理请求注册映射器包框架接收参数设置无参构造器,里边调用方法,传入要封装的对象这里的对象就表示已经封装好的了对象了。 什么是SpringMVC? SpringMVC是Spring家族的一员,Spring是将现在开发中流行的组件进行组合而成的一个框架!它用在基于MVC的表现层开发,类似于struts...
阅读 3450·2019-08-30 10:54
阅读 3147·2019-08-29 16:38
阅读 2164·2019-08-26 14:06
阅读 1511·2019-08-23 15:39
阅读 3033·2019-08-23 15:37
阅读 2882·2019-08-23 13:50
阅读 3189·2019-08-22 17:14
阅读 2374·2019-08-22 15:44