修改Tomcat编码方式的两种方法
转载自 修改Tomcat编码方式的两种方法
方法一:推荐,不会影响到其它项目
见我的另一篇博客:http://www.cnblogs.com/x_wukong/p/3292664.html
修改方法:
修改tomcat下的conf/server.xml文件,找到Connector标签,添加useBodyEncodingForURI="true",如下代码:
<Connector port="8080" useBodyEncodingForURI="true" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" />
对于 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文件,如下代码:
<Connector port="8080" URIEncoding="UTF-8" protocol="HTTP/1.1"connectionTimeout="20000" redirectPort="8443" />
这段代码规定了Tomcat监听HTTP请求的端口号等信息。可以在这里添加一个属性:URIEncoding,将该属性值设置为UTF-8,即可让Tomcat(默认ISO-8859-1编码)以UTF-8的编码处理get请求。
修改Tomcat编码方式的两种方法相关推荐
- 打开方式怎么用计算机程序,教你修改电脑程序默认打开方式的两种方法
电脑程序默认打开方式 我们在使用Windows系统打开某些文件的时候,由于有些文件已经关联了一些默认程序,所以可以直接打开进行浏览,但有些用户可能不习惯使用默认的程序,那么该如何进行修改呢?修改的方法 ...
- 修改mysql数据库默认字符集_MySQL数据库之修改mysql默认字符集的两种方法详细解析...
本文主要向大家介绍了MySQL数据库之修改mysql默认字符集的两种方法详细解析 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. (1) 最简单的修改方法,就是修改mysql的m ...
- 在装完Linux系统之后自己去修改Swap分区的大小(两种方法)
在装完Linux系统之后自己去修改Swap分区的大小(两种方法)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:o ...
- Linux修改root用户密码的两种方法
第一种方法 1.重启系统,按'E'进入编辑内核参数的页面. 2.找到linux行,末尾空格后输入 rd.break 然后按ctrl+x 3. 输入mount | grep sysroot(注意空格)查 ...
- mysql授权 改表_mysql开启远程登陆(修改数据表和授权两种方法)
一.确认防火墙没有阻止3306端口(一般服务器默认会屏蔽掉) windows防火墙例外设置方法 控制面板(右上角选择查看方式为大图标)---防火墙---高级设置---高级设置---出站规则---最右边 ...
- 曼彻斯特编码_两种编码方式以及两种帧结构
一.不归零制编码(Non-Return to Zero) 对于不归零制编码是最简单的一种编码方式,正电平代表1,负电平代表0.如下图: 其实在不归零制编码中有一个很明显的缺陷,那就是它不是自同步码. ...
- linux卸载mysql和myodbc_linux下卸载mysql rpm安装方式和源码安装方式的两种方法
转自http://hi.baidu.com/myphpzone/blog/item/562e496f0dfbb1d680cb4a2d.html linux下MySQL卸载方法 一.源码安装的卸载方法: ...
- 修改C盘系统文件 Hosts 两种方法
Hosts文件位置 第一种 直接修改属性 右键文件,选择属性,把 只读 选项的√取消掉,再保存 再右键,管理员模式打开,最后修改保存文件. 第二种方式 通过命令管理行(CMD)打开Hosts文件 通过 ...
- 修改MSSQL表所有者的两种方法
网站更换空间的时候,经常会因为MSSQL数据库名不同,导致从旧空间备份的数据库在新空间还原后无法正常使用.这时候,我们可以通过将数据库表的所有者修改为"dbo"来解决这个问题,具体 ...
最新文章
- kmalloc、vmalloc、malloc的区别
- SHOP++源码部署说明:
- linux中awk工具的使用(转载)
- vscode python 自动补全_利用CodeBERT,这个VS Code扩展可以自动生成Python文档字符串...
- java 数据纠错,纠错码简介
- zookeeper中展示所有节点_zookeeper工作原理与节点使用
- Bluetooth---如何使用Android蓝牙开发
- C# Wke使用例子 (KyozyWke)
- 直播系统源码开发经验分享
- 推荐一个php Zend Guard解密工具 G-DeZender 本地版
- Oracle 数据库的常用备份方法
- Android开发网上的一些重要知识点[经验分享]
- 三丈红尘,八千里风月
- 【质量管理】SMT电子厂超实用的六西格玛(6σ)质量管理工具一览表!
- VSCode配置C++环境【报错interpreter=mi】
- android自定义插值器_自定义缓动插值器,可在Android中实现有意义的动作
- Docker方式部署Github监控系统Hawkeye
- 一文尽览!弱监督语义/实例/全景分割全面调研(2022最新综述)
- 讯飞——机器翻译,iOS的webapi接入教程
- C/C++ 视频播放器开发
热门文章
- [SpringSecurity]web权限方案_自动登陆_原理分析和具体实现
- [C++11]独占的智能指针unique_ptr的初始化和使用
- python操作excel_使用Python操作Excel时必学的3个库
- word List 48
- math:线性代数之行列式
- MATLAB读取文件夹及其所有子文件夹内的图像
- E. Almost Sorted(构造,递归)
- Educational DP Contest U - Grouping 状压dp
- Deltix Round, Spring 2021 E. Crypto Lights 组合数学 + 推公式
- 2016ICPC沈阳站