前端控制器DispatcherServlet
<!--定义spring mvc 的前端控制器Servlet --><servlet> <!--Servlet的名称--> <servlet-name>SpringMVC</servlet-name> <!--Servlet对应的java类--> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!--当前Servlet的参数信息--> <init-param> <!--contextConfigLocation是参数名称,该参数的值包含SpringMVC的配置文件路径--> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <!--在web应用启动时立即加载Servlet--> <load-on-startup>1</load-on-startup></servlet> <!--让pringMVC的前端控制器拦截所有的请求url(不包括jsp--><!--Servlet映射声明--><!--/表示拦截所有servlet请求--><!--/*表示拦截所有servlet请求,jsp文件--><servlet-mapping> <servlet-name>SpringMVC</servlet-name> <url-pattern>/</url-pattern></servlet-mapping> 1)DispatcherServlet接收到请求后,根据对应配置文件中配置的处理器映射,找到对应的处理器映射项(HandlerMapping),根据配置的映射规则,找到对应的处理器(Handler)。2)调用相应处理器中的处理方法,处理该请求,处理器处理结束后会将一个ModelAndView类型的数据传给DispatcherServlet,这其中包含了处理结果的视图和视图中要使用的数据。3)DispatcherServlet根据得到的ModelAndView中的视图对象,找到一个合适的ViewResolver(视图解析器),根据视图解析器的配置,DispatcherServlet将视图要显示的数据传给对应的视图,最后给浏览器构造一个HTTP响应 1.DisPatcherServlet 前端控制器 核心。用户在浏览器输入url,发起请求,首先会到达DisPatcherServlet,由它来调用其他组件来配合工作的完成,DisPatcherServlet的存在大大降低了组件之间的耦合性 2.HandlerMapping 处理器映射器 记录url与处理器的映射,方式有注解、XML配置等 3.HandLer 处理器 后端控制器(通俗一点:Controller层所写的业务代码)。对用户的请求进行处理 4.HandlerAdapter 处理器适配器 通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。(我也不太明白) 5.ViewResolver 视图解析器 ViewResolver负责解析view视图,并进行渲染(数据填充),将处理结果通过页面展示给用户看 6.View 视图 View是一个接口,实现类支持不同的View类型(jsp、freemarker、velocity)
原文地址:https://www.cnblogs.com/Pjson/p/9606647.html
时间: 2024-10-07 15:21:06