【SpringMVC】08 Post请求乱码
2021-01-27 19:13
标签:har ini mic pattern 编码 中文 -name pos val 这是以Post请求方式接受来的中文字符乱码 就像之前JavaWeb阶段的情况一样 所以,按照JavaWeb的方法,我们应该只需要在获取之前设置好编码处理就行了 可以先从这个处理方法开始试试,但是参数在编码之前就已经获取了,所以这样是没有用的 于是测试第二种方法,因为所有的请求都会被过滤器最先拦截下来,再放行给Servlet程序 这里本来想使用注解的,但是好像没有API支持吧,用不了就还是老办法XML配置 web.xml的配置 访问测试成功,中文获取正常 要注意的是过滤器的路径配置【也成为路由配置】不可以单写反斜杠 否则过滤的只是单个工程首页的过滤,应该写反斜杠 + 通配符星号 这个过滤器我们可以自己写,也可以交给SpringMVC的过滤器来完成 我们只需要配置web.xml即可 【这个过滤器也一样,路由要写成 / *,否则也会失效】 【SpringMVC】08 Post请求乱码 标签:har ini mic pattern 编码 中文 -name pos val 原文地址:https://www.cnblogs.com/mindzone/p/12843061.htmlpackage cn.dai.filter;
import javax.servlet.*;
import java.io.IOException;
/**
* @author ArkD42
* @file SpringMVC
* @create 2020 - 05 - 07 - 14:38
*/
public class EncodingFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
servletRequest.setCharacterEncoding("UTF-8");
// 一般来说返回数据不会出现什么乱码
// servletResponse.setCharacterEncoding("UTF-8");
// 不要忘记放行请求哦
filterChain.doFilter(servletRequest, servletResponse);
}
public void destroy() {
}
}
filter>
filter-name>EFfilter-name>
filter-class>cn.dai.filter.EncodingFilterfilter-class>
filter>
filter-mapping>
filter-name>EFfilter-name>
url-pattern>/*url-pattern>
filter-mapping>
filter>
filter-name>SpringMVC EFfilter-name>
filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
init-param>
param-name>encodingparam-name>
param-value>utf-8param-value>
init-param>
filter>
filter-mapping>
filter-name>SpringMVC EFfilter-name>
url-pattern>/*url-pattern>
filter-mapping>
上一篇:python专题queue队列
下一篇:【算法】笔试面试1
文章标题:【SpringMVC】08 Post请求乱码
文章链接:http://soscw.com/index.php/essay/47878.html