欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

空指針HttpSession異常之SpringBoot集成WebSocket的方法

 更新時間:2025年01月15日 10:33:47   作者:續(xù)寫少年  
文章介紹了在Spring?Boot中集成WebSocket時遇到的HttpSession為空的問題,并探討了三種解決方法,方法一涉及域名配置,方法二通過監(jiān)聽創(chuàng)建Session,而方法三是從request中獲取session并存入數(shù)據(jù),感興趣的朋友一起看看吧

異??赡苄裕?/h2>
  • 404 : 請檢查攔截器是否將請求攔截
  • WebSocket握手期間HttpSession為空

HttpSession為空

方法一 :

網(wǎng)上參考大量的文檔,有說跟前端請求域名有關(guān)系的。 反正對我來說,沒啥用無法連接。

需使用 localhost,不能使用127.0.01 

    var host = window.location.host;
    var url = "ws://"+host+"/chatRoom/null";

方法二 :可以解決

添加監(jiān)聽配置 ,采用spring boot自動裝配的方式,創(chuàng)建一個Session。

因為我需要存入數(shù)據(jù),所以對我而言,不太ok。

其他原因看:WebSocket獲取httpSession空指針異常的解決辦法

http://www.dbjr.com.cn/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通過監(jiān)聽創(chuàng)建Session。監(jiān)聽最牛逼的不應該是攔截器或者過濾器。

可以從攔截器中獲取到我需要的數(shù)據(jù),在request里面配置,應該更好。從request中g(shù)etSession,存點東西進去試試。

@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");
    }
}

到此這篇關(guān)于空指針:HttpSession異常,SpringBoot集成WebSocket的文章就介紹到這了,更多相關(guān)SpringBoot集成WebSocket內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringCloud整合Consul的實現(xiàn)

    SpringCloud整合Consul的實現(xiàn)

    這篇文章主要介紹了SpringCloud整合Consul的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Kotlin this詳解及實例

    Kotlin this詳解及實例

    這篇文章主要介紹了Kotlin this詳解及實例的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • java雙色球機選法程序解析

    java雙色球機選法程序解析

    這篇文章主要為大家詳細解析了java雙色球機選法程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • java序列化的種類和使用場景詳解

    java序列化的種類和使用場景詳解

    本文詳細介紹了序列化的概念、Java內(nèi)置序列化、自定義序列化、第三方序列化框架(如Kryo、Protobuf)以及在分布式系統(tǒng)和RPC框架中的應用,通過比較不同序列化方式的優(yōu)缺點,指導開發(fā)者選擇合適的序列化方案,以確保系統(tǒng)的性能、安全性和可維護性
    2025-01-01
  • 解決springboot沒有啟動標識,啟動類也沒有啟動標識的問題

    解決springboot沒有啟動標識,啟動類也沒有啟動標識的問題

    這篇文章主要介紹了解決springboot沒有啟動標識,啟動類也沒有啟動標識的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • mybatis模糊查詢、分頁和別名配置的方法

    mybatis模糊查詢、分頁和別名配置的方法

    這篇文章主要介紹了mybatis模糊查詢、分頁和別名配置,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • Java程序控制邏輯—流程控制

    Java程序控制邏輯—流程控制

    這篇文章主要介紹了Java程序的控制邏輯流程控制,流程控制中最基本的就是條件執(zhí)行,也就是說,一些操作只能在某些條件滿足的情況下才執(zhí)行,在一些條件下執(zhí)行某種操作,在另外一些條件下執(zhí)行另外的操作,需要的朋友可以參考一下
    2022-01-01
  • Springboot整合logback多節(jié)點日志文件加端口號區(qū)分的操作方法

    Springboot整合logback多節(jié)點日志文件加端口號區(qū)分的操作方法

    這篇文章主要介紹了Springboot整合logback多節(jié)點日志文件加端口號區(qū)分的操作方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • Springboot 使用maven release插件執(zhí)行版本管理及打包操作

    Springboot 使用maven release插件執(zhí)行版本管理及打包操作

    maven-release-plugin 可用于構(gòu)建release版本項目,實現(xiàn)自動打tag、遞增版本號、分發(fā)release版本jar包至倉庫,接下來通過本文給大家介紹Springboot 使用maven release插件執(zhí)行版本管理及打包操作,需要的朋友可以參考下
    2022-03-03
  • 淺析SpringBoot中使用thymeleaf找不到.HTML文件的原因

    淺析SpringBoot中使用thymeleaf找不到.HTML文件的原因

    這篇文章主要介紹了SpringBoot中使用thymeleaf找不到.HTML文件的原因分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07

最新評論