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

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

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

異常可能性:

  • 404 : 請(qǐng)檢查攔截器是否將請(qǐng)求攔截
  • WebSocket握手期間HttpSession為空

HttpSession為空

方法一 :

網(wǎng)上參考大量的文檔,有說(shuō)跟前端請(qǐng)求域名有關(guān)系的。 反正對(duì)我來(lái)說(shuō),沒(méi)啥用無(wú)法連接。

需使用 localhost,不能使用127.0.01 

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

方法二 :可以解決

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

因?yàn)槲倚枰嫒霐?shù)據(jù),所以對(duì)我而言,不太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通過(guò)監(jiān)聽(tīng)創(chuàng)建Session。監(jiān)聽(tīng)最牛逼的不應(yīng)該是攔截器或者過(guò)濾器。

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

@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);
        // 封裝請(qǐng)求信息存儲(chǔ)到請(qǐng)求上下文
        chain.doFilter(request, response);
        long end = System.currentTimeMillis();
        System.out.println("請(qǐng)求耗時(shí):" + (end - start) + "ms");
    }
}

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

相關(guān)文章

  • 分享幾個(gè)寫(xiě)簡(jiǎn)潔java代碼的小技巧

    分享幾個(gè)寫(xiě)簡(jiǎn)潔java代碼的小技巧

    成為一個(gè)優(yōu)秀的Java程序員,有著良好的代碼編寫(xiě)習(xí)慣是必不可少的,下面這篇文章主要給大家介紹了關(guān)于寫(xiě)java代碼的小技巧,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • 基于java file 文件操作operate file of java的應(yīng)用

    基于java file 文件操作operate file of java的應(yīng)用

    本篇文章介紹了,基于java file 文件操作operate file of java的應(yīng)用。需要的朋友參考下
    2013-05-05
  • JPA多條件復(fù)雜SQL動(dòng)態(tài)分頁(yè)查詢功能

    JPA多條件復(fù)雜SQL動(dòng)態(tài)分頁(yè)查詢功能

    這篇文章主要介紹了JPA多條件復(fù)雜SQL動(dòng)態(tài)分頁(yè)查詢功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Java排序之冒泡排序的實(shí)現(xiàn)與優(yōu)化

    Java排序之冒泡排序的實(shí)現(xiàn)與優(yōu)化

    冒泡排序是一種簡(jiǎn)單的交換排序。之所以叫做冒泡排序,因?yàn)槲覀兛梢园衙總€(gè)元素當(dāng)成一個(gè)小氣泡,根據(jù)氣泡大小,一步一步移動(dòng)到隊(duì)伍的一端,最后形成一定對(duì)的順序。本文將利用Java實(shí)現(xiàn)冒泡排序,并進(jìn)行一定的優(yōu)化,希望對(duì)大家有所幫助
    2022-11-11
  • SpringBoot全局異常捕獲處理實(shí)現(xiàn)方案

    SpringBoot全局異常捕獲處理實(shí)現(xiàn)方案

    這篇文章主要詳細(xì)介紹了SpringBoot全局異常捕獲處理實(shí)現(xiàn)方案,文章通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • SpringBoot3使用Jasypt實(shí)現(xiàn)配置文件信息加密的方法

    SpringBoot3使用Jasypt實(shí)現(xiàn)配置文件信息加密的方法

    對(duì)于一些單體項(xiàng)目而言,在沒(méi)有使用SpringCloud的情況下,配置文件中包含著大量的敏感信息,如果這些信息泄露出去將會(huì)對(duì)企業(yè)的資產(chǎn)產(chǎn)生重大威脅,因此,對(duì)配置文件中的敏感信息加密是一件極其必要的事,所以本文介紹了SpringBoot3使用Jasypt實(shí)現(xiàn)配置文件信息加密的方法
    2024-07-07
  • SpringBoot之Java配置的實(shí)現(xiàn)

    SpringBoot之Java配置的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot之Java配置的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • Java中Stream流去除List重復(fù)元素的方法

    Java中Stream流去除List重復(fù)元素的方法

    這篇文章主要為大家詳細(xì)介紹了Java中Stream流去除List重復(fù)元素的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 本地安裝MinIO分布式對(duì)象存儲(chǔ)服務(wù)器的詳細(xì)步驟

    本地安裝MinIO分布式對(duì)象存儲(chǔ)服務(wù)器的詳細(xì)步驟

    本地安裝MinIO非常簡(jiǎn)單,MinIO提供了獨(dú)立的二進(jìn)制文件,無(wú)需額外的依賴,本文介紹如何在本地安裝MinIO分布式對(duì)象存儲(chǔ)服務(wù)器,感興趣的朋友一起看看吧
    2024-01-01
  • 解決Spring事務(wù)@Transactional多層嵌套失效問(wèn)題

    解決Spring事務(wù)@Transactional多層嵌套失效問(wèn)題

    在使用Spring進(jìn)行事務(wù)管理時(shí),可能會(huì)遇到事務(wù)失效的問(wèn)題,主要原因包括數(shù)據(jù)庫(kù)不支持事務(wù)、方法訪問(wèn)級(jí)別不是public、未被Spring管理的Bean、當(dāng)前類的方法內(nèi)部調(diào)用以及配置的事務(wù)傳播性不當(dāng)?shù)?解決事務(wù)失效的方法有使用聲明式事務(wù)處理采用合適的事務(wù)傳播行為
    2024-11-11

最新評(píng)論