Spring MVC技巧汇总

1、POST请求中文乱码问题

spring Web MVC框架提供了org.springframework.web.filter.CharacterEncodingFilter用于解决POST方式造成的中文乱码问题,在web.xml配置文件中加入以下配置:

  1. <filter>
  2. <filter-name>CharacterEncodingFilter</filter-name>
  3. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>utf-8</param-value>
  7. </init-param>
  8. </filter>
  9. <filter-mapping>
  10. <filter-name>CharacterEncodingFilter</filter-name>
  11. <url-pattern>/*</url-pattern>
  12. </filter-mapping>
2、访问静态资源
(1)在web项目配置文件web.xml中添加配置。

因为在默认的路由映射规则/匹配所有的请求,请求资源的请求也会被转发到控制默认的控制器中,因此需要添加新的映射规则,如下:

  1. <servlet-mapping>
  2. <!--项目名称,根据自己项目的具体情况而定,如springworld -->
  3. <servlet-name>springworld</servlet-name>
  4. <url-pattern>/</url-pattern>
  5. </servlet-mapping>
  6. <servlet-mapping>
  7. <!-- default 为默认的,不需要定义-->
  8. <servlet-name>default</servlet-name>
  9. <!-- 假如所有静态资源访问路径都是以/static开头的 -->
  10. <url-pattern>/static/</url-pattern>
  11. </servlet-mapping>
(2)在spring MVC配置文件springworld-servlet.xml中,添加静态资源目录映射规则:
  1. <mvc:annotation-driven/>
  2. <!--这里指定/static开头的请求路径,真实的访问路径为/static/文件夹,这里/static/真实路径是webapp/static-->
  3. <mvc:resources mapping="/static/**" location="/static/" />