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"
- 浏览: 51924 次
文章分类
最新评论
发表评论
-
java 如何判断操作系统是Linux还是Windows
2014-02-11 09:59 861System.out.println("== ... -
MyEclipse控制台输入中文乱码解决
2013-11-21 22:46 1399修改MyEclipse的配置文件,在myeclipse的安装目 ... -
struts2 <result type="redirect">
2013-11-21 12:12 688今天在用struts2在做项目时候,从一个action我想跳转 ... -
ref bean与ref local区别
2013-11-08 09:32 432<bean id="userDAOPro ... -
win7 系统中host文件的位置
2013-10-31 11:06 695C:\Windows\System32\drivers\etc ... -
MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
2013-10-24 17:48 571MyEclipse设置JSP页面默认编码方式: windo ... -
获取当前的准确时间
2013-09-16 12:10 681Calendar c=Calendar.getInstance ... -
myeclipse中svn图标状态(同步标记)不显示问题的解决方法
2013-09-05 10:21 652今天从SVN服务器上down下工程后,发现myeclipse ... -
hibernate Criteria
2013-08-05 10:31 592方法 描述 Expressio ... -
比较大小
2013-08-04 17:13 531int a=5000; int b=5000; a==b ... -
时间类型的转化
2013-05-29 15:09 690SimpleDateFormat df=new SimpleD ... -
java list 判断对象是否存在
2013-11-11 15:20 4276String tags=this.getPublish() ... -
proteced 作用范围
2013-04-27 19:27 602struts2 ajax 页面得不到类中的变量的值。可能是因 ... -
自动生成java注册码的java代码
2013-04-02 16:47 0import java.io.BufferedReader ... -
hibernate查询的6种方法
2013-03-23 10:22 458hibernate查询的6种方法。分别是HQL查询,对象化查 ... -
hibernate Criteria DetachedCriteria
2013-03-23 10:11 548Criteria 是在线的,所 以它是由 Hibernat ... -
支付宝源码
2013-03-22 11:16 564支付宝的相关操作 -
java获得图片的像素
2013-03-22 10:21 710ImageIcon img= new Imag ... -
java 发邮件
2013-03-21 14:31 769package com.qhkj.goodChance.c ... -
临时的
2013-03-20 18:09 627@Transactional public String ...
相关推荐
在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`<Connector>`标签,添加`URIEncoding="UTF-8"`属性。这将强制...
2. **Action乱码**:在处理表单提交等数据交互时,服务器端接收到的数据出现乱码。 3. **数据库乱码**:存储在数据库中的中文字符变为乱码。 #### 二、乱码产生的原理 Java使用Unicode编码,而Windows系统通常使用...
在Struts2.0框架中,这一问题尤为突出,因为不当的编码设置会直接导致用户界面显示错误或者数据处理时出现乱码。本文将深入探讨如何在Struts2.0中解决中文乱码问题,确保应用程序能够正确地处理和显示中文字符。 ##...
在Struts框架中,汉字乱码问题是一个常见的问题,特别是在处理中文输入时。解决这个问题涉及到多个层面,包括页面编码设置、服务器配置以及Struts的Servlet配置。以下是对这些问题的详细解释: 1. 页面编码设置: ...
总结,Struts框架处理文件上传涉及的主要步骤包括配置Struts配置文件、创建上传表单类、编写处理文件上传的Action以及处理可能出现的乱码问题。通过正确设置字符编码,可以确保文件名在上传过程中保持正确,避免出现...
然而,这里的编码方式默认使用了GBK编码,可能导致中文字符在URL中传输时出现乱码。 为了解决这个问题,我们需要确保文件名在编码、解码以及在HTTP响应中保持正确的字符编码。以下是关键步骤: 1. **URL编码**:在...
Struts框架在处理中文字符时可能会遇到乱码问题,这是由于字符编码不一致导致的。以下是对三种常见乱码情况的解决策略: 1. 页面显示中文乱码: 当JSP页面中的中文字符无法正常显示时,通常是由于JSP文件本身的...
在处理中文参数时,尤其是在使用Ajax的GET请求时,可能会遇到中文乱码的问题。这是因为浏览器、服务器和JavaScript之间的编码处理不一致所导致的。本文将深入探讨这个问题,并提供解决方案。 首先,我们需要了解...
在"struts2-web"这个压缩包文件中,可能包含了一个或多个示例项目,演示了如何在Struts2的Action类中实现对application、session和request域的访问。开发者可以运行这些示例,通过观察控制台输出或页面显示,了解...
1. **问题描述**:通过URL直接传递中文参数时出现乱码。 2. **解决方案**: - 使用过滤器(Filter)在请求处理前设置编码格式。 - 如果已经发生了乱码,可以通过字符串编码转换的方式来修复。 - **示例代码**:...
Struts2是一个流行的Java Web框架,它为开发者提供了一种组织和管理应用程序逻辑的方式。在Struts2中,Action是核心组件,负责处理用户请求并返回相应的结果。本篇文章将详细探讨在Struts2.x中两个Action之间传递值...
5. **Struts执行过程**:Struts2的工作流程包括:请求到达过滤器,过滤器拦截请求并转发给Struts2核心,核心解析请求,找到匹配的Action,执行Action,然后根据配置结果转发到相应的视图。 6. **namespace**:...
下面我们将深入探讨如何解决J2EE环境下GET和POST方式提交表单时出现的乱码问题。 首先,我们要理解GET和POST的区别。GET方式会将表单数据附加到URL后面,而POST方式则将数据放在请求体中。由于GET方式的限制,它...
对于Tomcat的配置,我们可以在`conf/server.xml`中修改Connector标签,添加`URIEncoding="UTF-8"`来解决HTTP GET参数中文乱码问题。此外,`context.xml`可以设置`reloadable="true"`使服务器在文件更改后自动重启,...
而在Struts2中,全局设置中文编码可以在`struts.xml`中添加常量`<constant name="struts.i18n.encoding" value="utf-8"/>`。 配置Struts2的开发环境,需要将Struts2的jar包放入`WEB-INF/lib`目录,然后在`web.xml`...
在SSH(Struts2、Spring、Hibernate)架构的项目中,使用jQuery与后台进行交互是常见的做法,特别是在处理异步请求时。本示例主要介绍了如何利用jQuery通过JSON与Struts2的Action进行数据交换,从而实现前端与后端的...
解决Struts2中文乱码问题的关键在于确保整个应用程序的字符编码一致且为UTF-8。以下是一些关键步骤和配置,以解决这个问题: 1. **JSP页面设置**: - 在每个JSP页面的顶部,需要指定字符编码。这可以通过在`...
Struts2 是一个流行的 Java Web 开发框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。以下是对Struts2部分重点笔记的详细解释: 1. **Result 类型**: - **Dispatch**:这是默认的结果类型,用于请求...
综上所述,Struts2的文件上传下载涉及到前端表单设计、Struts2 Action的编写、文件的服务器存储策略、数据库的设计和操作,以及可能出现的编码问题处理。理解并掌握这些知识点,能帮助开发者在实际项目中实现稳定...