Spring MVC的原理

20160427094830780

1Spring MVC的工作流程: 2(1)客户端发起HTTP请求:客户端将请求提交到DisPatcherServlet(前端控制器)【所有的请求都有经过它来统一分发,在DispatcherServlet将请求分发给Spring Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。】。 ---控制配置详见位置1 3(2)寻找处理器:由DisPatcherServlet控制器查询一个或多个HandlerMapping【完成客户请求到Controller映射】,找到处理该请求的Controller。 --处理配置器详见位置2 4(3)调用处理器:DisPatcherServlet将请求提交到Controller。 --Controller扫描配置详见位置3 5(4)调用业务逻辑并返回结果:Controller调用业务处理逻辑后,返回ModelAndView【模型(Model)和视图(View)】。 6(5)处理视图映射并返回模型:由DisPatcherServlet控制器查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。 --视图解析配置详见位置4 7(6)HTTP响应:视图负责将结果在客户端浏览器上渲染和展示。
1位置 1【配置于web.xml】 2<!-- spring-mvc核心控制器配置 --> 3<servlet> 4 <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 5 <init-param> 6 <!-- contextConfigLocation:指定spring-mvc配置的加载位置 --> 7 <param-name>contextConfigLocation</param-name> 8 <param-value>classpath:springmvc_context.xml</param-value> 9 </init-param> 10 <load-on-startup>0</load-on-startup> 11</servlet> 12<servlet-mapping> 13 <servlet-name>springmvc</servlet-name> 14 <!-- url-pattern:*.action的请交给DispatcherServlet处理,对请求URL进行解析,得到请求资源标识符(URI),判断请求URI对应的映射 --> 15 <url-pattern>*.action</url-pattern> 16</servlet-mapping> 17 18位置 2【配置于springmvc_context.xml】 19<!-- 这两个类用来启动基于Spring MVC的注解功能,将控制器与方法映射加入到容器中 --> 20<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" /> 21<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" /> 22也等同于 23<!-- 自动注册 HandlerMapping(实现为 RequestMappingHandlerMapping) 和 HandlerAdapter(实现为 RequestMappingHandlerAdapter) 两个类型的 Bean--> 24<mvc:annotation-driven />25 26位置 3【配置于springmvc_context.xml】 27<!-- ①:对web包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 ,context:component-scan 的作用是扫描对应的 base-package,将 base-package 及其子包中被 @Component、@Controller、@Service、@Repository 等注解的类,注册到为 Spring Context,即在上下文环境中注册一个这样的 Bean--> 28<context:component-scan base-package="com.xsc.controller" /> 29 30位置 4【配置于springmvc_context.xml】 31<!-- 这个类用于Spring MVC视图解析,将ModelAndView及字符串解析为具体的页面 --> 32<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 33<!-- prefix指定在视图逻辑名前所添加的前缀 --> 34 <property name="prefix" value="/WEB-INF/pages/" /> 35<!-- suffix指定在视图逻辑名后所添加的后缀 --> 36 <property name="suffix" value=".jsp" /> 37</bean>
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java将前端的json数组字符串转换为列表

记录下在前端通过ajax提交了一个json数组的字符串,在后端如何转换为列表。前端数据转化与请求varcontracts{id:'1',name:'yanggb合同1'},{id:'2',name:'yanggb合同2'},{id:'3',name:'yang

SpringMVC从认识到细化了解

\TOC\首发日期:20181101SpringMVC的介绍<br介绍:SpringMVC是一个Web层的MVC框架SpringMVC是基于servlet来处理web请求的,所有的请求都是先经过核心servlet再转交给对应的控制器。它与spring同属

SpringMVC第一天HelloWorld

1,普通Servlet的流程是通过配置<servlet</servlet和<servletmapping</servletmapping来拦截请求交给对应的Servlet来处理使用SpringMVC需要配置一个SpringMVC自带的Servlet,DispatcherServlet,使用他来拦截请求交给SpringMVC处理 we