前几天完成了聊天功能之后,想把这个功能模块整合进Struts2框架里,却发现WebSocket无法建立连接。弄了两天才发现原因。
我的项目里主要是两个原因:
一、
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这里Struts2拦截了所有请求,修改方法是:在Struts.xml里添加<constant name="struts.action.excludePattern" value="/websocket"></constant>
这样就把WebSocket请求的拦截排除。
原因二:jar包不匹配,聊天功能里我用到的commons-lang-2.5.jar,而Struts2里用到的是commons-lang-3.3.2.jar,整合的时候我把旧版本的lang包删了,再加回去后能够正常聊天。
时间: 2024-10-27 13:29:23