关于ssh乱码的问题

 最近在学习SSH,练习中多次出现中文乱码问题,使用spring的编码过滤器也一度没解决问题,搞得我差点就自己写过滤器了,但想想自己既然是在学SSH就应该尽量SSH的东西,最后还是解决了,现在把对spring编码过滤器的作用总结一下作为自己的学习笔记,希望对那些我一样刚学习SSH的新手有点帮助,也希望有人来指出我的错误理解.
   spring的编码过滤器是org.springframework.web.filter.CharacterEncodingFilte
1、作用时需要在web.xml进行配置
        <filter>
         <filter-name>encodingFilter</filter-name>
         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
         <init-param>
           <param-name>encoding</param-name>
           <param-value>GBK</param-value> //指定字符集
</init-param>
         <init-param>
             //当已经有字符集时,是否用本过滤器的字符集替换
             <param-name>forceEncoding<param-name>
           <param-value>true</param-value>
        </init-param>
      </filter>
      <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
(我在练习时一般只用中文跟英文,没去考虑国际化,所以一般是用GBK,因为它是大陆官方发布的字符集,对中文的支持比UTF-8要好,如现实开发,一般还是用UTF-8。)
    配置过滤器时,还要注意的地方就是要把本配置放在web.xml过滤器配置的第一位,有其它过滤器配置在它的前面,可能会有干扰。原因我也不清楚。
   2、 配置好web.xml后,接着就是在struts.properties加上struts.i18n.encoding=GBK
如果是用UTF-8,就不用了,因为默认就UTF-8,这里我有点疑问,就是有人跟我说struts2
在这里配了,就可以了,根本不用配置过滤器,但我还是在action接参时遇到乱码,所以我索性全配上。
   3、在Myeclipse下把工程属性的Text file encoding也设为GBK,默认就是GBK.再就是页面也统一设为GBK。这样配置后,乱码问题一般就没问题了
   最后就是页面的请求方式一定要记得显式设为POST哦
<form action="" method="post">
虽然默认是post方式,但不显式设置也可能出现乱码。好了就写这么多吧,希望大家拍砖。</form>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水寒

感谢打赏,您的支持是我最大的动

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值