`
splinter_2
  • 浏览: 59212 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

更深入的TOMCAT中文乱码解决之道,包括GET/POST(转)

阅读更多

在tomcat5中发现了以前处理tomcat4的方法不能适用于处理直接通过url提交的请求,上网找资料终于发现了最完美的解决办法,不用每个地方都转换了,而且无论get,和post都正常。    
  
  -------------------  
   
  问题描述:  
   
  1   表单提交的数据,用request.getParameter("xxx")返回的字符串为乱码或者??  
  2   直接通过url如http://localhost/a.jsp?name=中国,这样的get请求在服务端用request.getParameter("name")时返回的是乱码;按tomcat4的做法设置Filter也没有用或者用request.setCharacterEncoding("GBK");也不管用  
   
  原因:  
  1   tomcat的j2ee实现对表单提交即post方式提示时处理参数采用缺省的iso-8859-1来处理  
  2   tomcat对get方式提交的请求对query-string   处理时采用了和post方法不一样的处理方式。(与tomcat4不一样,所以设置setCharacterEncoding("GBK"))不起作用。  
   
   
  解决办法:  
   
  首先所有的jsp文件都加上:  
   
   
  1   实现一个Filter.设置处理字符集为GBK。(在tomcat的webapps/servlet-examples目录有一个完整的例子。请参考web.xml和SetCharacterEncodingFilter的配置。)    
   
  1)只要把%TOMCAT安装目录%/   webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的WEB-INF\classes目录filters下,如果没有filters目录,就创建一个。  
  2)在你的web.xml里加入如下几行:  
   
          <filter>  
                  <filter-name>Set   Character   Encoding</filter-name>  
                  <filter-class>filters.SetCharacterEncodingFilter</filter-class>  
                  <init-param>  
                          <param-name>encoding</param-name>  
                          <param-value>GBK</param-value>  
                  </init-param>  
          </filter>  
   
          <filter-mapping>  
                  <filter-name>Set   Character   Encoding</filter-name>  
                  <url-pattern>/*</url-pattern>  
          </filter-mapping>  
   
  3)完成.  
   
  2   get方式的解决办法  
  1)   打开tomcat的server.xml文件,找到区块,加入如下一行:  
  URIEncoding=”GBK”  
  完整的应如下:  
          <Connector    
  port="80"                               maxThreads="150"   minSpareThreads="25"   maxSpareThreads="75"  
                                enableLookups="false"   redirectPort="8443"   acceptCount="100"  
                                debug="0"   connectionTimeout="20000"    
                                disableUploadTimeout="true"   URIEncoding="GBK"   />  
   
  2)重启tomcat,一切OK。  
   
  执行如下jsp页页测试是否成功  
   
   
  <%@   page   contentType="text/html;charset=gb2312"%>  
  <%@   page   import="java.util.*"%>  
  <%  
          String   q=request.getParameter("q");  
          q   =   q   ==   null?   "没有值"   :   q;  
  %>  
  <HTML>  
  <HEAD><TITLE>新闻列表显示</TITLE>  
  <META   http-equiv=Content-Type   content="text/html;   charset=gb2312">  
  <META   http-equiv=pragma   content=no-cache>  
  </HEAD>  
   
  <body>  
  你提交了:  
  <%=q%>  
  <br>  
  <form   action="tcnchar.jsp"   method="post">  
  输入中文:<input   type="text"   name="q"><input   type="submit"   value="确定">  
  <br> <a   href="tcnchar.jsp?q=中国">通过get方式提交</a>  
  </form>  
  </BODY>  
  </HTML>  
   
  测试结果如果你输入文本框或者点超链都会显示:你提交了”中国”,说明成功!!!!!  

分享到:
评论

相关推荐

    解决boa服务器get/post请求中文乱码问题

    本主题聚焦于"boa服务器get/post请求中文乱码问题",并提及了sqlite3数据库处理中文乱码的情况。以下将详细介绍这两个方面的知识点。 1. Boa服务器与HTTP请求中文乱码: Boa服务器是一个轻量级的Web服务器,适用于...

    Tomcat中Get和Post出现乱码的解决办法

    "Tomcat中Get和Post出现乱码的解决办法" 在 Tomcat 中,Get 和 Post 方法都可能出现乱码问题,这主要是由于编码问题引起的。在本文中,我们将详细介绍 Tomcat 中 Get 和 Post 方法出现乱码的解决办法。 一、乱码...

    解决了中文乱码的http的get和post请求demo

    本篇将详细讲解如何处理中文乱码问题,特别是在HTTP的GET和POST请求中。参考文档来源于CSDN博主的文章,我们将围绕这个主题进行深入探讨。 首先,我们需要理解中文乱码问题产生的原因。当HTTP请求发送含有中文字符...

    解决tomcat中文乱码问题.doc

    ### 解决Tomcat中文乱码问题 在使用Tomcat服务器部署Web应用时,经常会遇到中文乱码的问题。本文将详细探讨几种常见的乱码场景及其解决方案。 #### 一、JSP页面上的中文显示为乱码 **问题描述**:在JSP页面中直接...

    中文乱码过滤器(包括GET和POST)

    中文乱码过滤器是一种专门用于解决这种问题的工具,它能够有效地处理GET和POST请求中的中文乱码问题,确保数据的正确显示和传输。本文将深入探讨中文乱码的产生原因,介绍中文乱码过滤器的工作原理,以及如何在实际...

    解决post get 请求乱码问题

    解决 POST GET 请求乱码问题 在 Web 开发中,POST 和 GET 请求可能会出现乱码问题,导致中文参数无法正确传输和解析。今天,我们将讨论如何解决 POST 和 GET 请求乱码问题。 解决 POST 请求乱码问题 在 Spring ...

    Tomcat和weblogic中文乱码问题解决方案

    Tomcat和WebLogic中文乱码问题解决方案 在 Java Web 开发中,中文乱码问题一直是困扰开发者的主要问题之一。 Tomcat 和 WebLogic 是两个常用的 web 服务器,都是支持 Servlet 和 JSP 的。然而,在使用这些服务器时...

    如何解决Tomcat下中文乱码问题?

    在IT行业中,尤其是在Java Web开发领域,Tomcat服务器在处理中文字符时经常遇到乱码问题。这主要涉及两个方面:JSP页面显示中文乱码和表单提交乱码。为了解决这些问题,我们需要理解字符编码的基本原理,并采取相应...

    解决tomcat中文乱码问题

    ### 解决Tomcat中文乱码问题的详尽指南 在Java Web开发中,尤其是在使用Apache Tomcat服务器时,中文乱码问题是开发者常遇到的难题之一。本文将详细解析如何在Tomcat环境中解决中文乱码问题,确保中文字符的正确...

    Tomcat环境下JSP中文乱码问题的解决

    本文将深入探讨Tomcat环境下JSP中文乱码的根源,并提出有效的解决方案。 #### Tomcat的编码方式 理解Tomcat环境下的编码方式是解决中文乱码问题的关键。主要涉及四种编码: 1. **UNICODE**:这是Java内部采用的...

    Tomcat中文乱码解决方法参考.pdf

    Tomcat 中文乱码问题是 Web 开发中常见的问题之一,本文将详细介绍解决 Tomcat 中文乱码的方法。 一、设置网页编码 在 Tomcat 中,设置网页编码是解决中文乱码的关键。可以通过 contentType、pageEncoding 或 ...

    get、post请求中文乱码处理方式一

    在IT行业中,网络请求是应用程序与服务器之间交互的...提供的压缩包文件“get、post请求中文乱码处理方式一”可能包含了更具体的代码示例和详细说明文档,建议下载后详细阅读,以便更深入地理解和应用这些处理方法。

    Indy10.6和OpenSSL解决D7下GET&POST;乱码下载

    "3,indy10.6D7下Get&Post中文乱码解决.txt"是针对D7环境下Indy10.6 GET和POST请求中文乱码问题的解决方案。这个问题通常由字符编码不一致导致,例如服务器和客户端之间没有统一的编码标准,或者在转换过程中没有...

    Tomcat中文乱码处理方法.docx

    Tomcat中文乱码处理方法是指在使用Tomcat服务器时,遇到中文乱码问题的解决方法。中文乱码是指在网页中显示的中文字符被错误地显示为乱码,影响用户体验和网站的可读性。 第一种解决方法是通过contentType、...

    post和get提交乱码处理

    本文将深入探讨如何处理POST和GET提交时的乱码问题,以确保网页显示正常,避免出现中文或者其他非ASCII字符的乱码现象。 首先,我们要理解POST和GET的区别。POST请求通常用于向服务器发送大量数据或修改服务器资源...

    Tomcat PostGet 中文編碼處理方法

    本文将深入探讨如何在Tomcat环境下正确地处理POST与GET请求中的中文字符,帮助开发者更好地理解和解决相关问题。 #### 一、理解中文字符编码 在讨论具体的解决方案之前,首先需要了解几个基本概念: 1. **Unicode...

    java中文乱码之解决URL中文乱码问题的方法

    在Java开发中,遇到中文乱码问题是一种常见的挑战,特别是在处理URL时。URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要...

    java乱码综合解决方法(不区分get和post)

    Java中的乱码问题是一个常见的编程挑战,特别是在处理网络请求(如GET和POST)时。本文将深入探讨如何解决这些问题,并且不局限于特定的请求类型。首先,我们需要理解字符编码的基本概念,然后分析Java中可能出现...

    tomcat5中文问题完美解决

    【Tomcat5中文问题解决详解】 在使用Tomcat5运行含有中文内容的应用程序时,可能会遇到中文乱码的问题。...通过上述两种方法,可以有效地解决POST和GET请求的中文乱码问题,实现中文数据的正常显示。

    java中文乱码解决之道(7)JSP页面编码过程Java开

    这篇"java中文乱码解决之道(7)JSP页面编码过程"的主题深入探讨了如何有效地解决这个问题,提供了宝贵的Java经验和技巧。这里我们将详细解析JSP页面编码过程中的关键点,以及如何避免和解决中文乱码。 首先,理解...

Global site tag (gtag.js) - Google Analytics