首页 > 代码库 > struts2+websocket报错:failed: Error during WebSocket handshake: Unexpected response code:404
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="http://www.mamicode.com/echoendpoint")
并且在本地8080端口运行,则url为 http://127.0.0.1:8080/echoendpoint
java7的websocket只需要配置endpoint,页面的JS就可以连接上,无需servlet或其他配置,只需注意下url。
struts2+websocket报错:failed: Error during WebSocket handshake: Unexpected response code:404
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。