程序的主要几个比较重要且复杂用法之五SpringMVC请求处理顺序
SpringMVC请求处理里面有个重要的东东就是DispatcherServlet为处理管道的请求协调整个生命周期。
以下大概说下请求顺序:
1.Tomcat在启动的时候会调用Web.xml里面的所有DispatcherServlet(如以下的exam),并知道了相应的请求路径
<servlet>
<servlet-name>exam</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>exam</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
2.DispatcherServlet会对自己需要那些的controller、Bean(过虑、标签、相对应的视图等)进行自动依赖注入如下
<!-- 对包中的所有类进行扫描,以完成Bean创建和自动依赖注入的功能 需要更改 -->
<context:component-scan base-package="web.controller" />
<mvc:interceptors>
<bean class="SpringMVC.Interceptor.MyInterceptor"></bean>
</mvc:interceptors>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/jsp/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
3.IE请求通过DispatcherServlet上的配置找到对应的Controller实现业务逻辑,Controller返回ModelAndView给相对应在Controller方法上的URL映射后,回给DispatcherServlet再给前端IE。
以下这图是摘录一本spring mvc书上的图

浙公网安备 33010602011771号