欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-29 11:07:58
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配置文件,改为如下即可:

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

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

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