javaweb的URL或Post请求乱码(包含Eclipse或者Idea的maven使用内置tomcat:run乱码)

1、通用get请求乱码问题
针对Get方式的乱码问题,内置Tomcat容器,只要在服务器端配置URL编码格式:
修改tomcat的配置文件server.xml:



只需增加 URIEncoding="UTF-8" 这一句,然后重启tomcat即可。

 

2、通用post请求乱码问题
针对Post方式提交的请求如果出现乱码,可以每次在request解析数据时设置编码格式:
request.setCharacterEncoding("utf-8");
也可以使用编码过滤器来解决,最常用的方法是使用spring提供的编码过滤器:
在Web.xml中增加如下配置(要注意的是它的位置一定要是第一个执行的过滤器):


charsetFilter
org.springframework.web.filter.CharacterEncodingFilter

encoding
UTF-8


forceEncoding
true

 

 

javaweb的URL或Post请求乱码(包含Eclipse或者Idea的maven使用内置tomcat:run乱码)_第1张图片

该过滤器要做的其实就是强制为所有请求和响应设置编码格式:

request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");

3.Eclipse使用Maven tomcat:run命令启动web项目时修改uriEncoding编码
在eclipse开发调试时,get请求包含中文时会乱码,需要设置tomat的uriEncoding,我们知道外置的tomcat,修改tomcat下conf下的server.xml,那么maven内置的tomcat怎么设置呢?
设置方法同设置端口方法,直接在上述文章中的Goals值中的tomcat:run前边加上-Dmaven.tomcat.uriEncoding=UTF-8即可,最终效果为:

-Dmaven.tomcat.uriEncoding=UTF-8 tomcat:run

 

 

4.Idea使用Maven tomcat:run命令启动web项目GET请求乱码解决方案

 

javaweb的URL或Post请求乱码(包含Eclipse或者Idea的maven使用内置tomcat:run乱码)_第2张图片

Idea使用Maven tomcat:run命令启动web项目GET请求乱码解决方案

你可能感兴趣的:(javaweb的URL或Post请求乱码(包含Eclipse或者Idea的maven使用内置tomcat:run乱码))