- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tomcat字符编码的常见问题
Tomcat字符编码的常见问题
1.默认的字符编码是什么?
如果没有指定字符编码,Servlet规范规定使用ISO 8859-1作为默认的编码。
2.我怎样改变GET方法的解析?
在server.xml中的Connector中指定URIEncoding参数。
3.我怎样改变POST方法的解析?
POST请求需要指定它发送的参数和值的编码,因为大多数客户端可能没有设置一个明确的编码,默认使用的是ISO 8859-1。大多数情况下它可能不是我们希望的编码,因此可以使用一个javax.servlet.Filter来改变编码。Tomcat已经提供了完成这个功能的过滤器的例子。请参看:
4.x
webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
5.x
webapps/servlets-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
webapps/jsp-examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
6.x
webapps/examples/WEB-INF/classes/filters/SetCharacterEncodingFilter.java
4.我如何测试我配置工作正常?
下面这个JSP代码能够工作在一个没做任何改变新安装的Tomcat上。如果你设置了URIEncoding=UTF-8,它也能工作在GET方式上。
%@ page contentType=text/html; charset=UTF-8 %
!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN
html
head
titleCharacter encoding test page/title
/head
body
pData posted to this form was:
%
request.setCharacterEncoding(UTF-8);
out.print(request.getParameter(mydata));
%
/p
form method=POST action=index.jsp
input type=text name=mydata
input type=submit value=Submit /
input type=reset value=Reset /
/form
/body
/html
5.我如何在HTTP Header中发送高位字符?
你必须在插入到header之前使用某种方式对其编码。使用url-encoding(% + high byte number + low byte number)是一个好的方法。
6.如何确保其正确运行,请给个建议。
使用UTF-8作为字符编码是一个好的办法,这在大多数情况下工作良好。为了确保完全使用UTF-8,你需要做如下改变:
1.在server.xml中为你的Connector设置 URIEncoding=UTF-8
2.使用上面Tomcat例子提供的字符编码过滤器保证默认的编码为UTF-8
3.改变所有JSP页面的Content-Type类型为UTF-8 (使用%@page cotnentType=mime/type; charset=UTF-8 %)
4.把所有servlets的Content-Type设置为UTF-8
5.改变你用来生成内容的类库(如Velocity, Freemarker,等等.)的Content-Type为UTF-8
深入理解tomcat处理编码的机制
2010年09月21日 星期二 上午 3:09
本文从tomcat源码的鲜为人知的UDecoder类入手,试图讲解Tomcat内部处理编码的机制。只涉及Tomcat处理请求的编码机制,不涉及响应的编码机制。1. 关于UDecoder类???? 查看tomcat5和tomcat6版本的源码,可以看到org.apache.tomcat.util.buf.UDecoder类。这个类有什么特别的地方呢????? 用简单的一句话概括UDecoder类做的事情:修改所输入的字节流, 将每3个以百分号%开头的字节(
您可能关注的文档
- Shift键在CAD中的运用.doc
- SHP文件的常识介绍及C++算法与C算法实现.doc
- Signal Shaping for PeakPower and Dynamics Reduction in Transmission Schemes Employing Prec.pdf
- SierpinskiGasket上的布朗运动与Dirichlet问题.pdf
- Signalling Cost Analysis of SINEMO Seamless EndtoEnd Network Mobility ABSTRACT Abu S Rea.pdf
- SILABS 应用笔记FSK芯片PA扩展电路研究.pdf
- Similarity Analysis for Process Modelling of Requirements Engineering (a position paper.pdf
- silo中英文对照.doc
- silentwings专题.doc
- Similarity Search for Multidimensional Data Sequences.pdf
文档评论(0)