maven构建spring4 mvc+spring4 websocket应用

来源:互联网 发布:背景音乐制作软件 编辑:程序博客网 时间:2024/04/29 00:15

上一篇文章我们没有使用Spring MVC,而是自己编写了一个Servlet用来处理来自的客户端的WebSocket连接,这篇文章我们用Spring MVC + WebSocket改造下之前的程序。


pom.xml增加spring-mvc的依赖:

<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency>


spring-websocket.xml配置文件如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:websocket="http://www.springframework.org/schema/websocket"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="        http://www.springframework.org/schema/beans        http://www.springframework.org/schema/beans/spring-beans.xsd        http://www.springframework.org/schema/context        http://www.springframework.org/schema/context/spring-context.xsd        http://www.springframework.org/schema/websocket   http://www.springframework.org/schema/websocket/spring-websocket.xsd"><bean id="webSocketHandler" class="net.aty.websocket.MyHandler" /><websocket:handlers allowed-origins="*"><websocket:mapping path="/websocket.connection" handler="webSocketHandler" /><websocket:handshake-interceptors><bean class="net.aty.websocket.MyWebSocketHandshakeInterceptor" /></websocket:handshake-interceptors></websocket:handlers></beans>


web.xml配置如下:
<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/spring/spring-websocket.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><servlet><servlet-name>dispatcher</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value></param-value></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>dispatcher</servlet-name><url-pattern>/websocket.connection</url-pattern></servlet-mapping><!-- <servlet><servlet-name>websocket</servlet-name><servlet-class>net.aty.websocket.MyServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>websocket</servlet-name><url-pattern>/websocket.connection</url-pattern></servlet-mapping> --> </web-app>


其他java和html文件都没有变化,和上一篇文章一样的。我们使用Spring MVC的DispatcherServlet只拦截了websocket请求。DispatcherServlet拦截到请求后,会自动调用我们在spring.xml中注册的websocket的处理类。




1 0