ssm科普篇

springMVC执行步骤:

1、用户发送请求到前端控制器,前端控制器根据请求信息来决定选择页面控制器,并将请求委托给它

2、页面控制器收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,并进行验证,然后将命令对象委托给业务对象

处理;处理完后返回一个ModelAndView(模型数据和逻辑试图名)

3、前端控制器收回控制权,然后根据返回的逻辑视图名,选择相应的视图进行渲染,并把模型数据传入以便视图渲染

4、前端控制器收回控制权,将响应返回给用户。


springMVC核心架构的主要流程

1、用户请求给DispatcherServlet前端控制器,前端控制器收到请求后委托给其他的解析器进行处理,作为统一访问点,进行全局的流程控制

2、DispatcherServlet前端控制器给HandlerMapping类控制器,类控制器将会把请求映射为HandlerExecutionChain对象(包含一个Handler处

理器(页面控制器)对象、多个HandlerInterceptor拦截器)对象,通过这种策略模式,方便后续添加新的映射策略。

3、DispatcherServlet前端控制器给HandlerAdapter方法控制器,方法控制器将会处理器包装给适配器,从而支持多种类型的处理器,即适配器

设计模式的应用,从而很容易支持很多类型的处理器

4、HandlerAdapter方法控制器给处理器功能处理方法的调用,HandlerAdapter将会根据适配的结果调用对应的处理器的处理方法,完成功能处理;

并返回一个ModelAndView对象(包含模型数据,逻辑视图名)

5、ModelAndView的逻辑视图名给ViewResolver视图控制器,ViewResolver将把逻辑视图名解析为具体的view,通过这种策略模式,也可以换成其他

视图技术。

6、将控制权返给DispatcherServlet,由DispatcherServlet返回响应给用户

在web.xml中配置view分发器

<servlet>

  <servlet-name>xxx</servlet-name>

  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

  <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

  <servlet-name>xxx</servlet-name>

  <url-pattern>/</url-pattern>

</servlet-mapping>

配置HandlerMapping(页面控制器)

<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping" />

支持多种类型的页面控制器

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter" />

viewResoler的配置

<bean class="org.springframework.web.servlet.view.InternalResouceViewResolver">

  <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />

  <property name="prefix" value="/WEB-INF/jsp/" />

  <property name="suffix" value=".jsp" />

</bean>


Spring MVC四大核心接口

1、DispatcherServlet接口

前端控制器,所有的请求都需要经过它来进行统一分发处理。 在DispatcherServlet将请求分发给spring controller之前。需要借助于spring提供的

HandlerMapping定位具体的controller

2、HandlerMapping接口

请求到controller映射

3、HandlerAdapter接口

处理器给你处理方法的调用,HandlerAdapter将会根据适配的结果调用真正的处理器的处理方法,并完成功能处理;返回一个ModelAndView对象

4、ViewResolver接口

在web应用中查找view对象,从而将相应结果渲染给用户

猜你喜欢

转载自www.cnblogs.com/codechange/p/9089917.html