Spring Mvc 一个请求的执行过程


配置文件web.xml

<servlet>
    <servlet-name>Spring</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      		<param-value>
			/WEB-INF/config/spring/spring-servlet.xml
    	    </param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Spring</servlet-name>
    <url-pattern>/.do</url-pattern>
  </servlet-mapping>

1,从项目中的web.xml配置文件配置SpringMVC的核心servlet-------DispatcherServlet可以看出,所有以.do结尾的请求url将会被拦截。

2,请求被拦截后会被继承了org.springframework.web.servlet.handler.AbstractHandlerMapping类的处理映射类处理。常用处理映射类有

     

org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping


     beanNameUrlHandlerMapping为默认处理器。当-servlet配置文件中没有显示说明使用哪个处理器则使用该处理器。

     DefaultAnnotationHandlerMapping是基于注解的。

经常开发的SpringMvc项目都是基于注解的,所以以DefaultAnnotationHandlerMapping为例       

3,请求的url被DefaultAnnotationHandlerMapping处理后,找到当前已经注册入容器中的bean的被@requestMapping标注的url和handler method处理函数的关系,并关联。

4,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter  该类通过注解在方法级上的@ requestMapping结合DefaultAnnotationHandlerMapping找到逻辑处理方法。

5,SpringMVC通过HandlerAdapter实际调用处理函数,该处理函数的返回值可以是String,ModelAndView,map

6,SpringMvc的视图渲染待完成









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值