Tomcat5.5中文乱码完美解决方案.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Tomcat5.5中文乱码完美解决方案

新手学习Web编程的时候大多数都是使用Tomcat作为服务器,其中面临的一个最主要的问题就是中文乱码问题。JAVA阵营的工具不如.NET阵营那样容易使用,我们必须手动的做一些修改才能让Web页面支持中文。幸运的是,Tomcat发展到今天的5.5版本,对于非英文的支持已经相当不错了,你只需做很少的很简单的修改就可以让网页支持中文,下面我们就来看一看该如何做修改。 ??? 首先,对于所有的页面应该指定为GBK编码,也就是包含如下指令: ??? %@ page contentType=text/html;charset=GBK language=java % ??? 第二步,修改Tomcat目录下的web.xml文件,在我电脑上的路径为C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml。在这个文件里有一个Connector节点,为其增加一个属性URIEncoding属性,并为该属性赋值为GBK,修改结果如下: Connector牋port=80牋maxHttpHeaderSize=8192 mc 牋牋牋牋牋牋牋爉axThreads=150爉inSpareThreads=25爉axSpareThreads=75 er.xml那样容易 牋牋牋牋牋牋牋爀nableLookups=false爎edirectPort=8443燼cceptCount=100 r.xml那样容易使 牋牋牋牋牋牋牋燾onnectionTimeout=20000燿isableUploadTimeout=true 100 r.xm 牋牋牋牋牋牋牋燯RIEncoding=GBK? 0000燿isa 牋?牋牋注意最后一行,也就是与众不同的绿色的那一行,是需要我们手动添加的。 ??? 第三步,添加一个Filter用于转码。 ??? 对于Filter该怎么写,完全不用你操心,Tomcat自带一个非常完美的例子,你只需要把该例子的代码原封不动的copy到你自己的类里面就OK了,简单吧!!! 在我的系统中,该例子位于C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.java。 方便起见,我把该类的代码贴出来,并将其英文注释进行简单的汉化,你使用的时候复制我的代码也是一样有效: ? import?java.io.IOException; import爅avax.servlet.Filter; 汉import爅avax.servlet.FilterChain; 用import爅avax.servlet.FilterConfig; 的import爅avax.servlet.ServletException; 制import爅avax.servlet.ServletRequest; ;import爅avax.servlet.ServletResponse; import爅avax.servlet.UnavailableException; 码 public燾lass燬etCharacterEncodingFilter爄mplements燜ilter?..{ apps\ //?你需要转换的编码,对于我们,当然希望他的值为”GBK”了 //不过不用你操心,后面会对其进行设置 ????protected?String?encoding?=?null; //配置文件,根据web.xml中的配置内容自动初始化,不用你操心 牋牋protected燜ilterConfig爁ilterConfig?爊ull; ments燜 //是否忽略客户端指定的编码规则。True表示忽略。 //当然要忽略,因为我们要自己指定编码规则嘛。GBK、GBK、GBK~~~ 牋牋protected燽oolean爄gnore?爐rue; GBK~~~ //当这个过滤器被销毁的时候由系统来调用,不用管他 牋牋public爒oid燿estroy()?..{ rue; 牋牋牋牋this.encoding?爊ull; { rue;牋牋牋牋this.filterConfig?爊ull; e; GBK 牋牋} th //真正的转码操作由这个函数完成 //内容很简单,就是将encoding的值赋给request //至于encoding等于啥?由下面的selectEncoding函数决定 ????public?void?doFilter(ServletRequest?request,燬ervletResponse爎esponse,

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档