Filter简述和Filter注解使用
Filter主要用于对用户请求进行预处理,也可以对请求的响应结果进行后续处理。它与Servlet的区别在于,不能直接向用户生成响应结果。Filter的执行流程
用户发送请求,Filter首先拦截用户请求进行预处理,接着将请求交给Servlet进行处理并生成响应,最后Filter再对服务器响应结果进行后续处理。Filter主要功能
(1)根据需要可以检查并修改HttpServletRequest请求头和请求数据。
(2)根据需要可以检查并修改HttpServletResponse响应头和响应数据。Filter实际应用场景
(1)权限过滤:Filter负责对请求进行权限检查,过滤非法请求。
(2)日志记录:对某些特殊操作进行日志记录。
(3)设置字符集。Filter注入方式
servlet3.0前,Filter的注入通常采用xml方式注入,但是在servlet3.0后,开始支持通过注解的方式进行注入。
(1)基于注解@Filter注入
采用@Filter注入时,需要通过注解@ServletComponentScan配置扫描路径,如果是SpringBoot项目,通常添加到启动类上。/** * 配置请求拦截路径 */ @WebFilter(urlPatterns = {"/user/*"}) @Log4j2 public class MyFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest httpServletRequest = (HttpServletRequest) request; log.info("Filter获取到请求地址:" + httpServletRequest.getServletPath()); filterChain.doFilter(request, response); HttpServletResponse httpServletResponse = (HttpServletResponse) response; log.info("Filter获取到响应类型:" + httpServletResponse.getContentType()); } @Override public void init(FilterConfig filterConfig) throws ServletException { System.out.println("Filter随着项目的启动而启动,只初始化一次"); } @Override public void destroy() { System.out.println("Filter随着web项目的停止而销毁,完成资源回收"); } }
(2)通过配置类进行注入@Configuration public class MyRegistrationConfig { @Bean public FilterRegistrationBean myFilter(){ MyFilter myFilter = new MyFilter(); FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(myFilter); filterRegistrationBean.setUrlPatterns(Arrays.asList("/user/*")); return filterRegistrationBean; } }结束语
过滤器Filter的功能看起来和拦截器Interceptor类似,那么他们是否可以互相替换呢?具体有哪些差别呢?后面会继续分析
凌晨突发!两船碰撞,12人失联!8月30日凌晨,福建泉州深沪籍渔船闽晋渔05119在距平潭岛正东45海里海域沉没,渔船上14人遇险,两名船员被周边作业渔船闽晋渔05769救起,另外12名船员失联。福建省海上搜救中
各方都在想办法,美国港口依旧堵塞严重?为了解决货物堵塞集装箱囤积的问题,如今的长滩港已经实行了24小时全天候运营,而随之延长的还有各相关行业,譬如搬运的工人抑或集装箱公司增加其集装箱的数量。但即使是下达了这样的命令,依
天猫618成为小米主战场,多款产品位列销量榜单第一618年中大促,各大电商平台又开始了一场没有硝烟的战争。但是谁都没有想到,今年618天猫商城竟然成了小米的主场,在手机加购预售热销和好评等众多榜单中,小米手机多次霸榜,其中小米11
iPhone12mini销量低迷,索尼却还想加入小屏战场?iPhone12miniiPhone12系列发布四个月以来,其庞大的销量和日益增加的市场占有率证明了这是一台成功的手机。但是近期披露的消息表示,这四款机型中的iPhone12min
笑不活了!盘点一梦江湖玩家社死瞬间,你也经历过吗?社死,是网络的流行语,一般指在公众面前因为一些行为和语言不妥当,气氛非常的尴尬。而这些令人窒息的大型社死现场,能让人尴尬到脚趾抠地,只想火速逃离地这种现象,在游戏中也会时常发生。今
思皓曜丨是什么吸引着你?锋动美学兼备运动风范优雅,永远都有吸引力全新智能轿跑思皓曜拨动你的心弦,只需一眼竞速座舱,动魄于内MP5双皮肤竞速大屏红黑配色张扬个性模拟沉浸式真实赛道肾上腺素急速飙升驾乘间,尽享
一梦江湖玩家佛系养老生活好去处,你还不get一下?这阵子,一梦江湖为迎一年一度的中秋佳节,进行了一大波的更新,有全新的草墩系列的伪装玩具,还有带着可爱小鸟的月巴乌系列挂件以及全新的中秋时装晓清月眠。众多的更新内容,让玩家应接不暇,
一梦江湖玩法丰富,欢乐多!哪个最让你讨喜?一梦江湖作为一款RPG手游,可玩性是非常不错的,凭借着制作精美自由度高跌宕起伏的剧情让人心动的NPC交互系统等等,一举成名,成为了当下最为热门的武侠手游。好了,切入正题,这一次咱们
清华华智冰来了,AI大时代还会远吗?最近,一则AI智能虚拟人华智冰在网上的弹唱视频一经发布,迅速火遍全网,引起了不小的轰动。据了解,华智冰的智商和情商都很高,她不仅长相甜美,而且还多才多艺,她能绘画作诗,还具有一定的
一梦江湖玩家日常生活太枯燥?玩家泡汤池要饭很nice从来都不认为玩一梦江湖会感觉到枯燥,更多的是欢乐和惊喜。很多玩家入坑这款手游,最开始是想打发时间,玩着玩着,最后则是为了亲友,困住人的从来都不是这个江湖,是这个江湖里的感情。一梦江
汽车除雾快用这4个办法,简单!有效!秋冬天开车时,玻璃上会出现各种雾气,给我们的驾驶安全带来不小的困扰为什么起雾起雾有两个条件一个是湿度过高,一个是温度过低,两者缺一不可。原因一在空气湿度一定的情况下,车窗温度低于露