论坛首页 Java企业应用论坛

通过HttpServletRequestWrapper(装饰模式的应用)增强HttpServletRequest的功能

浏览 31007 次
精华帖 (9) :: 良好帖 (8) :: 新手帖 (7) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-12  
讲解清晰,传业授道解惑,不算误人子弟
0 请登录后投票
   发表时间:2009-10-12  
曾经de迷茫 写道
whistler 写道
zwq4166506 写道
有个缺陷,比如form有个name属性,请求的url也有个name属性,如
    <form method="post" action="?name=处理乱码">
    	<input type="text" name="name"/>
    	<input type="submit" value="submit"/>
    </form>



这样就混乱了,结果出来还是乱码。。。



确实是这样,那么用的时候必须注意这个问题了,不能在post方式提交表单的情况下,在action属性中附加中文参数了,
只能在表单中用隐藏域来代替了,我再想想能不能解决这个问题

感谢zwq4166506兄弟这么仔细帮我找bug



还是对中文处理再传递,有一种办法是使用js代码
/url?&param=encodeURI(encodeURI('中文')); //两次编码

然后服务器
String param= java.net.URLDecoder.decode(request.getParameter("param") , "UTF-8");



没搞懂为啥要两次,encodeURI()
0 请登录后投票
   发表时间:2009-10-12  
经常遇到乱码问题,一直在想为什么post行,get就不行了,现在思路清晰了。感谢楼主,我听说tomcat可以配置成根据页面编码来设置uri。
楼主知道的话,可以讲解一下
0 请登录后投票
   发表时间:2009-10-12   最后修改:2009-10-12
gufenglian 写道
经常遇到乱码问题,一直在想为什么post行,get就不行了,现在思路清晰了。感谢楼主,我听说tomcat可以配置成根据页面编码来设置uri。
楼主知道的话,可以讲解一下

可以在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI属性值为true。在默认情况下,该参数为false(Tomcat4.0中该参数默认为true)
0 请登录后投票
   发表时间:2010-04-18  
写的很详细,我以前也遇到同样的问题,POST的用过滤器中setCharacterEncoding解决,但是GET请求里的参数的中文还是有乱码问题,最后是通过修改config文件解决的,这下终于有了一个比较满意的方案了,谢谢。
0 请登录后投票
   发表时间:2010-04-18   最后修改:2010-04-18
用动态代理来做就好了,没必要写个wrapper出来
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics