接 使用Eclipse基于Maven的Spring MVC 调试心得(一)--- Maven配置
3.Spring项目的web.xml配置
在Dynamic Web Project中,web.xml可谓是最重要的文件之一,它的配置包括:1)请求地址(url-pattern)与处理类(servlet-class)之间通过servlet-name来进行的映射(servlet-mapping)。因此,此文件的配置也关乎到我们访问网站的请求能否正常的处理。
(1)在Spring MVC项目中通过配置web.xml来拦截所有的url请求,配置如下:
<span style="font-size:18px;"><servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<!-- mvc-dispatcher拦截所有的请求-->
<url-pattern>/</url-pattern>
</servlet-mapping></span>
(2)DispatcherServlet是Spring MVC的核心,因此我们不需要通过web.xml来拦截并分配url请求,而是将所有请求都交给Spring中的DispatcherServlet,让DispatcherServlet来进行处理,配置如下:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
(3)这里需要在“<servlet>…</servlet>”标签中添加DispatcherServlet配置文件的路径,否则默认为/WEB-INF/$servlet-name$-serlet.xml,这里配置路径为/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml配置如下:
<init-param>
<param-name>contextConfigLocation</param-name> <param-value>
/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml
</param-value>
</init-param>
因此 <servlet> 标签的完整配置如下:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name><param-value>
/WEB-INF/configs/spring/mvc-dispatcher-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
(4)web.xml的完整配置如下
<?xmlversion="1.0" encoding="UTF-8"?>
<!DOCTYPEweb-app PUBLIC
"-//Sun Microsystems, Inc.//DTD WebApplication 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-appxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"