Spring MVC 细节配置
原创2016/4/8大约 1 分钟
Spring MVC 细节配置
1、@ResponseBody 返回数据时中文乱码
在 Spring MVC 中,当方法中使用了 @ResponseBody 注解,并且向页面返回了中文的时候会出现乱码问题,因为 Spring MVC 默认是按照 ISO-8859-1 的字符集来编码的,此时可以在方法上加上以下注解:
@RequestMapping(value = "...",produces="text/plain;charset=utf-8")2、Spring MVC 配置静态资源访问路径
可以通过以下方式来配置静态资源访问路径,即使放在 WEB-INF 下也没毛病,而且只会针对静态资源,不针对 jsp,同样也不会暴露 jsp:
<!-- 配置静态资源访问方式,如image,css,js -->
<mvc:resources mapping="/resource/**" location="/WEB-INF/jsp/" />3、配置 Controller 方法可以和多个路径匹配
之前没有过这种多种路径的需求,所以不知道竟然这样也行,直到后来……如下。
@RequestMapping(value = { "/url1", "/url2" })4、对于 PUT 请求的参数 Controller 无法映射到的问题(Spring Boot)
遇到的问题:写了一个 Restful 规范的接口,请求方式为 PUT,Controller 里用方法参数来接收请求的参数,使用 postman 进行测试,使用 PUT 方式请求,参数形式为 form-data——后端映射的到;参数形式为 x-www-form-urlencoded——后端映射不到;
解决方案:在后端加如下配置即可
Filter that parses form data for
HTTPPUT, PATCH, and DELETE requests and exposes it asServletrequest parameters. By default theServletspec only requires this forHTTPPOST.
@Configuration
public class WebConfig extends WebMvcConfigurationSupport {
@Bean
public FormContentFilter formContentFilter() {
return new FormContentFilter();
}
}
