SpringMvc---处理请求、响应乱码问题

get请求乱码

当get请求出现乱码,只需要到tomcat的conf目录下修改server.xml文件,在配置端口号的地方,设置端口号后加上,空格

URIEnconding="UTF-8"

post请求乱码

在web.xml文件中注册CharacterEncodingFilter过滤器【这时Spring自带的】,通过CharacterEncodingFilter过滤器初始化参数设置请求和响应参数编码格式

首先能看见CharacterEncodingFilter中有三个参数,其中encoding代表编码,另两个分别代表是否强制请求编码格式为xxx,是否强制响应编码格式为xxx。

在CharacterEncodingFilter源码【一部分】中:

private String encoding;
private boolean forceRequestEncoding;
private boolean forceResponseEncoding;
​
public CharacterEncodingFilter() {
    this.forceRequestEncoding = false;
    this.forceResponseEncoding = false;
}

然后在具体处理过滤请求的方法【doFilterInternal】中,可以看见在设置了encoding后就会将请求编码格式设置为你设置的请求编码格式。

在下面的判断中可以发现,当设置了请求参数后,第一个判断的判断条件中,它是或判断,第一个条件默认是

你可能感兴趣的:(SpringMvc,springmvc)