Tomcat and resin ' request.getParameter();

redv 2002-12-12 10:16:30
在这两种服务器下,执行request.getParameter();会有不同的结果。
如果request.getParameter()的结果是汉字的话。

tomcat 需要用new String(request.getParameter("id").getBytes("ISO-8859-1"),"GBK") 来重新编码,否则显示为乱码。
而resin 不能用此来编码,直接使用,否则显示为乱码。

这样就造成了:我在tomcat下调试的程序移植到resin下时,需要改动。
这是不是一种麻烦,何为一次编写到处运行。
...全文
58 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
redv 2002-12-13
  • 打赏
  • 举报
回复
是呀。有个统一的必要。
LongWayToGo 2002-12-12
  • 打赏
  • 举报
回复
这其实是一个标准问题,应该是sun在他的servlet2.3里没有明确的说明,导致不同的厂商有不同的实现。
但这不是java的错,只是一次编写到处调试吧,但如果做全英文的网站就不用这么烦了,谁让这些标准不是咱中国人说了算呢:)

提供一个解决方案:在所有的请求被实际处理之前先做预处理(Filter),根据应用所在的不同servlet container做相应的转换(字符集或其他)。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