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框架学习宝典:入门、进阶、精通,全方位代码项目资 一、探索SSM的无限可能 SSM(Spring + Spring MVC + MyBatis)框架作为Java开发中的黄金组合,为开发者提供了强大的技术支持和丰富的功能。本系列资料将带您...
通过这个项目,开发者不仅可以学习到如何整合SSM框架来处理HTTP请求,还能掌握WebSocket的使用,从而构建实时交互的应用。此外,项目还可能涉及到JDBC与数据库的交互、JSON格式的数据传输、前端页面的渲染以及用户...
这些功能的实现为学习者提供了丰富的实践案例,有助于深入理解SSM框架的实战运用。 1. **SSM框架整合**: - Spring:负责管理对象的生命周期和依赖注入,提供事务管理、AOP等功能。 - SpringMVC:处理HTTP请求,...
【标题】中的“毕设&课设&项目&实训-基于websocket和SSM框架简单网页聊天管理系统毕业源码案例设计”表明这是一个适用于毕业设计、课程设计、项目实践或实训的教学资源,它提供了一个使用websocket技术和SSM(Spring...
这个"完整SSM框架游乐园项目+有聊天功能"是一个实战性的学习资源,旨在帮助开发者快速掌握SSM框架的使用,并通过实现聊天功能来加深对异步通信和实时交互的理解。 **Spring框架** 是一个全面的后端应用程序框架,它...
SSM框架是Java Web开发中常用的三大框架Spring、Spring MVC...通过这个项目,开发者可以深入理解SSM框架的实战应用,以及如何构建一个完整的Web应用程序,同时锻炼数据库设计、前后端交互、用户界面设计等多方面技能。
6. **实战应用**:SSM框架广泛应用于企业级Web应用开发,例如电子商务系统、内容管理系统、后台管理系统等。开发者可以通过注解驱动和XML配置相结合的方式,实现灵活的业务逻辑处理和数据访问。 7. **最佳实践**:...
包括spring、spring mvc、mybatis、spring+mybatis、SSM、springboot、javaee 商城项目、ssm商城项目、springboot商城项目,工具和中间件,包括maven、git、Intellij IDEA、Redis、WebSocket、shiro、quartz、...
《Spring4实战 动力节点 王勇讲义 SSM》是一份全面介绍Spring4框架与SSM(Spring、Struts2、MyBatis)集成应用的教程资料,由知名教育机构动力节点的讲师王勇编撰。这份PDF文档旨在帮助开发者深入理解和熟练运用...
在实际项目中,初学者可以通过这个包快速搭建SSM环境,进行实战练习,了解并掌握SSM框架的核心原理和使用方法。 总之,SSM框架组合提供了强大的功能,包括面向切面编程、声明式事务管理、MVC模式的Web开发以及灵活...
SSM框架,全称为Spring、SpringMVC和MyBatis的集成框架,是Java Web开发中常用的一种技术栈。这个名为"叩丁狼ssm.rar"的压缩包提供了叩丁狼教育关于SSM框架的详细知识讲解,包含了四个PDF文件,分别是关于MyBatis、...
【标题】:“基于SSM的新闻推送系统源码”是一个典型的Java Web开发项目,它采用了Spring、SpringMVC和MyBatis(简称SSM)这一经典的三层...这个项目对于熟悉Java Web开发流程,提升SSM框架的实战经验有着极大的帮助。
【标题】中的“基于SSM亲海社区医院儿童预防接种管理系统”表明这是...这个系统设计的复杂性和全面性,使得学生在毕业设计中能够深入理解软件开发的全过程,并掌握Java Web开发、微信小程序开发以及SSM框架的实战应用。
【开题报告】基于SSM框架的Java学习交流论坛+Vue设计 本开题报告针对的是基于SSM(Spring、SpringMVC、MyBatis)框架的Java学习交流论坛的开发,结合Vue.js前端技术,旨在创建一个高效、互动、安全的在线交流平台,...
【标题】"校园帮项目,毕业设计/课程设计...通过这个项目,学生可以深入理解SSM框架的实战应用,提升JavaWeb开发技能,并掌握如何将理论知识转化为实际项目经验。同时,这也是一个很好的团队协作和项目管理的实践机会。
综上所述,这个“【SSM项目源码】在线聊天室管理系统”涵盖了Java Web开发的多个核心知识点,对于学习和理解SSM框架的实战应用具有很高的价值。通过分析和研究这个项目,开发者能够深入理解Web应用的开发流程,提升...
首先,让我们详细了解一下SSM框架。SSM是Java Web开发中常用的三大框架的组合,即Spring负责控制层,SpringMVC处理视图和控制器,而MyBatis则用于持久层操作,方便地管理SQL语句。这样的框架组合能够提供良好的分层...
描述中同样提到"基于ssm微信外卖小程序源码数据库文档.zip",这确认了文件内容的核心是围绕SSM框架和微信小程序进行的,包含数据库设计相关的文档,很可能是用于指导开发或理解项目结构的资料。 标签中涉及的关键...