ssh2中文乱码

刚开始学Java三大框架没多久,自己尝试写一下小程序,遇到了很多问题,比如中文乱码

我用的大概是最简单的办法了

就是在响应前将request和response的编码格式全部设置成utf-8(方便起见)

因为ServletRequest中setCharacterEncoding方法设置的是请求消息中的实体内容的字符编码名称, 它只影响getParmeter方法对POST方式下的“application/x-www-form-urlencoded”编码格式的实体内容进行URL编码的结果,而不影响getParmeter方法对HTTP请求消息的请求行中的URL地址后的参数进行URL解码的结果(不过可以再容器中进行配置,使之照样影响).(摘自 《深入体验Java_Web开发内幕-核心基础》)

所以这样设置只能解决通过post方式传递的参数中的中文乱码问题

过滤器代码

  
@Override
  public void doFilter(ServletRequest req, ServletResponse res,
   FilterChain chain) throws IOException, ServletException {
      
//      HttpServletRequest request = (HttpServletRequest) req;
      
      /**
       * 只对post方法传递的参数有效
       */
      String charset = "utf-8";
      //设置请求响应字符编码  
         req.setCharacterEncoding(charset);  
         res.setCharacterEncoding(charset);
//       System.out.println("----请求被"+config.getFilterName()+"过滤");  
         //跳转到被拦截的action并且执行完还要再返回filter.chain相当于一扇门
         chain.doFilter(request, res);
           
//       System.out.println("----响应被"+config.getFilterName()+"过滤");
        }

配置过滤器web.xml

 <filter>
      <filter-name>struts2</filter-name>
      <filter-class>tool.filter</filter-class>
 </filter>
<filter-mapping>
      <filter-name>struts2</filter-name>
      <url-pattern>/*</url-pattern>
 </filter-mapping>

 参考链接http://lwfshr.iteye.com/blog/517918

转载于:https://my.oschina.net/doubleTing/blog/267339

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值