阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Tomcat 编码问题解决

206次阅读
没有评论

共计 1241 个字符,预计需要花费 4 分钟才能阅读完成。

众所周知,Tomcat 是一个基于 HTTP 协议的 Java 应用服务器(非 Web 服务器),也是一个 Servlet 容器.

一般我们会基于使用 HTTP 协议的 Post 或 Get 方法来传递内容或参数,中间会涉及一些编解码操作,若不了解编解码过程可能会遇到乱码或解析问题.

接下来,我们来了解下调用方与 tomcat 交互时编解码过程:

  1. 调用方使用 utf- 8 进行 encode(可在代码层实现)
  2. tomcat 使用 iso8859- 1 进行 decode(server.xml 对应的 Connector 设置)
  3. servlet 使用 iso8859- 1 进行 encode(webapp 中 web.xml 中设置,注意:该方式仅 tomcat 7.x 版本支持)
  4. 服务方使用 utf- 8 进行 decode(可在代码层实现)

提醒:不知道大家可注意到了,调用方与服务方最终使用的编码格式必须统一;另外,tomcat 与 servlet 的编码格式也必须统一. 当然我们因业务需要也可以使用其他编码格式(如:GBK),但建议为了跨平台和字符集兼容,建议统一使用 UTF-8

那么当我们真的出现了编码问题如何解决呢?

1.修改 JSP 页面的 Content-Type类型为 UTF-8(<%@page    cotnentType="mime/type; charset=UTF-8" %>)

2.在 server.xml<Connector> 设置 URIEncoding="UTF-8"或 useBodyEncodingForURI="true"

3.在 web.xml字符编码过滤器中设置编码为 UTF-8

4.把所有 servlets 的 Content-Type设置为 UTF-8 

RedHat Linux 5.5 安装 JDK+Tomcat 并部署 Java 项目  http://www.linuxidc.com/Linux/2015-02/113528.htm 

Tomcat 权威指南(第二版)(中英高清 PDF 版 + 带书签)  http://www.linuxidc.com/Linux/2015-02/113062.htm 

Tomcat 安全配置与性能优化 http://www.linuxidc.com/Linux/2015-02/113060.htm 

Linux 下使用 Xshell 查看 Tomcat 实时日志中文乱码解决方案 http://www.linuxidc.com/Linux/2015-01/112395.htm 

CentOS 64-bit 下安装 JDK 和 Tomcat 并设置 Tomcat 开机启动操作步骤 http://www.linuxidc.com/Linux/2015-01/111485.htm 

CentOS 6.5 下安装 Tomcat  http://www.linuxidc.com/Linux/2015-01/111415.htm 

Tomcat 的详细介绍:请点这里
Tomcat 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-08/121556.htm 

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计1241字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中