首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

spring字符编码器为何没起到作用啊

2013-06-19 
spring字符编码器为什么没起到作用啊?本人是小小学生一枚,刚开始做了个整合SS2H的小信息系统,为什么下面的

spring字符编码器为什么没起到作用啊?
本人是小小学生一枚,刚开始做了个整合SS2H的小信息系统,为什么下面的这个过滤器明明写了,在strust2的Action中获取的request里从页面传来的中文参数还需要我自己重新编码才不是乱码呢?这样的话下面这个过滤器的作用何在呢?这个过滤器我是放在StrutsPrepareAndExecuteFilter之前之后都没什么变化,我很纳闷啊,请各位大神指教啊,小辈才疏学浅,洗耳恭听。
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>

<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping> 
自己重新编码:
        keti=new String(keti.getBytes("iso-8859-1"),"UTF-8");
        ketiname=new String(ketiname.getBytes("iso-8859-1"),"UTF-8");
Spring UTF-8 Filter 编码
[解决办法]
filter里加上
<init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>

这个过滤器写在web.xml的最上面
[解决办法]
你的过滤没生效吧
[解决办法]
可以考虑用struts2中的编码设置,不过注意该编码设置只对post请求有效,对get请求是没用的哦。


你用那个spring提供的fiter,也要考虑下你的请求是否是post请求还是get请求,注意下吧..
[解决办法]
使用过滤器注意几点 1.确认是先走的字符集 filter还是 struts的Filter 顺序别乱
2.post请求使用过滤器是没有问题的,
3.get请求有没有问题我没测试过,但是可以设置中间件的编码方式
[解决办法]
还有一个是 使用正文提交(非在url ?XXX=XX&XX=XX) 但是用get提交方式 这个有点乱了。

热点排行
Bad Request.