• 首页
  • 养生资源
  • 生活常识
  • 安全常识
  • 影视娱乐
  • 汽车知识
我要资源网
  • 首页
  • 问答资源
  • 教程资源
  • 命理资源
  • 游戏攻略
没有结果
查看所有结果
  • 首页
  • 问答资源
  • 教程资源
  • 命理资源
  • 游戏攻略
没有结果
查看所有结果
我要资源网
没有结果
查看所有结果
主页 教程资源 IT教程

Java过滤器CharacterEncodingFilter位置问题。

由 张文碧
2020年7月5日
在 IT教程

characterencodingfilter

转:https://segmentfault.com/a/1190000006184156

前人就有的经验

在开发java web应用的时候经常会遇到令人头痛的字符编码问题,期中一个就是客户端发送过来的请求的编码在请求头里并没有,开发人员需要在后端自己选择合适的encoding来解析request过来的参数。

这个问题的解决办法很简单,就是写一个filter来过滤所有请求,然后设置一下request的characterEncoding,比如:

public class CharacterEncodingFilter implements Filter {

  protected String encoding = "utf-8";

  public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
  throws IOException, ServletException {
    request.setCharacterEncoding(encoding);
    chain.doFilter(request, response);
  }

  public void init(FilterConfig filterConfig) throws ServletException {
    String initEncoding = filterConfig.getInitParameter("encoding");
    if (Strings.isNotBlank(initEncoding)) {
      this.encoding = initEncoding;
    }
  }

  public void destroy() {
    encoding = null;
  }

}

把这个filter在web.xml里配置一下所拦截的url pattern就行了。

但是这里有个陷阱,整个web应用里,这个filter的拦截顺序必须是第一个,否则还是会出现乱码问题。这是因为(至少在tomcat里):

  1. request对象的parameter并不是一开始就解析的,它是等你第一次调用getParameter*等凡和获得请求参数有关的方法的时候才解析的

  2. paramter一旦被解析过一次,那就不会再次被解析

所以如果在CharacterEncodingFilter之前有另外一个filter,而这个filter调用了getParameter*方法,那么就有可能使用错误的encoding来解析,从而造成乱码问题。

Spring-拦截器、过滤器、监听器总结

1.过滤器(Filter):所谓过滤器顾名思义是用来过滤的,Java的过滤器能够为我们提供系统级别的过滤,也就是说,能过滤所有的web请求,这一点,是

过滤器,拦截器,监听器的配置与说明

#监听器,过滤器,拦截器的配置和说明##1.监听器,过滤器,拦截器的介绍1)过滤器:过滤器的测试及其说明依赖于servlet容器。在实现上基于函

CharacterEncodingFilter

在web.xml文件中,我们经常可以看到配置的统一编码过滤器,他继承了OncePerRequestFilter,而OncePerRequestFilter继承自GenericFilter

web.xml中配置CharacterEncodingFilter编码过滤器的原

转自:https://blog.csdn.net/uhgagnu/article/details/59103027 在web.xml文件中,我们经常可以看到配置的统一编码过滤器,他继承了On

自制鱼缸过滤器的方法 几块钱就能完成很实用!

自从做好鱼缸,养了一些鱼也有一个月了,情况良好。平时会跟着人游来游去,每天喂食的时候乱哄哄非常活跃,这说明生态环境比较理想。慢慢

文章回顾

大家看了本文Java过滤器CharacterEncodingFilter位置问题。的精彩教程资源内容,是不是对Java过滤器CharacterEncodingFilter位置问题。了解更多,真心希望Java过滤器CharacterEncodingFilter位置问题。能帮助到你, 小编会一直给你带来更多教程资源文章信息。

上一篇文章

终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了

下一篇文章

五仁咸肉月饼的做法-五仁咸肉月饼的介绍

下一篇文章
五仁咸肉月饼的做法-五仁咸肉月饼的介绍

五仁咸肉月饼的做法-五仁咸肉月饼的介绍

近期发布

  • 黑糖和红糖的区别是什么啊(黑糖是没有经过高度精炼脱色而制成的食用蔗糖因 )
  • 黑糖与酵素的作用和功效(黑糖的功效女孩子吃黑糖可以补血又可以排毒黑 )
  • 黑桃皇后是指哪张牌(“黑桃皇后”一般是扑克游戏“伤心小栈”即红心大 )
  • 黑桃木是什么(黑桃木是常绿大乔木平均树高37米胸径超过 )
  • 黑桃肉是什么(黑桃肉就是黑桃的果实黑桃也叫黑桃皇后原 )
  • 黑桃树根的作用(可用核桃树根治疗牙龈肿痛取得较好疗法的介绍如 )
  • 黑瞳王有哪些书(黑瞳王共写过5部小说具体如下 )
  • 后汉指西汉还是东汉(后汉并非西汉或者东汉东汉和西汉指的是汉朝两个 )
  • 黑色衣服洗白了怎么办(黑色衣物掉颜色慢慢颜色越来越淡尤其纯棉衣物 )
  • 黑色衣服洗的时候掉毛(专用去毛滚刷专用的去毛滚刷用起来十分方便省事 )
  • 首页
  • 问答资源
  • 教程资源
  • 命理资源
  • 游戏攻略

© 2022 JNews - Premium WordPress news & magazine theme by Jegtheme.

没有结果
查看所有结果

© 2022 JNews - Premium WordPress news & magazine theme by Jegtheme.