1.SpringMVC搭建环境时,主要配置以下
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
<display-name>spirngmvc_01</display-name>
<servlet>
<servlet-name>springmvc</servlet-name>
<!--servlet-class中的值是spring-webmvc包提供的类,即前端控制器,用于控制所有请求 -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--url-pattern(重点)中有3个值,分别为/、 /*、 *.action -->
<url-pattern>/</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
2. 关于 <url-pattern></url-pattern>有三种配置方式
(1)<url-pattern> / </url-pattern> , /:配置/的话,url不会拦截诸如:jsp,html , .action的请求,使用该模式的话,那么 spring-mvc.xml中配置name不能有扩展名 ,如下:
<bean name="/userController" class="com.neusoft.springmvc.controller.UserController"></bean>(正确)
<bean name="/userController.action" class="com.neusoft.springmvc.controller.UserController"></bean>(错误)
(2)<url-pattern> / *</url-pattern> , /*,因为这个url会拦截所有请求,包括:.jsp .html .action .do .css
如果访问以上的资源会报404错误 ,所以配置时,不要用/*, 这个一般是过滤器,配置时候才用的。
(3)<url-pattern> *.action</url-pattern> 不会拦截诸如 .jsp .html 等资源请求,只会拦截.action请求,所有在spring-mvc.xml中配 置name的时候必须要有扩展名,如下:
<bean name="/userController" class="com.neusoft.springmvc.controller.UserController"></bean>(错误)
<bean name="/userController.action" class="com.neusoft.springmvc.controller.UserController"></bean>(正确)