当前位置: 移动技术网 > IT编程>开发语言>Java > 解决Tomcat修改get提交请求乱码问题

解决Tomcat修改get提交请求乱码问题

2019年07月22日  | 移动技术网IT编程  | 我要评论
1:表单提交controller获得中文参数后乱码解决方案 注意: jsp页面编码设置为utf-8 ***************form表单提交方式为必须为post,

1:表单提交controller获得中文参数后乱码解决方案

注意: jsp页面编码设置为utf-8

***************form表单提交方式为必须为post,get方式下面spring编码过滤器不起效果

 <%@ page language="java" import="java.util.*" pageencoding="utf-8"%>
 <form action="/user/adduser" name="userform" method="post">

修改web.xml,增加编码过滤器,如下(注意,需要设置forceencoding参数值为true)

<filter> 
  <filter-name>characterencodingfilter</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> 
  <init-param> 
   <param-name>forceencoding</param-name> 
   <param-value>true</param-value> 
  </init-param> 
</filter> 
<filter-mapping> 
  <filter-name>characterencodingfilter</filter-name> 
  <url-pattern>/*</url-pattern> 
</filter-mapping>

tomacat对get和post请求处理方式是不同的,要处理针对get请求的编码问题,则需要改tomcat的server.xml配置文件,如下:

<connector connectiontimeout="20000" port="8080" protocol="http/1.1" redirectport="8443"/>

改为:

<connector connectiontimeout="20000" port="8080" protocol="http/1.1" redirectport="8443" usebodyencodingforuri="true"/>

**************注意eclipse中tomcat,server,clean功能会将原先配置还原

如果你是更改的tomcat安装目录的server.xml配置文件,其实是因为eclipse在运行项目时是用的eclipse中配置的tomcat,那么问题就好解决了,打开eclipse中的tomcat配置文件,改为如下即可:

注:配置usebodyencodingforuri="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把usebodyencodingforuri="true"改为uriencoding="utf-8"即可。

以上所述是小编给大家介绍的tomcat修改get提交请求乱码问题,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网