想开一个vip喜马拉雅精品和vip的区别外包门市

不知道你们有没有对用户输入的東西进行过敏感校验如果不进行校验,用户属于一些攻击脚本那么我们的服务就挂逼啦!所以我们首先需要通过过滤器将用户的数据讀出来进行安全校验,这里面涉及到一个动作就是需要将用户的数据在过滤器中读出来,进行校验通过之后再放行。

如果我们的数据昰get请求倒还好但是如果是一些数据量比较大,我们需要通过post json的方式来说传递数据的时候这个时候其实是通过流的方式传递的,如果在過滤器中将参数读取出来之后然后放行,等到到Servlet的时候@RequestBody是无法获取到数据的,因为post json使用流传递,流被读取之后就不存在了,所以我们在过滤器中读取之后,@ReqeustBody自然就读不到数据了,同时会报如下一个错误

  • 在过滤器中读取body中的数据

// 在过滤器中读取数据
  • 出现异常,就是说内容已经被讀取了你不能调用了

那么出现这种问题怎么办呢?能不能通过一个中间的变量将这些数据保存下来然后我们就可以一直读取了,这样鈈就解决了这个问题了吗那保存在哪里呢?这个时候 HttpServletRequestWrapper 就派上用场了

这个其实你可以把它理解为Request的包装类,Reqeust中有的方法它都有我们通過继承这个类,重写该类中的方法将body中的参数保存一个byte数组中,然后放行的时候将这个包装类传递进去不就可以一直拿到参数了?

经過这样的配置之后我们即使在过滤器中获取了参数,请求也会到达Servlet

如果基础知识IO那块不是很扎实的话,第一眼看到这个问题确实挺懵逼的我也是百度之后解决的,确实值得记录一下有时候我们会对所有请求进来的参数进行保存输出什么的,这个时候如果是post json数据的话如果不是特别明白,可能也会出现这种问题


点击关注上方“五分钟学算法

设为“置顶或星标”,第一时间送达干货

一直以来,陆陆续续总有小伙伴们想了解去哪些城市哪些对应公司可供选择的话题

今天特地整理了一份一二线城市知名的互联网(或者说IT相关)公司名单供参考。当然了由于了解有限,难免会有疏漏和不当也欢迎大家补充,众人拾柴火焰高

注:以下名单排名不分先后


游戏谷信息技术有限公司


















由于了解有限,难免会有疏漏和不当也欢迎大家补充,众人拾柴火焰高!



欢迎关注我的公众号“五分钟学算法”如果喜欢,麻烦点一下“在看”~

我要回帖

更多关于 精品 的文章

 

随机推荐