框架_Spring MVC:加载和运行机制

来源:互联网 发布:下载源码的网站 编辑:程序博客网 时间:2024/04/30 10:57

(本博客只为记录学习过程中的点滴,如对他人有所帮助,深表荣幸)

一,spring MVC request请求流程:

下面这张图是SpringMVC将控制,消息,视图分层的典型图(原创),同时Dispacherservlet作为一个核心控制器同样将客户端和View层进行了分离。






































二,对于上面的框架进行简要说明:

1,页面上的request来到DispacherServlet,需要通过多个处理器映射(HandlerMapping)选择性的分发给对应的控制器。

2,信息处理后返回到DispacherServlet,同样需要视图解析器,这是一个将视图名称同jsp匹配的过程,典型的以InternalResourceViewResolver为例,InternalResourceViewResolver为视图名称加上前缀和后缀得到一个视图模版的路径,在配置文件中配置如下:

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

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

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

</bean>

假设视图名称为home,那么InternalResourceViewResolver就会将其解析成/WEB-INF/views/home.jsp,并传送给对应的jsp去视图化处理。

3,在web.xml中,springMVC默认加载,<servlet class>同name的xml文件,但是为了将xml做规范化处理,并不是所有的bean都配置在该xml文件中,所以需要在web.xml中配置<listener>

<listener-class>

org.spring.framework.web.context.ContextLoaderListener

<listener-class>

<listener>

同时在servlet中为ContextLoaderListener配置contextConfigLocation参数:

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

/WEB-INF/spitter-security.xml

classpath:service-context.xml

classpath:persistence-context.xml

classpath:dataSource-context.xml

</param-value>

</context-param>