tomcat url 中文参数问题
Tomcat url中文参数问题参考:
http://www.javaworld.com.tw/jute/post/view?bid=9&id=44042
大概了解到,参数传递有两种方式,取决于request请求的方式:get/post。
对于post,只要request.setCharacterEncoding,指定中文编码方式即可;而对于get,只能new String((request.getParameter("name")).getBytes("ISO-8859-1"),"gbk"),这是转换字符编码, tomcat默认是以ISO-8859-1将url参数编码的。
解决办法:
对于post方式filter可以很好的解决问题,但是get方式却不行。
为了让get方式能够正确获得中文参数, 需要先将参数值进行编码,java.net.URLEncoder.encode("中文参数","utf-8"),第二个参数指定编码类型;
再指定server.xml的URIEncoding="UTF-8",如下:
Java代码
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />
经测试,发现url中的中文参数值被编码过,将不能看到原始的中文, 也算起到了加密作用吧,但request.getParameter()能获得正确的中文了。
转自:http://spiritfrog.iteye.com/blog/197533
分享到:
相关推荐
原因:由于tomcat的新版本增加了一个新特性,就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了...
【Tomcat5中文问题解决详解】 在使用Tomcat5运行含有中文内容的应用程序时,可能会遇到中文乱码的问题。这通常涉及到HTTP请求的处理方式,尤其是对于POST和GET请求的不同处理策略。以下是对该问题的深入解析及解决...
在IT行业中,尤其是在Java Web开发领域,Tomcat服务器在处理中文字符时经常遇到乱码问题。这主要涉及两个方面:JSP页面显示中文乱码和表单提交乱码。为了解决这些问题,我们需要理解字符编码的基本原理,并采取相应...
URL中文乱码问题主要是由于URL编码和解码过程中的不一致导致的。下面将详细介绍如何解决这个问题,并探讨几种常用的方法。 首先,我们需要了解URL编码的基本原理。URL(统一资源定位符)不能包含某些特殊字符,如...
在JSP开发中,处理URL编码传递中文参数是常见的需求,尤其是在构建动态网页时。这个问题主要涉及到字符编码的转换,因为不同的编码标准可能导致乱码。以下是对这个主题的详细解释: 1. **URL编码**:URL(统一资源...
Tomcat和WebLogic中文乱码问题解决方案 在 Java Web 开发中,中文乱码问题一直是困扰开发者的主要问题之一。 Tomcat 和 WebLogic 是两个常用的 web 服务器,都是支持 Servlet 和 JSP 的。然而,在使用这些服务器时...
在使用Apache Tomcat服务器的过程中,有时会遇到中文乱码的问题,这主要表现为在日志输出、控制台打印或者Web应用中的请求参数、响应内容显示不正常,出现问号或者其他非中文字符。这个问题通常是由于字符编码设置不...
本文将深入探讨如何修改Tomcat的默认编码设置,以解决GET方式传递参数时出现的中文乱码问题。 #### Tomcat默认编码解析 默认情况下,Tomcat在处理HTTP请求时,采用的是ISO-8859-1编码,这是一种只支持西欧语言的...
### 解决Tomcat中文乱码问题 在使用Tomcat服务器部署Web应用时,经常会遇到中文乱码的问题。本文将详细探讨这一现象的原因,并提供一种有效的解决方案。 #### 问题背景 在Tomcat环境下运行Web应用程序时,如果...
当我们需要通过URL传递参数时,经常会遇到中文参数的问题。这是因为URL本身是基于ASCII编码的,不支持直接传输非ASCII字符,如中文。本篇将详细介绍如何在Servlet中处理URL传递中文参数的情况。 首先,了解URL编码...
### Tomcat中文问题之完美解决 #### 背景与问题描述 在使用Tomcat部署Web应用程序时,中文字符的编码处理常常会遇到乱码的问题。这种现象在使用GET或POST方式传递包含中文字符的数据时尤为明显。文章指出,在...
然而,在使用Tomcat处理包含中文字符的Web请求时,经常会遇到字符编码问题。这是因为Tomcat的默认字符集可能不支持中文字符,从而导致乱码的出现。解决Tomcat中的中文问题主要涉及字符编码的正确配置。 在Tomcat中...
当使用`sendRedirect`重定向时,URL中的参数可能因编码问题导致中文乱码。有两种常见处理方法: 1. **编码转换**:将中文字符串先转换为ISO-8859-1编码,然后再附加到URL上。 2. **URL编码**:使用`java.net....
尽管以上步骤可以解决大部分问题,但还有一些特殊情况,比如URL中的中文参数,可能还需要额外的处理。总体而言,确保整个应用程序从输入到输出的整个过程都保持一致的字符编码是非常重要的,以避免乱码问题。在处理...
#### 二、配置Tomcat支持URL中文参数 为了让Tomcat能够正确处理包含中文的URL参数,需要在`Connector`元素中加入`URIEncoding`属性。该属性指定了URL编码的方式,默认情况下,Tomcat不包含这个属性设置,因此可能会...
《Tomcat 5.5 中文版:程序设计与应用详解》 Apache Tomcat是一款开源、免费的Java Servlet容器,广泛应用于Web应用程序的部署和运行。Tomcat 5.5是其历史上的一个重要版本,提供了许多增强的功能和优化,使得它在...
某些通过URL来传送、值为汉字的参数,在页面中显示的是乱码,但是在本地开发环境是正常显示的。排除的因素当然就是服务器的设置不当了,但具体是那些原因呢?一般我们所装的linux服务器,是中文版的,所以系统环境的...
这里通过`URIEncoding`属性指定了URL参数的字符集,对于包含中文的URL来说至关重要。 ##### 3. HTML页面头部声明 为了确保浏览器能够正确解析页面内容,还需要在HTML页面头部添加`<meta>`标签,声明字符集信息: ...
例如,设置`Connector`元素的`URIEncoding`属性为`UTF-8`,确保URL中的中文参数正确解码。 3. **JSP和Servlet支持**:Tomcat 8.0.33 支持JSP 2.3和Servlet 3.1规范,这意味着开发者可以利用这些新特性和API来创建...