将与Spring有关的jar包的版本都升级为4.0.0以上,并且在web.xml中将<web-app>里面的version改为"3.0"1 在maven的pom.xml中加入websocket所依赖的jar包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.7.RELEASE</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-aspects -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency><!-- 加入两个webscoket的依赖包 -->
<groupId>org.springframework</groupId>
<artifactId>spring-websocket</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-messaging</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.7.RELEASE</version>
</dependency>
2 更新web.xml中namespace.xsd
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee
http://www.springframework.org/schema/beans"
xmlns:websocket="http://www.springframework.org/schema/websocket"
xsi:schemaLocation="
http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/websocket http://www.springframework.org/schema/websocket/spring-websocket.xsd"
id="WebApp_ID" version="3.1">
3 更新spring框架的jar包至4.0以上(spring-core, spring-context, spring-web and spring-webmvc)
- <servlet>
- <servlet-name>websocketServlet</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath*:META-INF/spring/websocketmessage-applicationContext.xml</param-value>
- </init-param>
- <async-supported>true</async-supported>
- </servlet>
- <servlet-mapping>
- <servlet-name>websocketServlet</servlet-name>
- <url-pattern>/websocket/*</url-pattern>
- </servlet-mapping>
- 4.1创建websocket处理类
- 4.2创建握手(handshake)接口
- 5 处理类和握手协议的spring配置(applicationContext.xml文件)
<bean id="websocket" class="com.ym.crud.utils.WebsocketEndPoint"/>
<websocket:handlers>
<websocket:mapping path="/websocket" handler="websocket" />
<websocket:handshake-interceptors>
<bean class="com.ym.crud.utils.HandshakeInterceptor" />
</websocket:handshake-interceptors>
</websocket:handlers>
- 6 客户端页面
原创出处: http://blog.youkuaiyun.com/gisredevelopment/article/details/38392629
http://blog.youkuaiyun.com/zhangbojun888/article/details/41593225