GET方式传中文参数给Struts2 Action时出现乱码
详细描述:前台jsp页面和后天的java都是采用utf-8编码,在jsp里用POST方式提交用户输入的中文给后台不会出现乱码,但是用GET方式提交中文参数给Action时就会出现乱码。
问题背景:
自从Tomcat5.x开始,GET和POST方法提交的信息,tomcat采用了不同的方式来处理编码。 对于POST请求,Tomcat会仍然使用request.setCharacterEncoding方法所设置的编码来处理,如果未设置,则使用默认的iso-8859-1
编码,如果出现乱码用request.setCharacterEncoding("UTF-8");
String name = new String(request.getParameter("name").getBytes("ISO-8859-1"), "UTF-8"); 这两种方式解决即可。
而GET请求则不同,Tomcat对于GET请求并不会考虑使用request.setCharacterEncoding方法设置的编码,而会永远使用iso-8859-1编码,而出错使用的正好是GET请求,因此,tomcat将会使用iso-8859-1将提交的字节转换成字符串。
解决方法:
为了保证Tomcat对于GET请求采用UTF8编码,在server.xml中的 <Connector />标签里增加 URIEncoding="UTF-8"
- 浏览: 49482 次
文章分类
最新评论
发表评论
-
java 如何判断操作系统是Linux还是Windows
2014-02-11 09:59 814System.out.println("== ... -
MyEclipse控制台输入中文乱码解决
2013-11-21 22:46 1353修改MyEclipse的配置文件,在myeclipse的安装目 ... -
struts2 <result type="redirect">
2013-11-21 12:12 657今天在用struts2在做项目时候,从一个action我想跳转 ... -
ref bean与ref local区别
2013-11-08 09:32 402<bean id="userDAOPro ... -
win7 系统中host文件的位置
2013-10-31 11:06 661C:\Windows\System32\drivers\etc ... -
MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
2013-10-24 17:48 551MyEclipse设置JSP页面默认编码方式: windo ... -
获取当前的准确时间
2013-09-16 12:10 595Calendar c=Calendar.getInstance ... -
myeclipse中svn图标状态(同步标记)不显示问题的解决方法
2013-09-05 10:21 629今天从SVN服务器上down下工程后,发现myeclipse ... -
hibernate Criteria
2013-08-05 10:31 564方法 描述 Expressio ... -
比较大小
2013-08-04 17:13 491int a=5000; int b=5000; a==b ... -
时间类型的转化
2013-05-29 15:09 647SimpleDateFormat df=new SimpleD ... -
java list 判断对象是否存在
2013-11-11 15:20 4206String tags=this.getPublish() ... -
proteced 作用范围
2013-04-27 19:27 570struts2 ajax 页面得不到类中的变量的值。可能是因 ... -
自动生成java注册码的java代码
2013-04-02 16:47 0import java.io.BufferedReader ... -
hibernate查询的6种方法
2013-03-23 10:22 427hibernate查询的6种方法。分别是HQL查询,对象化查 ... -
hibernate Criteria DetachedCriteria
2013-03-23 10:11 522Criteria 是在线的,所 以它是由 Hibernat ... -
支付宝源码
2013-03-22 11:16 522支付宝的相关操作 -
java获得图片的像素
2013-03-22 10:21 676ImageIcon img= new Imag ... -
java 发邮件
2013-03-21 14:31 733package com.qhkj.goodChance.c ... -
临时的
2013-03-20 18:09 601@Transactional public String ...
相关推荐
Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性接收参数 在 Struts2 中,可以使用 ...
关于StrutsPrepareAndExecuteFilter最新的过滤器,在Struts.xml定义常量<constant name="struts.i18n.encoding" value="UTF-8"/>...关于Struts2各个版本、各种过滤器,用get方式提交都方法都无法解决的中文乱码问题。
修改Tomcat默认编码消除get方式传递参数出现中文乱码修改Tomcat默认编码消除get方式传递参数出现中文乱码修改Tomcat默认编码消除get方式传递参数出现中文乱码修改Tomcat默认编码消除get方式传递参数出现中文乱码
PHP接收GET中文参数乱码深入研究.
get方式传参中文乱码问题的解决方案
C++Http上传文件到web服务器,解决中文参数乱码问题,微软提供的Chttpconnect 类在请求http头参数是中文时出现乱码
如果一个动作类实现了 ServletResponseAware 接口,Struts2 在调用 execute 方法之前,就会先调用 setServletResponse 方法,并将 response 参数传入这个方法。 方法 2:使用 RequestAware 拦截器 这种方法和第 1 ...
SpringMVC解决GET请求时中文乱码的问题.rar
下面小编就为大家带来一篇页面get请求 中文参数方法乱码问题的快速解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
但在接收浏览器发送的带中文URL时,取参数就会是乱码。经过查找资源,发现大部分浏览器,中文一般会先转码为utf-8,此时,idHttpServer控件会根据请求头中ContentType的Chatset进行相应的转码,以形成正确的参数。但...
如果直接拼接,传到后台Action的参数对象中后取出会是乱码,需要编码后再拼接到URL上。 解决方法是在Action中添加一个成员变量,保存编码后的中文参数。在vm页面渲染时取出这个变量值,再拼接超链接。 在这里碰到的...
php 中 URL 地址栏传参数中文乱码解决方法汇总 PHP 中 URL 地址栏传参数中文乱码解决方法汇总是指在 PHP 编程中,如何解决 URL 地址栏传参数中文乱码的问题。这个问题是由于浏览器和服务器之间的编码问题引起的。 ...
该属性指定Struts 2生成URL时是否包含请求参数.该属性接受none、get和all三个属性值,分别对应于不包含、仅包含GET类型请求参数和包含全部请求参数. struts.custom.i18n.resources 该属性指定Struts 2应用所需要的...
tomcat get提交中文乱码解决方案,修改tomcat server.xml 中以下为
get post 请求中文乱码 处理方式一(小实例+说明文档)
Unity 中通过UnityWebRequest 以GET形式传authorization 的参数请求数据。 注意: 以Header头文件的形式发送请求,authorization要放入请求头部。 以头文件形式发起请求进行Token验证,token为Authorization中的...
而网上另外也有资料如何处理中文编码,例如转码为utf-8,存能解决乱码,取又出现问题。本资源我重新整理,用unicode完美解决中文乱码问题。用法: 1.声明实例 IniFile iniFile = new IniFile(HttpContext....
介绍如何通过HttpClient模块来创建Http连接,并分别以Http GET与Http POST方法来传递参数,连接之后取回Web Server的返回网页结果。重点是如何使用HttpClient的模块来完成Http的请求与应答。 分享参考自Android SDK...
java解决解决get中文乱码问题,在项目中多次使用,从未有错!
<struts> <!-- 系统常量定义,定义上传文件字符集编码 --> <constant name="struts.i18n.encoding" value="UTF-8"> <!-- 系统常量定义,定义上传文件临时存放路径 --> <constant name="struts....