使用Spring MVC,配置DispatcherServlet是第一步。
DispatcherServlet是一个Servlet,所以可以配置多个DispatcherServlet。
DispatcherServlet是前置控制器,配置在web.xml文件中的。
拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据某某规则分发到目标Controller(我们写的Action)来处理。
“某某规则”:是根据你使用了哪个HandlerMapping接口的实现类的不同而不同。
例子1:
<web-app>
<servlet>
<servlet-name>example</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
</web-app>
<load-on-startup>1</load-on-startup>是启动顺序,让这个Servlet随Servletp容器一起启动。
<url-pattern>*.form</url-pattern> 会拦截*.form结尾的请求。
<servlet-name>example</servlet-name>这个Servlet的名字是example,可以有多个DispatcherServlet,是通过名字来区分的。每一个DispatcherServlet有自己的WebApplicationContext上下文对象。同时保存的ServletContext中和Request对象中,关于key,以后说明。
在DispatcherServlet的初始化过程中,框架会在web应用的 WEB-INF文件夹下寻找名为[servlet-name]-servlet.xml 的配置文件,生成文件中定义的bean。
例子2:
<servlet>
<span style="white-space:pre"> </span><servlet-name>firstServlet</servlet-name>
<span style="white-space:pre"> </span><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<span style="white-space:pre"> </span><init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/firstServlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<span style="white-space:pre"> </span><servlet-name>firstServlet</servlet-name>
<span style="white-space:pre"> </span><url-pattern>*.do</url-pattern>
</servlet-mapping>
指明了配置文件的文件名,不使用默认配置文件名,而使用springMVC.xml配置文件。
其中<param-value>**.xml</param-value> 这里可以使用多种写法
1、不写,使用默认值:/WEB-INF/<servlet-name>-servlet.xml
2、<param-value>/WEB-INF/classes/springMVC.xml</param-value>
3、<param-value>classpath*:springMVC-mvc.xml</param-value>
4、多个值用逗号分隔
在web.xml 中会有多个名字不同的DispatcherServlet,每个DispatcherServlet又会有自己的一个配置文件,用于定义自己的bean。而默认情况下每个DispatcherServlet的配置文件为在web应用的 WEB-INF文件夹下名为[servlet-name]-servlet.xml 的配置文件。当然在web.xml中可以配置这些文件的名称和路径,如事例2.
*****************************************************************************
2、记得该加包了,我都是用到的时候才加包的,不知道对不对呢,当然这个是通过在pom.xml加的,好好用哦
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>org.springframework.webflow</artifactId>
<version>2.0.5.RELEASE</version>
</dependency>
3、再写个 DispatcherServlet 的配置文件吧,就按照例子2那个写喽,就是配置文件名为firstServlet.xml