![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring boot
养生编程大队长
养生编程,你值得拥有,妈妈再也不用担心我的头发
展开
-
springboot项目中,如何避免http请求表单数据被篡改
有过爬虫经验的朋友,一定有通过F12抓到过http请求,然后通过修改param或者body表单数据,来获取想要数据的经历,例如爬取京东的评论,url里面包含分页的入参,只需要修改分页入参的数据,例如?page=100,即可把第100页的评论抓取出来。那么如何避免请求修改url或者修改body内容呢,只要请求修改了url或者body就会被后台认证为非法请求从而过滤掉呢。我们这个帖子就是在讨论这个问题,记住是一个request不允许修改参数的情况,如果通过postman构造一模一样的请求,包括header,原创 2020-07-22 09:12:01 · 1135 阅读 · 0 评论 -
spring事件处理机制
环境, springboot 2.1.2RELEASE有2中方式可以添加自定义event,自定义listener,然后发布事件1.运行时添加listener,然后publish自定义的event,代码见下图。publish方法是有applicationContext提供的。实例提供了2个发布方法,一个是同步的(默认方式),一个是异步的。这里的所有的bean都是自定义并且是由开发者自己控制什么时候add,什么时候触发@Controller@RequestMapping("/event")pu原创 2020-06-02 16:14:08 · 205 阅读 · 0 评论 -
spring boot jar部署导致上传文件失败的问题
最近做文件上传下载,这个东西轻车熟路了。我这里上传目录是target下面的static/files下面,注意是target,截图中2位置,并不是源码1的位置。样例代码如图,此代码是拷贝一个文件到target目录下static/files下面。路径的获取就是String realPath=this.getClass().getClassLoader().getResource("static/files").getPath();这样就上传到target下面了,浏览器可以通过http://localho原创 2020-05-17 12:02:50 · 1125 阅读 · 0 评论 -
记一次Calendar引起的bug,导致数据库连接达到最大
再一次调接口的过程中,发现后台有大量的数据库异常,报的错误是被加入mysql 异常hosts,需要使用命令flush-hosts清空。我看了一下我的后台有大量的数据量连接异常信息。花了很大的例如追踪,发现是因为Calendar解析时间段引起的。示例代码如下,我通过requet拿到时间段的起始时间和终止时间,然后使用循环,把时间解析处理。例如begin_day="2019-10-17",end_...原创 2019-10-26 17:28:51 · 241 阅读 · 0 评论 -
springboot文件上传,文件过大导致异常the request was rejected because its size (170982031) exceeds the configured
通过在异常栈信息所在代码可以定位到,如下位置,因为文件大小大于sizeMax值。所以我们接下来的任务是定位到sizeMax是在哪边设置的,是否可以改变这个值的大小在FileUploadBase.java 里面能改变sizeMax变量值的唯一地方是在这里再次出发异常的操作, 上传一个大于限制的文件,跳到断点处,在调试器里面看执行栈信息,如下图,upload变量设置了sizeMax值。s...原创 2019-10-23 10:08:44 · 22234 阅读 · 8 评论 -
springboot项目,controller多线程处理同一个request时,request.getParameter(),有时获取不到请求参数
再一次前台调用后台查询多个表,获取结果的过程中,我在controller里面开启线程池跑,同事查询多个表。每个线程run方法里面使用同一个request,然后通过request.getParameter()获取入参。多次查询总有那么1,2个线程拿不到参数,跑出空指针异常。我把代码排查到如下类似代码,可以复现问题。使用postman模拟请求http://localhost:8081/test?aaa...原创 2019-09-17 09:15:10 · 8558 阅读 · 1 评论