Are you referring to request attributes outside of an actual web request
场景
使用spring的时候
报错信息为:
java.lang.IllegalStateException: No thread-bound request found: Are you referring to request attributes outside of an actual web request, or processing a request outside of the originally receiving thread? If you are actually operating within a web request and still receive this message, your code is probably running outside of DispatcherServlet/DispatcherPortlet: In this case, use RequestContextListener or RequestContextFilter to expose the current request.
分析
简单的说就是没有找到对应的request请求。
此次报错过程是:
controller 里面用Thread执行service,service异常抛出自定义异常,拦截器拦截异常,并打印traceId信息,这个trace工具类,需要request对象。但是找不到所以报错。
这次的错误是因为抛出的异常类型不对。
因为自定义业务异常类型有很多种,如systemException,requestException等,不同的异常,处理方式也不同。 如果抛出requestException,需要从request中获取请求信息,找不到就报错。
没有request对象的常用场景是:
1、controller里面使用普通的Thread线程,这个线程是异步的,并没有request对象。
2、定时任务中也会有同样的问题,因为它不是基于请求的。并没有request对象。
但没有request对象和报错并没有必然联系,我的错误就是抛的自定义异常会经过调用request的拦截器。
解决方案
通用方案:
修改抛出的异常类型为正确的类型。
controller中使用多线程:
如果controller中一定要使用Thread,那么可以用spring那个线程类,能够带request。
定时任务中:
定时任务中没法了,定时没有request,不要抛带request处理的异常即可。
Are you referring to request attributes outside of an actual web request相关推荐
- 解决No thread-bound request found: Are you referring to request attributes outside of an actual web.异常
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder. ...
- postmethod 设置request body utf-8_Cypress系列(62) request() 命令详解
点击上方蓝字 给一个关注吧 作用 发起一个 HTTP 请求 语法格式 cy.request(url)cy.request(url, body)cy.request(method, url)cy.req ...
- WEB——Request与Response
**ServletConfig对象** 1.获取初始化参数 2.获取servlet配置文件的名称 **ServletContext对象** 1.一个WEB项目只有一个Serv ...
- [web] request的Content-Type小结
本文转载自多篇文章,在这里记录一下. request的Content-Type小结 application/x- www-form-urlencoded是Post请求默认的请求体内容类型,也是form ...
- 爬虫----request简介(以及urllib模块和request模块保存图片区别)
request模块简介 request模块 一.安装 二.request常用方法 三.响应对象response的方法 保存图片案例 request模块 保存图片 request模块 第一种保存图片的方 ...
- audio标签报错:DOMException: The play() request was interrupted by a new load request.
解决audio标签报错 <audio :src="url"></audio> 这是错误信息 DOMException: The play() request ...
- java request获取内容_JavaWeb - Http请求消息 - Request获取请求消息(基础)代码演示 - 小黑电脑...
Http 概念:Hyper Text Transfer Protocol 超文本传输协议 传输协议 : 定义了,客户端和服务器端通信时,发送数据的格式 特点: 基于TCP/IP的高级协议 默认端口号: ...
- php request entity too large,Nginx:413 Request Entity Too Large解决
最近在做给博客添加上传PDF的功能,但是在测试上传文件的过程中遇到了413 Request Entity Too Large错误.不过这个无错误是很好解决的,这个错误的出现是因为上传的文件大小超过了N ...
- 微信小程序request请求封装;微信小程序封装request请求;uni-app小程序封装request请求;
本片封装了微信小程序request请求:为别是post get put请求,重点在request.js文件 1.新增四个文件 2.根目录下的utils下的request.js封装uni.request ...
- python request库_【Python爬虫】Request库入门
什么是爬虫? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引. ...
最新文章
- C语言经典小游戏---猜数字游戏 (包含C语言中如何实现随机数的生成)
- IBM携手天健“漫步”区域医疗信息化市场
- angularjs 中的$digest和$apply区别
- js opacity0点击_javascript opacity兼容性随笔
- 全球及中国智能食品秤行业发展预测及市场规模预测报告2021年版
- 商丘高中计算机考试成绩查询系统,河南省中招考生服务平台2019商丘中考成绩查询系统入口...
- tomcat 报错:Error occurred during initialization of VM
- QT学习之路七(qt的数据库操作)
- 用excel做logistic回归分析_利用SPSS进行Logistic回归分析
- 树莓派Python 按键实验
- Bootstrap可视化布局系统需要引入的静态资源
- 重庆理工大学计算机考研分数,重庆理工大学历年考研分数线汇总[2012-2021]
- html 页面自动弹出,javaScript实现自动弹出页面
- 测试第一步,雀氏纸尿裤
- kindle 安卓 app下载的电子书放在什么文件夹?
- python实现多EXCEL表格合并xls、xlsx格式
- apidoc生成文档时报错
- 微信小程序开发2.框架-视图层-WXS
- 高中python编程例题-Python进入高中教学
- tensorflow63 《深度学习原理与TensorFlow实战》03 Hello TensorFlow
热门文章
- vr手柄设置_最佳无线VR设置,最新和即将推出
- 小程序-----小白入门
- 紫川,网络小说的登峰造极之作
- npm ERR! could not determine executable to run
- [BZOJ2177][最小/最大(曼哈顿距离)生成树]曼哈顿最小生成树
- python多个判断条件_python if not in 多条件判断代码
- 一万套Solidworks非标自动化设备三维图纸 3D通用模型 机械设计UG
- 基于Android的网络聊天软件(仿QQ)设计与实现
- java注册用户_用java编程实现用户注册并进行登录操作
- android加法计算器代码,Android实现简单加法计算器