`
wj.geyuan
  • 浏览: 14897 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SSM 框架 webSocket的实战

阅读更多
websocket 依赖jar ,直接下载文件。

先看webSocket 服务器端注册处理类:
package info.gy.clk.websocket.config;

import info.gy.clk.websocket.handler.MsgWebSocketHandler;
import info.gy.clk.websocket.interceptor.WebSocketHandshakeInterceptor;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.socket.WebSocketHandler;
import org.springframework.web.socket.config.annotation.EnableWebSocket;
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry;

/****
 * 配置websocket
 * @author tmpuser
 *
 */
@Configuration
@EnableWebMvc
@EnableWebSocket
public class WebSocketConfig extends WebMvcConfigurerAdapter implements
		WebSocketConfigurer {

	/**
	 * tomcat7 启动时候会自动注册此方法registerWebSocketHandlers
	 */
	public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
		System.out.println("WebSocketConfig.注册webSocketServer");
		//注册websocket server实现类
		registry.addHandler(msgWebSocketHandler(), "/webSocketServer.pf").addInterceptors(new WebSocketHandshakeInterceptor());
		//访问withSockJS websocket的地址
		registry.addHandler(msgWebSocketHandler(), "/sockjs/webSocketServer.pf").addInterceptors(new WebSocketHandshakeInterceptor()).withSockJS();

	}

	
	@Bean
	public WebSocketHandler msgWebSocketHandler(){
		return new MsgWebSocketHandler();
	}
}


注:
这里的注册地址,要注意下。我这里是.pf 是因为我web.xml中的拦截器是这样配置的
<display-name>platform</display-name>
  	<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:/applicationContext-platform.xml</param-value>
    </context-param>
    
	<servlet>
		<servlet-name>platform</servlet-name>
		<display-name>spring mvc 分发容器</display-name>
		<description></description>
		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<init-param>
			<param-name>contextConfigLocation</param-name>
			<param-value>classpath:/platform-servlet.xml</param-value>
		</init-param>
		<load-on-startup>1</load-on-startup>
		<async-supported>true</async-supported>
	</servlet>
	<servlet-mapping>
		<servlet-name>platform</servlet-name>
		<url-pattern>*.pf</url-pattern>
	</servlet-mapping>

<url-pattern>*.pf</url-pattern>。如果你们配置的/*那么可以把注册地址.pf去除。我就是被这个拦截器坑了一次。如果对不上访问都是404

前端代码:

<!DOCTYPE html>
<html>
<head>
<title>WebSocket/SockJSTest</title>
<!--[if !IE]> -->
		<script type="text/javascript">
			window.jQuery || document.write("<script src='/gy/platform/themes/ace/assets/js/jquery.js'>"+"<"+"/script>");
		</script>
<!-- <![endif]-->
<!--[if IE]>
<script type="text/javascript">
 window.jQuery || document.write("<script src='/gy/platform/themes/ace/assets/js/jquery1x.js'>"+"<"+"/script>");
</script>
<![endif]-->

    <script src="http://cdn.bootcss.com/sockjs-client/1.1.1/sockjs.min.js"></script>
     <script type="text/javascript">
            var websocket;
            if('WebSocket' in window){
            	websocket=new WebSocket("ws://172.16.71.103/webSocketServer.pf");
            }else if ('MozWebSocket' in window) {
                websocket = new MozWebSocket("ws://172.16.71.103/webSocketServer.pf");
            } else {
                websocket = new SockJS("http://172.16.71.103/sockjs/webSocketServer.pf");
            }
            websocket.onopen = function (evnt) {
            };
            websocket.onmessage = function (evnt) {
                $("#console").html("(<font color='red'>"+evnt.data+"</font>)");
            };
            websocket.onerror = function (evnt) {
            	
            };
            websocket.onclose = function (evnt) {
            	
            }
        </script>
</head>
<body>
<div>    
    <div id="console-container">
        <div id="console">sdfsdf</div>
    </div>
</div>
</body>
</html>


注:主要是几段JS代码 看看就可以了

package info.gy.clk.control;

import javax.servlet.http.HttpServletRequest;

import info.gy.clk.websocket.handler.MsgWebSocketHandler;

import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.socket.TextMessage;

@Controller
@RequestMapping("/socket")
public class SocketTest {
	
	 	@Bean
	    public MsgWebSocketHandler systemWebSocketHandler() {
	        return new MsgWebSocketHandler();
	    }
	 	
	@RequestMapping("/auditing")
	@ResponseBody
	public void getSocketMsg(HttpServletRequest request){
		systemWebSocketHandler().sendMessageToUser("wf", new TextMessage("测试三三四四"));		
	}
}

这个是服务器端向指定用户端发送消息
-------------------------------------不懂的加 q_q:153 654 8741-----------------------
剩下的几个类自己下载来看看就性
分享到:
评论

相关推荐

    一个基于SSM+Websocket的实时在线聊天室项目.zip

    SSM框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您...

    一个基于SSM+Websocket的实时在线聊天室项目(远程通讯项目).zip

    通过这个项目,开发者不仅可以学习到如何整合SSM框架来处理HTTP请求,还能掌握WebSocket的使用,从而构建实时交互的应用。此外,项目还可能涉及到JDBC与数据库的交互、JSON格式的数据传输、前端页面的渲染以及用户...

    SSM框架Demo并包含扫码上传,ejabberd消息推送

    这些功能的实现为学习者提供了丰富的实践案例,有助于深入理解SSM框架的实战运用。 1. **SSM框架整合**: - Spring:负责管理对象的生命周期和依赖注入,提供事务管理、AOP等功能。 - SpringMVC:处理HTTP请求,...

    毕设&课设&项目&实训-基于websocket和SSM框架简单网页聊天管理系统毕业源码案例设计.zip

    【标题】中的“毕设&课设&项目&实训-基于websocket和SSM框架简单网页聊天管理系统毕业源码案例设计”表明这是一个适用于毕业设计、课程设计、项目实践或实训的教学资源,它提供了一个使用websocket技术和SSM(Spring...

    完整ssm框架游乐园项目+有聊天功能

    这个"完整SSM框架游乐园项目+有聊天功能"是一个实战性的学习资源,旨在帮助开发者快速掌握SSM框架的使用,并通过实现聊天功能来加深对异步通信和实时交互的理解。 **Spring框架** 是一个全面的后端应用程序框架,它...

    基于SSM框架开发的民宿管理系统,附带mysql建表语句(TXT格式)

    SSM框架是Java Web开发中常用的三大框架Spring、Spring MVC...通过这个项目,开发者可以深入理解SSM框架的实战应用,以及如何构建一个完整的Web应用程序,同时锻炼数据库设计、前后端交互、用户界面设计等多方面技能。

    ssm整合jar包 (可以在jdk1.8使用)

    6. **实战应用**:SSM框架广泛应用于企业级Web应用开发,例如电子商务系统、内容管理系统、后台管理系统等。开发者可以通过注解驱动和XML配置相结合的方式,实现灵活的业务逻辑处理和数据访问。 7. **最佳实践**:...

    java及javaweb编程教程、ssm、商城实战项目、how2j网站的全站教程、包含从前端到后端全栈技术

    包括spring、spring mvc、mybatis、spring+mybatis、SSM、springboot、javaee 商城项目、ssm商城项目、springboot商城项目,工具和中间件,包括maven、git、Intellij IDEA、Redis、WebSocket、shiro、quartz、...

    Spring4实战 动力节点 王勇讲义 SSM

    《Spring4实战 动力节点 王勇讲义 SSM》是一份全面介绍Spring4框架与SSM(Spring、Struts2、MyBatis)集成应用的教程资料,由知名教育机构动力节点的讲师王勇编撰。这份PDF文档旨在帮助开发者深入理解和熟练运用...

    ssm(spring4+springmvc4+mybatis3)整合Jar包-新版

    在实际项目中,初学者可以通过这个包快速搭建SSM环境,进行实战练习,了解并掌握SSM框架的核心原理和使用方法。 总之,SSM框架组合提供了强大的功能,包括面向切面编程、声明式事务管理、MVC模式的Web开发以及灵活...

    叩丁狼ssm.rar

    SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的一种技术栈。这个名为"叩丁狼ssm.rar"的压缩包提供了叩丁狼教育关于SSM框架的详细知识讲解,包含了四个PDF文件,分别是关于MyBatis、...

    基于SSM的新闻推送系统源码.zip

    【标题】:“基于SSM的新闻推送系统源码”是一个典型的Java Web开发项目,它采用了Spring、SpringMVC和MyBatis(简称SSM)这一经典的三层...这个项目对于熟悉Java Web开发流程,提升SSM框架的实战经验有着极大的帮助。

    基于ssm亲海社区医院儿童预防接种管理系统.zip

    【标题】中的“基于SSM亲海社区医院儿童预防接种管理系统”表明这是...这个系统设计的复杂性和全面性,使得学生在毕业设计中能够深入理解软件开发的全过程,并掌握Java Web开发、微信小程序开发以及SSM框架的实战应用。

    开题报告ssm169基于Java的学习交流论坛+vue开题报告ssm169基于Java的学习交流论坛.docx

    【开题报告】基于SSM框架的Java学习交流论坛+Vue设计 本开题报告针对的是基于SSM(Spring、SpringMVC、MyBatis)框架的Java学习交流论坛的开发,结合Vue.js前端技术,旨在创建一个高效、互动、安全的在线交流平台,...

    校园帮项目,毕业设计/课程设计/javaWeb/SSM

    【标题】"校园帮项目,毕业设计/课程设计...通过这个项目,学生可以深入理解SSM框架的实战应用,提升JavaWeb开发技能,并掌握如何将理论知识转化为实际项目经验。同时,这也是一个很好的团队协作和项目管理的实践机会。

    【SSM项目源码】在线聊天室管理系统.zip

    综上所述,这个“【SSM项目源码】在线聊天室管理系统”涵盖了Java Web开发的多个核心知识点,对于学习和理解SSM框架的实战应用具有很高的价值。通过分析和研究这个项目,开发者能够深入理解Web应用的开发流程,提升...

    基于ssm微信小程序跑腿系统源码数据库文档.zip

    首先,让我们详细了解一下SSM框架。SSM是Java Web开发中常用的三大框架的组合,即Spring负责控制层,SpringMVC处理视图和控制器,而MyBatis则用于持久层操作,方便地管理SQL语句。这样的框架组合能够提供良好的分层...

    基于ssm微信外卖小程序源码数据库文档.zip

    描述中同样提到"基于ssm微信外卖小程序源码数据库文档.zip",这确认了文件内容的核心是围绕SSM框架和微信小程序进行的,包含数据库设计相关的文档,很可能是用于指导开发或理解项目结构的资料。 标签中涉及的关键...

Global site tag (gtag.js) - Google Analytics