空指针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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MyBatis-Plus 分页查询以及自定义sql分页的实现
这篇文章主要介绍了MyBatis-Plus 分页查询以及自定义sql分页的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08
maven在settings.xml和pom.xml中指定jdk版本编译的方法
在开发Java应用时,通常需要指定要使用的Java版本,下面这篇文章主要给大家介绍了关于maven在settings.xm和pom.xml中指定jdk版本编译的方法,文中通过代码介绍的非常详细,需要的朋友可以参考下2024-05-05
Java使用lambda自定义Arrays.sort排序规则说明
这篇文章主要介绍了Java使用lambda自定义Arrays.sort排序规则说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-05-05
基于Jenkins搭建.NET FrameWork持续集成环境
这篇文章主要介绍了基于Jenkins搭建.NET FrameWork持续集成环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2020-08-08


最新评论