1、前端控制器(一个servlet)
在web.xml文件下配置。
若没有init-param指定配置文件,需要在WEB-INF下建一个与这个servlet名相同的xml文件。
例如:下面一个例子若没有init-param的话,需要建立一个 springMVC-servlet.xml 文件
2、在1所建立或者指定的配置文件中配置
视图解析器和包扫描
包扫描:
用了context:include-filter时,要禁止默认行为 use-default-filters=“false”
用了context:exclude-filter时,不需要禁止默认行为
配置视图解析器:
因为所有请求都进行了拦截,若访问静态资源文件,则会报404错误,解决办法:
导入mvc名称空间:
加入:(因为访问静态资源文件是由tomcat进行处理的,而项目中没有关乎这些资源的访问配置时)
<!-- 告诉SpringMVC,自己 映射的自己处理,不能自己映射的交给tomcat处理-->
<mvc:default-servlet-handler/>
缺点:若直接这样加入这个,只能保证静态资源能够被访问,动态映射的都不能够访问了。
需要再加入:
<mvc:annotation-driven></mvc:annotation-driven>
3、Filter编写。web.xml文件中编写
对前端请求进行字符编码过滤器字符编码filter
<!-- 字符编码filter -->
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
若是Rest风格的,则需要新增一个filter。
<!-- 支持Rest风格的filter,字符编码在前 -->
<filter>
<filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>HiddenHttpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Rest风格举例: