专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

为了一个HTTP请求问题,差点和iOS干起来

  本次斗殴事件起因全部归iOS,为啥这么说,http请求都不会发,瞎写的什么玩意(ps:他应该不会看到。。。)。
  在处理本次冲突中,意外发现了另外一个存在已久的bug,我们先说说这个玩意,再说我们之间的恩怨。因为这是息息相关的。SpringBoot中的过滤器
  过滤器这东西应该很常见了,但是你的过滤器真的起到拦截的作用了吗?这里就算你起到拦截的作用了,但是你的过滤器能拦截到指定的路径吗?先看一下我原始写法。
  谨慎参考:WebFilter(filterNamebaseFilter,urlPatterns)publicclassBaseFilterimplementsFilter{OverridepublicvoiddoFilter(ServletRequestreq,ServletResponseresp,FilterChainfilterChain){System。out。println(baseFilter拦截了);filterChain。doFilter(req,resp);}}
  首先这里说下,如果你这是特别单纯的加个WebFilter就以为ok了,那我告诉你,脸会被打的很疼的。
  因为这个注解是servlet的,所以你一定要记得在启动类上加ServletComponentScan此注解,这样在应用启动的时候,过滤器才会被扫描到。
  我们写了一个Controller的接口访问了下,可以看到拦截器确实拦截到了我们的请求。
  你以为的只是你以为
  我们项目有时候大了,不知道引入了什么东西,有时候会导致这个过滤器呢就无法被注入,看到那行报错呢可能脑子还没反应过来,但是CV大法已经打开了度娘,找到了问题原因,度娘说你加个Commponent注解好了。然后也确实好了,然后接下来他都如何操作。ComponentWebFilter(filterNamebaseFilter,urlPatternsuser)publicclassBaseFilterimplementsFilter{OverridepublicvoiddoFilter(ServletRequestreq,ServletResponseresp,FilterChainfilterChain){HttpServletRequestrequest(HttpServletRequest)req;Stringurlrequest。getRequestURL()。toString();System。out。println(url);System。out。println(baseFilter拦截了);filterChain。doFilter(req,resp);}}
  然而,不巧的是加了Component注解虽然解决了问题,但是呢urlPatterns拦截的指定路径却没有生效。
  我这里是一个pub开头的请求,拦截器拦截的user开头的,然后如下:
  他居然将所有的请求给我拦截了下来,不是我想象的那样,那我们该如何解决这种问题呢?往下看同学。SpringBoot如何注入过滤器
  这里我就不列举众多的注入方式了,以免混淆大家,我就直接告诉你们怎么正确注入就ok了,本人已经亲测,而且管理起来很是方便。过滤器写法
  过滤器除了实现Filter之外,不要加任何的东西,就是这么简单。publicclassBaseFilterimplementsFilter{OverridepublicvoiddoFilter(ServletRequestreq,ServletResponseresp,FilterChainfilterChain){HttpServletRequestrequest(HttpServletRequest)req;Stringurlrequest。getRequestURL()。toString();System。out。println(url);System。out。println(baseFilter拦截了);filterChain。doFilter(req,resp);}}过滤器注入
  我们这里直接通过配置类的方式将过滤器注入,这样呢,我们这里也一目了然,看到我们所有的过滤器,以及过滤器规则。
  下面的这些参数都是基本配置,基本都是必填,name你就写过滤器的类名,首字母小写就好了,order就是过滤器的执行顺序,数字越小,越先执行。
  这样我们一个完整的过滤器就配置好了。当你再访问pub接口时,是不会被BaseFilter拦截到的。
  这里也推荐大家以后尽量这样去配置。ConfigurationpublicclassFilterConfig{BeanpublicFilterRegistrationBeanBaseFilterbaseFilter(){FilterRegistrationBeanBaseFilterfilterBeannewFilterRegistrationBean();filterBean。setFilter(newBaseFilter());filterBean。setName(baseFilter);filterBean。addUrlPatterns(user);filterBean。setOrder(1);returnfilterBean;}}我与iOS的一战
  我们先看报的错,再来聊聊这次的锅我是怎么甩的RequestRejectedException:TherequestwasrejectedbecausetheURLwasnotnormalized。
  看到没因为网址不标准,导致请求被拒绝。
  非说我接口有问题,本来想奋起反抗,看到对方比我身材威猛,想想还是抓到实质性证据在甩他吧。
  既然说请求网址不正确,我猜测就是请求路径中是不是有什么猫腻,那我们就抓包呗。
  最后在我们各种手段之下拿到了真凭实据。诸位法官请看:他的请求路径:http:127。0。0。1:8080userlist
  他的请求路径中出现了双斜杠,这样肯定报错啊。这里需要说明下,报错是因为引入了Security安全框架。
  既然已经确定问题,那我必须奋起反抗,找他甩锅,当他看到这个时候,对吧自己也无话可说,只能默默的把锅背上。
  就这样我这次又顺利的甩锅成功。解决与反思
  虽然锅甩出去了,但是问题还是要解决的。
  其实按正常逻辑来说,不管我们引入了什么东西,只要请求路径正确,即使路径中出现再多的斜杠,我们也应该做好处理,不能影响用户的访问。所以我们就通过过滤器进行一个处理。publicclassUriFormatFilterextendsOncePerRequestFilter{OverrideprotectedvoiddoFilterInternal(HttpServletRequestreq,HttpServletResponseres,FilterChainfilterChain)throwsServletException,IOException{路径隔离符号StringseparateSymbol;Stringurireq。getRequestURI();StringBuildernewUrlnewStringBuilder();String〔〕splituri。split(separateSymbol);for(Strings:split){if(StringUtils。isNotBlank(s)){newUrl。append(separateSymbol)。append(s);}}reqnewHttpServletRequestWrapper(req){OverridepublicStringgetRequestURI(){returnnewUrl。toString();}};filterChain。doFilter(req,res);}}
  最后将过滤器注入
  这里order为啥写100,如果你写1,你以为它会是第一个执行,其实不然,在执行他之前,可能框架的一些过滤器会先执行,所以为了保险起见,我们就设置为100,确保请求进来之后先走它。BeanpublicFilterRegistrationBeanUriFormatFilteruriFormatFilter(){FilterRegistrationBeanUriFormatFilterfilterBeannewFilterRegistrationBean();filterBean。setFilter(newUriFormatFilter());filterBean。setName(uriFormatFilter);filterBean。addUrlPatterns();filterBean。setOrder(100);returnfilterBean;}注意
  如果你在过滤器中注入了一些Mapper、Service之类的话,可能会出现问题,调用的时候被注入的对象可能是个null,这就涉及到类的加载顺序,我就不在这里bibi了,真有人遇到了再说。反正我已经解决了〔Doge〕。撕逼阶段
  开发中,特别是小公司,很需要会多端的人来协调问题;有时候这种问题恶心之处在于:后端可以解决,移动端也可以解决,谁处理了显得就是谁的问题。
  各位你们平时都是怎么拉扯的呢?

