空指针HttpSession异常之SpringBoot集成WebSocket的方法
异常可能性:
- 404 : 请检查拦截器是否将请求拦截
- WebSocket握手期间HttpSession为空
HttpSession为空

方法一 :
网上参考大量的文档,有说跟前端请求域名有关系的。 反正对我来说,没啥用无法连接。
需使用 localhost,不能使用127.0.01
var host = window.location.host;
var url = "ws://"+host+"/chatRoom/null";方法二 :可以解决
添加监听配置 ,采用spring boot自动装配的方式,创建一个Session。
因为我需要存入数据,所以对我而言,不太ok。
其他原因看:WebSocket获取httpSession空指针异常的解决办法
https://www.jb51.net/program/334258vi3.htm
@WebListener
public class RequestListener implements ServletRequestListener {
@Override
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
}
@Override
public void requestInitialized(ServletRequestEvent servletRequestEvent) {
((HttpServletRequest)servletRequestEvent.getServletRequest()).getSession();
}
}虽然有Session了,还是连接不上!

方法三 :成功解决
灵感 : 方法2通过监听创建Session。监听最牛逼的不应该是拦截器或者过滤器。
可以从拦截器中获取到我需要的数据,在request里面配置,应该更好。从request中getSession,存点东西进去试试。
@WebFilter(urlPatterns = "/*")
public class ArticleFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException{
long start = System.currentTimeMillis();
// 存入session
System.out.println("存入session");
((HttpServletRequest) request).getSession().setAttribute("name", 123);
// 封装请求信息存储到请求上下文
chain.doFilter(request, response);
long end = System.currentTimeMillis();
System.out.println("请求耗时:" + (end - start) + "ms");
}
}
到此这篇关于空指针:HttpSession异常,SpringBoot集成WebSocket的文章就介绍到这了,更多相关SpringBoot集成WebSocket内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决springboot没有启动标识,启动类也没有启动标识的问题
这篇文章主要介绍了解决springboot没有启动标识,启动类也没有启动标识的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01
Springboot整合logback多节点日志文件加端口号区分的操作方法
这篇文章主要介绍了Springboot整合logback多节点日志文件加端口号区分的操作方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-09-09
Springboot 使用maven release插件执行版本管理及打包操作
maven-release-plugin 可用于构建release版本项目,实现自动打tag、递增版本号、分发release版本jar包至仓库,接下来通过本文给大家介绍Springboot 使用maven release插件执行版本管理及打包操作,需要的朋友可以参考下2022-03-03
浅析SpringBoot中使用thymeleaf找不到.HTML文件的原因
这篇文章主要介绍了SpringBoot中使用thymeleaf找不到.HTML文件的原因分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-07-07


最新评论