首页 » 技术乱弹 » 正文

[转]修改Tomcat编码方式的两种方法

发表于: 青年博客 · 2017-8-25 ·  172 views  ·  0 replies 

转自:http://www.cnblogs.com/x_wukong/p/3651853.html

方法一:推荐,不会影响到其它项目

见我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html

修改方法:

修改tomcat下的conf/server.xml文件,找到Connector标签,添加useBodyEncodingForURI=”true”,如下代码:

对于 URL 提交的数据和表单中 GET 方式提交的数据,在接收数据的 JSP 中设置 request.setCharacterEncoding 参数是不行的,因为在 Tomcat5.0 中,默认情况下使用ISO-8859-1 对 URL 提交的数据和表单中 GET 方式提交的数据进行重新编码(解码),而不使用该参数对 URL 提交的数据和表单中 GET 方式提交的数据进行重新编码(解码)。要解决该问题,应该在 Tomcat 的配置文件的 Connector 标签中设置useBodyEncodingForURI 或者 URIEncoding 属性,其中 useBodyEncodingForURI 参数表示是否用 request.setCharacterEncoding 参数对 URL 提交的数据和表单中 GET 方式提交的数据进行重新编码,在默认情况下,该参数为 false (Tomcat4.0 中该参数默认为true );URIEncoding 参数指定对所有 GET 方式请求(包括 URL 提交的数据和表单中 GET 方式提交的数据)进行统一的重新编码(解码)的编码。URIEncoding 和 useBodyEncodingForURI 区别是,URIEncoding 是对所有 GET 方式的请求的数据进行统一的重新编码(解码),而 useBodyEncodingForURI 则是根据响应该请求的页面的request.setCharacterEncoding 参数对数据进行的重新编码(解码),不同的页面可以有不同的重新编码(解码)的编码。所以对于 URL 提交的数据和表单中 GET 方式提交的数据,可以修改 URIEncoding 参数为浏览器编码或者修改 useBodyEncodingForURI 为true ,并且在获得数据的 JSP 页面中 request.setCharacterEncoding参数设置成浏览器编码。

方法二:不推荐,有可能影响其他应用

默认情况下,tomcat使用的是iso8859-1的编码编码方式,浏览器的embed标签中src指向的地址要通过tomcat去解析。如果包含中文,采用这种编码方式就会出现乱码问题,而在这种情况下,乱码问题就表现出无法访问该音频文件了。

解决方法很简单:
修改tomcat下的conf/server.xml文件,如下代码:

这段代码规定了Tomcat监听HTTP请求的端口号等信息。可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。更改后的代码如下所示:

本文链接: http://www.baikeyang.com/code/97263.html
0 like+
«上一篇: :下一篇»

相关文章

修改tomcat服务器安装版可执行路径path to executable

启动tomcat6w.exe ,修改 Path to executable 路径: 1.“开...

Windows系统手动安装Tomcat服务

Windows 系统安装Tomcat,比较便捷的是setup程序去安装设置...

Thymeleaf 基本表达式

如需了解Thymeleaf以及Thymeleaf整合Spring Boot,请参考《...

Spring Boot 之 Thymeleaf 篇

在Spring boot中,官方默认采用的是Thymeleaf模块引擎,通...

JavaScript将数组字符串转数组对象的方法

在JavaScript,如何将数组字符串转数组对象呢?可以利用强...

Jquery圣诞节特效

为了庆祝圣诞节(其实是为了悼念我这毫无收获的一年),自...

《[转]修改Tomcat编码方式的两种方法》有0个想法

  1. 还没有任何评论,你来说两句吧

Leave a reply