哪位大侠在tomcat4中用filter解决过encoding问题的?或者修改servlet.jar里的HttpUtil文件?关于在tomcat4中编码的问题,我不想通过iso88

bellfeel 2002-05-31 08:47:04
哪位大侠在tomcat4中用filter解决过encoding问题的?关于在tomcat4中编码的问题,我不想通过iso8859-1的方式来转换成gb2312,想通过配置来解决这个问题,请教了。。。
我把tomcat4的example里的filters.SetCharacterEncodingFilter copy至我自己的app里,web.xml也配置成了:
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>gb2312</param-value>
</init-param>
</filter>
为何不行呢?

在ibm中有这样一个解决方法,就是修改servlet.jar里的一个文件,即:
在servlet.jar里找到源代码 HttpUtils 中的 static private String parseName ,在返回前将 sb(StringBuffer) 复制成 byte bs[] ,然后 return new String(bs,”GB2312”),。作上述修改后就需要自己解码了:

HashTable form=HttpUtils .parseQueryString(request.getQueryString())或者
form=HttpUtils.parsePostData(……)

parseName我已改好了,请问怎样解码?

...全文
9 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
bellfeel 2002-05-31
太谢谢啦,,

唉,,本人看文档真是太不仔细啦,,

回复
pengji 2002-05-31
<!-- Example filter to set character encoding on each request -->
<!--
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
//add this
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
-->
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告