`

GET方式传中文参数给Struts2 Action时出现乱码

 
阅读更多

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"   

分享到:
评论

相关推荐

    Struts2中文乱码问题最终解决方案

    在Struts2的各个版本和不同过滤器设置下,GET方式提交的中文乱码问题仍然存在。一种可行的解决方案是在Tomcat服务器的配置文件`server.xml`中,修改`&lt;Connector&gt;`标签,添加`URIEncoding="UTF-8"`属性。这将强制...

    struts2的中文乱码问题解决

    2. **Action乱码**:在处理表单提交等数据交互时,服务器端接收到的数据出现乱码。 3. **数据库乱码**:存储在数据库中的中文字符变为乱码。 #### 二、乱码产生的原理 Java使用Unicode编码,而Windows系统通常使用...

    Struts2.0解决中文乱码

    在Struts2.0框架中,这一问题尤为突出,因为不当的编码设置会直接导致用户界面显示错误或者数据处理时出现乱码。本文将深入探讨如何在Struts2.0中解决中文乱码问题,确保应用程序能够正确地处理和显示中文字符。 ##...

    struts下的汉字乱码问题

    在Struts框架中,汉字乱码问题是一个常见的问题,特别是在处理中文输入时。解决这个问题涉及到多个层面,包括页面编码设置、服务器配置以及Struts的Servlet配置。以下是对这些问题的详细解释: 1. 页面编码设置: ...

    Struts上传,已经处理好乱码问题

    总结,Struts框架处理文件上传涉及的主要步骤包括配置Struts配置文件、创建上传表单类、编写处理文件上传的Action以及处理可能出现的乱码问题。通过正确设置字符编码,可以确保文件名在上传过程中保持正确,避免出现...

    Struts实现文件下载中文乱码解决方案

    然而,这里的编码方式默认使用了GBK编码,可能导致中文字符在URL中传输时出现乱码。 为了解决这个问题,我们需要确保文件名在编码、解码以及在HTTP响应中保持正确的字符编码。以下是关键步骤: 1. **URL编码**:在...

    struts处理中文乱码问题总结

    Struts框架在处理中文字符时可能会遇到乱码问题,这是由于字符编码不一致导致的。以下是对三种常见乱码情况的解决策略: 1. 页面显示中文乱码: 当JSP页面中的中文字符无法正常显示时,通常是由于JSP文件本身的...

    使用prototype.js发送ajax get请求中文参数乱码解决

    在处理中文参数时,尤其是在使用Ajax的GET请求时,可能会遇到中文乱码的问题。这是因为浏览器、服务器和JavaScript之间的编码处理不一致所导致的。本文将深入探讨这个问题,并提供解决方案。 首先,我们需要了解...

    struts2访问application、session以及request等web资源的示例代码

    在"struts2-web"这个压缩包文件中,可能包含了一个或多个示例项目,演示了如何在Struts2的Action类中实现对application、session和request域的访问。开发者可以运行这些示例,通过观察控制台输出或页面显示,了解...

    中文乱码处理问题总结

    1. **问题描述**:通过URL直接传递中文参数时出现乱码。 2. **解决方案**: - 使用过滤器(Filter)在请求处理前设置编码格式。 - 如果已经发生了乱码,可以通过字符串编码转换的方式来修复。 - **示例代码**:...

    struts2.x一些技术细节资料总结

    Struts2是一个流行的Java Web框架,它为开发者提供了一种组织和管理应用程序逻辑的方式。在Struts2中,Action是核心组件,负责处理用户请求并返回相应的结果。本篇文章将详细探讨在Struts2.x中两个Action之间传递值...

    马士兵struts2课程的学习笔记

    5. **Struts执行过程**:Struts2的工作流程包括:请求到达过滤器,过滤器拦截请求并转发给Struts2核心,核心解析请求,找到匹配的Action,执行Action,然后根据配置结果转发到相应的视图。 6. **namespace**:...

    J2EE以GET和POST方式提交表单的乱码解决(受教了)

    下面我们将深入探讨如何解决J2EE环境下GET和POST方式提交表单时出现的乱码问题。 首先,我们要理解GET和POST的区别。GET方式会将表单数据附加到URL后面,而POST方式则将数据放在请求体中。由于GET方式的限制,它...

    详细的struts2知识

    对于Tomcat的配置,我们可以在`conf/server.xml`中修改Connector标签,添加`URIEncoding="UTF-8"`来解决HTTP GET参数中文乱码问题。此外,`context.xml`可以设置`reloadable="true"`使服务器在文件更改后自动重启,...

    struts2.33 中文学习笔记

    而在Struts2中,全局设置中文编码可以在`struts.xml`中添加常量`&lt;constant name="struts.i18n.encoding" value="utf-8"/&gt;`。 配置Struts2的开发环境,需要将Struts2的jar包放入`WEB-INF/lib`目录,然后在`web.xml`...

    Jquery通过JSON和Struts的Action交互[参照].pdf

    在SSH(Struts2、Spring、Hibernate)架构的项目中,使用jQuery与后台进行交互是常见的做法,特别是在处理异步请求时。本示例主要介绍了如何利用jQuery通过JSON与Struts2的Action进行数据交换,从而实现前端与后端的...

    strust2中文乱码

    解决Struts2中文乱码问题的关键在于确保整个应用程序的字符编码一致且为UTF-8。以下是一些关键步骤和配置,以解决这个问题: 1. **JSP页面设置**: - 在每个JSP页面的顶部,需要指定字符编码。这可以通过在`...

    struts2部分重点笔记

    Struts2 是一个流行的 Java Web 开发框架,它简化了MVC(模型-视图-控制器)架构的应用程序开发。以下是对Struts2部分重点笔记的详细解释: 1. **Result 类型**: - **Dispatch**:这是默认的结果类型,用于请求...

    struts2上传下载

    综上所述,Struts2的文件上传下载涉及到前端表单设计、Struts2 Action的编写、文件的服务器存储策略、数据库的设计和操作,以及可能出现的编码问题处理。理解并掌握这些知识点,能帮助开发者在实际项目中实现稳定...

Global site tag (gtag.js) - Google Analytics