`

总结JSP,Struts等应用程序中在Tomcat中的乱码问题

 
阅读更多

一般表单提交有POST,GET方式,不过处理的时候方法有所区别
一般post可以在JSP页面添加<% request.setCharacterEncoding="GBK";%> 来处理
GET方式可以用转换编码方式类似的如:<%String username = new String(username.getBytes("ISO8859_1"),"GBK");%>

不过这不是很好的处理方式,比较麻烦。每个页面都要写这样重复的转换。
POST方式一般可以用Filter过滤的Servlet来实现
创建EncodingFilter.java
=======================
/*
* CoppyRight (c) Eays Studio
* description:LoginAction
*/
package net.eays.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.ServletException;
/**
* @author 小林信仁
* Creation date: 05-09-2007
*/
public class EncodingFilter implements Filter {

/**
* Constructor of the object.
*/
private FilterConfig config = null;
private String targetEncoding = "GBK";

public EncodingFilter() {
super();
}

/**
* Destruction of the servlet. <br>
*/
public void destroy() {
config = null;
targetEncoding = null;
}

/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init(FilterConfig config) throws ServletException {
this.config = config;
this.targetEncoding = config.getInitParameter("encoding");
System.out.println("init get value:"+ this.targetEncoding );
}

public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException,ServletException{
System.out.println("targetEncoding :" + targetEncoding + "/n");
request.setCharacterEncoding(targetEncoding);
chain.doFilter(request, response);
}

}


==============================


Web.xml中EncodingFilter过滤器配置添加
========================
<filter>
<description>EncodingFilter</description>
<display-name>EncodingFilter</display-name>
<filter-name>EncodingFilter</filter-name>
<filter-class>net.eays.servlet.EncodingFilter</filter-class>
<init-param>
<description>encoding to GB2312</description>
<param-name>encoding</param-name>
<param-value>GB2312</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>EncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
=============================

处理Get方式以上还是不行,Tomcat可以修改server.xml文件
============================
知道 <Connector
最后添加属性 useBodyEncodingForURI="true"
============================

OK,一切的乱码问题通通解决!

分享到:
评论

相关推荐

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决篇

    在本篇文章中,我们将深入探讨如何解决Struts + Hibernate + MyEclipse + Tomcat + MySQL环境中出现的乱码问题。该问题通常出现在处理中文字符时,由于编码设置不当导致中文显示为乱码或无法正常读取。为了确保系统...

    struts中文乱码问题解决详细步骤

    解决这个问题通常涉及到编码设置的调整,下面将详细介绍两种方法来解决Struts中的中文乱码问题。 **方法一:配置Filter** 1. **添加过滤器**:首先,我们需要在Web应用的`web.xml`文件中添加一个`...

    struts 2. 5.2解决中文乱码

    Struts 2.5.2 是一款广泛应用的Java Web框架,用于...如果你在应用上述步骤后仍然遇到问题,可能需要检查`myStruts`中的具体文件以找出问题所在。例如,检查是否有未指定编码的JSP页面,或者Struts 2的配置是否正确等。

    Struts+Hibernate+MyEclipse+Tomcat+MySQL的乱码之解决

    在开发Java Web应用程序时,经常会遇到编码问题,尤其是在使用Struts、Hibernate、MyEclipse、Tomcat和MySQL等技术栈时。这个问题主要涉及到各种组件之间的编码一致性,以及数据的正确转换。本文将针对这些技术的...

    JSP struts2 url传参中文乱码解决办法.docx

    在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...

    struts处理中文乱码问题总结

    在使用Struts框架进行Web应用程序开发过程中,中文乱码问题是开发者经常会遇到的技术难题之一。这类问题虽然看似不起眼,但如果处理不当,则可能会影响到用户体验甚至导致数据丢失。本文旨在通过对网络资料与实践...

    struts2的中文乱码问题解决

    在使用Struts2框架进行Web开发的过程中,中文乱码问题是一个常见的挑战。这不仅影响用户体验,还可能导致数据不一致等问题。为了解决这一问题,我们需要理解其背后的原理,并采取相应的措施。下面将详细介绍如何解决...

    Struts2乱码终极解决办法

    在开发基于Struts2框架的应用时,经常遇到的一个问题就是中文乱码。这不仅影响用户体验,还可能导致数据处理错误。本文将详细介绍如何彻底解决Struts2中的乱码问题,并提供实际可行的解决方案。 #### 二、乱码产生...

    struts之中文乱码问题

    Struts是一个非常流行的Java Web应用程序框架,用于构建和管理MVC(模型-视图-控制器)架构的应用。在处理中文字符时,Struts可能会遇到乱码问题,这主要是由于字符编码不一致或未正确配置导致的。下面我们将深入...

    奇怪的struts2的中文乱码问题及解决.docx

    在Web开发中,Struts2是一个非常流行的动作框架,它与Spring和iBatis等技术结合,可以构建出高效且易于维护的Web应用。然而,开发过程中经常遇到的一个问题就是字符编码问题,尤其是中文乱码问题。本文将深入探讨一...

    Struts框架下Ajax发送中文乱码问题的解决

    在实际应用中,我们常常会遇到Ajax与服务器交互时出现中文乱码的问题,尤其是在发送和接收中文数据时。这个问题主要涉及到字符编码的处理,解决起来需要对HTTP协议、字符编码原理以及Struts框架的工作机制有一定的...

    struts下的汉字乱码问题

    总结来说,解决Struts下的汉字乱码问题,需要从页面、过滤器、服务器配置和Struts核心Servlet等多方面进行设置,确保在整个请求生命周期中,中文字符始终以正确的编码进行处理。这不仅涉及了前端的展示,还涉及到...

    Struts的乱码问题

    在Web开发过程中,尤其是使用Java Web框架如Struts进行项目开发时,经常遇到的一个问题是中文字符的乱码问题。这个问题主要体现在中文字符在Web页面上的显示不正确,或是通过表单提交的数据在服务器端无法正确识别...

    开发Struts应用的步骤及中文乱码处理.doc

    在开发Struts应用时,中文乱码问题是一个常见的挑战,特别是在处理表单提交和页面显示时。以下将详细解释开发Struts应用的步骤以及解决中文乱码问题的方法。 1. **新建 Web Project** - 在IDE中创建一个新的Web...

    中文乱码问题

    中文乱码问题是 web 开发中经常遇到的问题,特别是在使用 JSP、Servlet、Struts 2 等技术时。乱码问题的出现主要是由于字符编码不一致所致。以下是解决中文乱码问题的知识点: JSP 文件的中文乱码问题 在 JSP 文件...

    中文乱码处理问题总结

    本文将重点讨论在Java环境下,特别是Web应用开发中遇到的中文乱码问题,并提出相应的解决方案。 #### 二、JSP页面中的乱码处理 1. **JSP页面本身的编码设置** - **问题描述**:JSP页面直接输出中文时可能出现...

    struts2中文乱码解决Demo

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展、模块化且易于管理的企业...通过这个DEMO,开发者可以更好地理解和解决Struts2中的中文乱码问题,从而确保应用能够正确处理中文字符,提供良好的用户体验。

    jsp页面乱码处理

    在进行Web开发时,尤其是使用JSP技术栈时,乱码问题是一个常见的困扰,它可能出现在页面显示、表单提交或数据库交互等多个环节。本文将根据“jsp页面乱码处理”的标题与描述,深入解析解决JSP乱码问题的策略,并结合...

    解决Struts提交中文出现乱码和提交日期型数据报错的问题

    在Struts中,日期类型的字段可能会因为格式不匹配、类型转换错误等原因导致异常。以下是一些解决策略: 1. **日期格式化**:在Action类中,使用`@DateTimeFormat`注解指定日期格式,例如:`@DateTimeFormat(pattern...

    jsp_毕业设计参考文献

    jsp(JavaServer Pages)的毕业设计参考文献总结了多种相关技术,涵盖数据库访问技术、Java Web 开发技术、Struts 框架、JavaScript 脚本程序设计、SQL Server 索引选取、Tomcat 与 Java Web 开发技术、计算机技术与...

Global site tag (gtag.js) - Google Analytics