NikonD90我人生第一台相机2022年6月7日高考正式开始,9日下午我终于拿到我的尼康D90。高三时,我同学有一台尼康D7100,他拿着那台尼康到处拍拍拍,看的我那叫一个羡慕,于是我直接找我爸求了一台,买台了有趣的灵魂(一)英国作家王尔德说漂亮的脸蛋太多,有趣的灵魂太少,后来我国作者老杨的猫头鹰写了一本书,书名就叫漂亮的皮囊千篇一律,有趣的灵魂万里挑一。确实,现代社会真的不缺漂亮的脸蛋,即使不漂亮,动怎么样才能更显白,卡其色帮助你卡其色归属于沉稳的颜色,归属于浅色调,处于浅黄褐色和浅黄褐色中间颜色,配着浅色系的衣服裤子会给人一种干干净净的感觉。人们的眼镜会捕获最引人注目的色调,因此卡其色更最显白一些,卡其色经常烫染发真的会致癌吗?多项研究给出一致答案很多时候,换一个发型,就能收获一段时间的好心情。但如果你经常烫染发,包括拉直上色等,就要小心了美发产品中的化学物质,可能会增加患癌风险。近日,美国国立卫生研究院(NIH)发布最新研让你变老的几大因素,一定要注意让你变老的几大因素,一定要注意。面部脂肪女人的衰老在30岁后会特别明显,但其实衰老可不是从30岁开始的!一般在25岁左右的时候,身体素质就会慢慢变差,胶原蛋白和弹性蛋白也会加速流失满屏大胸为哪般这是最好的时代,也是最坏的时代!什么都被物化,一切都可买卖。40载沧海桑田,我们从物质极端贫乏的年代艰难走来,一切向钱看的观念深入骨髓。记得小时候,我穿着别人家淘汰来的旧衣服,出门2022的生活从先爱自己开始你焦虑吗?当下疫情大环境你焦虑吗?我经常问我自己这个问题,我知道我是焦虑的,可是我又在想为什么焦虑?工作的时候别人有了好的成绩,我努力了没有达成所以焦虑会不会被工作伙伴否定?会不会做个活得通透的人如果早点做一个明白人,不要被世俗的眼光束缚了自己,活得就很轻松和惬意。我很喜欢香港的一个才子,也是一个作家,更是一个食神。我觉得他说的很多话里面,就感觉活得很明白。就比如说他自己没郑州封控多日,与现实和解,享受独处时光独处是一个人最好的修行。人生最好的风光,不是人群中的前呼后拥高谈阔论,而是内心的淡定与从容。在这个特殊的时期,今天还高高兴兴上班去,平平安安回家来,一个封控通知,随时就能够打破这平60岁之后,这几种人主动离开你,是上天对你的眷顾前言60岁之后,我们不应该有太多的朋友,如果朋友比较多的话,就会给我们的生活,身体各方面带来非常大的麻烦,因为朋友太多,你需要消耗自己的青春,同时还需要消耗自己的财力,如果你不能够不可言说的夜不是厌倦文字不是疏离文字,而是厌倦了借文字宣泄,厌倦了这满纸的苍白,厌倦了对某种情绪的纵容,厌倦了宣泄之后的一如既往,厌倦了若无其事深处的无能为力。因此你看所有的宣泄也就成了无病呻
早餐这样做实在太好吃了,从小吃到大的做法,多层蓬松像蛋糕早餐这样做实在太好吃了,从小吃到大的做法,多层蓬松像蛋糕。在北方,每天的早餐都是包子馒头油条之类的,天天一样的食物,难免有点腻了。今天我用胡萝卜和面粉分享了一道我家特别受欢迎的早餐鱼头烧豆腐这样做才好吃,鲜嫩入味,出锅连鱼骨头都要嘬干净冬日生活打卡季人们常说没有什么事情是一顿美食解决不了的,如果有,那就再吃两顿,虽然说得有点夸张,但确实美食是每个人抵挡不了的。不论生活中遇到什么烦恼,美食就是人们最好的慰藉,味蕾上新年首周售出10万瓶,新三样过年饮品抢跑春节档距离兔年春节不到两周,备年货氛围越来越浓烈。大润发超市内,一辆辆手推车被塞得满满当当,装着年货礼盒年菜酒水糖块年味没变,但年货有了新变化。在大润发大宁店内,记者观察到,平均每五辆购马上过年了一定要学会这10道年夜菜,高端大气上档次全家人都爱吃大家好,欢迎大家来到我的美食自媒体,我是美食领域创作者锦绣V山东专注美食,让生活更有味。今天为大家带来了几道家常美食的做法,这几道美食也是深受大家的喜欢,而且是很常见的几道美食。天湖北一名酒再次崛起,曾经名扬五湖四海,也曾差点倒闭,如今崛起很少有人知道,湖北也是我国的一处酿酒宝地,早在秦皇汉武时期,湖北酿出的美酒,就在中华大地引起了不小的轰动,尤其是黄鹤楼酒,历史悠久底蕴深厚,不光成为老百姓口耳相传的名酒,更是屡屡成不要小看这6款光瓶酒,滴滴醇酿,好喝不贵,行家成箱囤不要小看这6款光瓶酒,滴滴醇酿,好喝不贵,行家成箱囤选择白酒的时候,很多都会先看白酒的品牌,然后是包装,这些外在的条件决定了白酒是否可以入手。但是很多贴牌酒的包装非常精致,容易让人潞州区亲子游玩好去处冰雪世界迎客来无冰雪,不冬天。日前,长治市又一家冰雪乐园开园,市民可以在这里尽享冰雪运动带来的快乐。说到玩雪,您想到的可能只是堆雪人打雪仗或者滑雪橇,而在位于鹿家庄的华鹿冰雪乐园,激情雪圈雪地摩阿蓬江畔访古镇濯水古镇夜景。在武陵山区崇山峻岭中穿行近6个小时,我终于抵达心仪的重庆市黔江区濯水古镇。古镇临着阿蓬江,吊脚楼沿江铺排,蔚为壮观。穿过濯水石牌坊进入古镇老街,老街左侧没有房屋,可以云赏河湖丨青浦里巷港长治久清蝶变动人位于青浦白鹤镇北部的里巷港,河道全长4。5公里,主要流经白鹤镇五里村响新村,是村民们口中不折不扣的幸福河。走近观赏,里巷港水面宽阔,碧波荡漾,不时有水鸟在河中游弋戏水,岸边树木葱茏贵州深山最原始民族,女人上衣只有两片,时而春光乍泄今天跟大家介绍贵州深山最原始的少数部落。(此处已添加小程序,请到今日头条客户端查看)听说这里的女孩子只穿两片衣服,动作中隐私部位会露出,来这里游玩的男士觉得尴尬。其实,在我国的云南我国这3款亲民白酒,不仅是纯粮佳酿,还都是好喝又不贵白酒可以说是我国比较特殊的一个文化了,因为到今天白酒的传承已经有了几千年了,至少对于中国大部分的喜欢喝酒的朋友来说,喝酒不仅仅是为了口腹之欲,更多的是出于必要的社交以及对自己内心的
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网