0
点赞
收藏
分享

微信扫一扫

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)


前言:学习自https://www.bilibili.com/video/BV1aE41167Tu
写下此文

文章目录

  • ​​问题背景​​
  • ​​问题解决​​
  • ​​失败案例1​​
  • ​​失败案例2​​
  • ​​失败案例3​​
  • ​​成功案例1​​
  • ​​成功案例2(推荐)​​

问题背景

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_servlet

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_web_02

出现乱码

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_java_03

问题解决

失败案例1

在之前的Servlet中,我们用HttpServlet Request / Response解决乱码,现在也尝试一下

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_web_04

还是乱码

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_tomcat_05

失败案例2

在之前的Servlet中,拦截器的方式也可以解决(当然,和直接在Servlet中用req和resp设置原理一样,这里顺便借这个错回顾一下)

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_java_06


当然,和上面是同样的原理,不出所料,也是不行

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_servlet_07

失败案例3

利用produces属性,当然,这也和失败案例1的原理相同

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_乱码_08

成功案例1

当我们将之前的POST方式提交,改为GET方式请求

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_web_09


则不再出现乱码问题,可见,请求方式的不同,也会导致乱码问题的出现

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_乱码_10

成功案例2(推荐)

Spring MVC 帮我们配置了一个过滤器,直接在web.xml中配置即可

<filter>
<filter-name>encoding</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>
</filter>

<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

也成功解决

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_乱码_11


注:这种方法,有些极端情况过滤器对 get 请求方式的支持不好

处理方法:

1、修改tomcat配置文件,设置编码

Java中Web开发之乱码问题分析(问题背景 + 问题解决:三次失败案例,两次成功案例)_java_12


2、自定义过滤器(去网上找大佬自己写的过滤器,或者自己有能力就自己写)


举报

相关推荐

0 条评论