struts2+websocket報錯:failed: Error during WebSocket handshake: Unexpected response code:404


最近把websocket集成進項目里面來,打開網頁總是會遇到這樣的錯誤。

網上說的原因有3種,但是都不適合我,但是也記錄下。

1.struts2截攔掉了ws的請求。這種援用可以嘗試把web.xml清空,如果可以連接,則是這個問題。此時在struts.xml的配置文件中添加:

<constant name="struts.action.excludePattern" value="ws://*"></constant>

對ws的請求不截攔。

2.jar包的沖突,項目里的jar包跟tomcat中的jar包沖突。

3.把java project 轉化為 web project,調整包加載順序。

 

然后就是自己的解決方法,ws請求的url規則是這樣的:地址+端口+endpoint路徑。如果在java文件中定義了端點:

@ServerEndpoint(value="/echoendpoint")

並且在本地8080端口運行,則url為 http://127.0.0.1:8080/echoendpoint

java7的websocket只需要配置endpoint,頁面的JS就可以連接上,無需servlet或其他配置,只需注意下url。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM