解决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配置文件,改为如下即可:
注:配置usebodyencodingforuri="true"后,可以解决普通get请求的中文乱码问题,但是对于通过ajax发起的get请求中文依然会乱码,请把usebodyencodingforuri="true"改为uriencoding="utf-8"即可。
以上所述是小编给大家介绍的tomcat修改get提交请求乱码问题,希望对大家有所帮助