技术难度:简单

在这里我会用最简单的方法实现JFinal框架结合webSocket最基础的功能,以至于后续业务的拓展需要小伙伴们依据实际情况去实现相应的开发!

废话不多说,直接上代码!

1、编写webSocket类

package morality.ws;

import java.io.IOException;

import javax.websocket.OnClose;

import javax.websocket.OnError;

import javax.websocket.OnMessage;

import javax.websocket.OnOpen;

import javax.websocket.Session;

import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/ws/getsingle")

public class webSocket {

private Session session;

@OnOpen

public void onOpen(Session session) {

this.session = session;

}

/**

* 收到客户端消息时触发

* @param relationId

* @param userCode

* @param message

* @return

* @throws IOException

* @throws InterruptedException

*/

@OnMessage

public void onMessage(Session session, String key) throws IOException {

//向客户端返回发送过来的消息

session.getBasicRemote().sendText(key);

}

/**

* 异常时触发

* @param relationId

* @param userCode

* @param session

*/

@OnError

public void onError(Throwable throwable,Session session) {}

/**

* 关闭连接时触发

* @param relationId

* @param userCode

* @param session

*/

@OnClose

public void onClose(Session session) {}

}

2、编写Handler

package morality.handler;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.jfinal.handler.Handler;

public class WebSockethandler extends Handler {

@Override

public void handle(String target, HttpServletRequest request,HttpServletResponse response, boolean[] isHandled) {

// TODO Auto-generated method stub

if(target.indexOf("/ws/getsingle") == -1){

next.handle(target, request, response, isHandled);

}

}

}

JFinal将不再处理带有“/ws/getsingle”的请求,交由webSocket处理;

3、配置Config

@Override

public void configHandler(Handlers me) {

// TODO Auto-generated method stub

me.add(new WebSockethandler());

}

4、HTML页面

Java后端WebSocket的Tomcat实现

Welcome

发送消息


关闭WebSocket连接


var websocket = null;

//判断当前浏览器是否支持WebSocket

if ('WebSocket' in window) {

websocket = new WebSocket("ws://localhost:8080/ws/getsingle");

}

else {

alert('当前浏览器 Not support websocket')

}

//连接发生错误的回调方法

websocket.onerror = function () {

setMessageInnerHTML("WebSocket连接发生错误");

};

//连接成功建立的回调方法

websocket.onopen = function () {

setMessageInnerHTML("WebSocket连接成功");

}

//接收到消息的回调方法

websocket.onmessage = function (event) {

setMessageInnerHTML(event.data);

}

//连接关闭的回调方法

websocket.onclose = function () {

setMessageInnerHTML("WebSocket连接关闭");

}

//监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。

window.onbeforeunload = function () {

closeWebSocket();

}

//将消息显示在网页上

function setMessageInnerHTML(innerHTML) {

document.getElementById('message').innerHTML += innerHTML + '
';

}

//关闭WebSocket连接

function closeWebSocket() {

websocket.close();

}

//发送消息

function send() {

var message = document.getElementById('text').value;

websocket.send(message);

}

那如果一切顺利的话你将看到如下页面:

webSocket连接成功

接下来你就可以在input框内输入内容,点击‘发送消息’,内容将显示在页面上:

成功

好啦!小伙伴们,这样一个简单的webSocket+Jfinal就搭建成功啦,快来试试吧!

jfinal html5,Jfinal框架整合webSocket技术功能实现相关推荐

  1. SSM框架整合WebSocket服务

    WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据.在 WebSocket AP ...

  2. SSM 框架整合 spring 发送邮件功能实现!

    基于SSM的 spring 发送邮件的实现 由于考虑到项目中需要,如果程序出现异常或其它问题,可以发送邮件来及时提醒后台维护人员处>理.所以目前考虑使用JavaMail来实现邮件发送!如下,是我 ...

  3. html 监听后端变化_SpringBoot2.0整合WebSocket,实现后端数据实时推送!

    之前公司的某个系统为了实现推送技术,所用的技术都是Ajax轮询,这种方式浏览器需要不断的向服务器发出请求,显然这样会浪费很多的带宽等资源,所以研究了下WebSocket,本文将详细介绍下. 一.什么是 ...

  4. 前端 html5 css3 框架,UI,分享,CSS3,HTML5,前端框架

    随着HTML5和CSS3以及网页设计布局的全面翻新创新改革.让很多网页设计者和界面设计师都知道一个道理.就是去掌握一套对应的工具包.这不仅仅是未来提高工作的效率,还能更好的去处理网页整体视觉效果.界面 ...

  5. Html5 WebSocket 技术介绍(转载)

    WebSocket是html5规范新引入的功能,用于解决浏览器与后台服务器双向通讯的问题,使用WebSocket技术,后台可以随时向前端推送消息,以保证前后台状态统一,在传统的无状态HTTP协议中,这 ...

  6. spring+websocket综合(springMVC+spring+MyBatis这是SSM框架和websocket集成技术)

    java-websocket该建筑是easy.儿童无用的框架可以在这里下载主线和个人教学好java-websocket计划: Apach Tomcat 8.0.3+MyEclipse+maven+JD ...

  7. Struts2和hibernate框架整合实现简单的注册登陆功能

    Struts2和hibernate框架整合实现简单的注册登陆功能 项目结构: LoginAction.java package action; import vo.User; import vo.Us ...

  8. ssm框架整合并实现简单验证登陆功能

    ssm框架整合 ssm整合要用到的jar包和配置文件 新建动态web项目, 在web-inf/lib中添加资源中给的所有jar包,并右键依赖项目 添加以下配置文件到src下 将配置文件中的web.xm ...

  9. java整合消息推送_SpringMVC整合websocket实现消息推送及触发功能

    本文为大家分享了SpringMVC整合websocket实现消息推送,供大家参考,具体内容如下 1.创建websocket握手协议的后台 (1)HandShake的实现类 /** *Project N ...

最新文章

  1. C什么k什么_cssci跟c刊有什么区别
  2. webpack 原理图_webpack打包原理
  3. c++二进制文件java读取int_吃透Java基础十二:IO
  4. php psr-2,「PSR 规范」PSR-2 编码风格规范
  5. 嗯?原来if可以调用方法的?
  6. 阿里开源的Arthas竟然还不会用?最佳实践来了!
  7. ajax 示例_通过示例了解挥发
  8. 制作centos的启动盘
  9. 【Python】main函数 if __name__=='__main__' 详解
  10. Windows商店的Redis客户端G-dis3
  11. 操作无法完成 因为文件已在system中打开
  12. 电气EPLAN电气图纸设计
  13. CleanMyMac最新破解安装版
  14. JAVA单车管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  15. PHP 核心技术与最佳实践
  16. VC dll 注入之钩子注入
  17. Ebox系列Corecon不同版本不宜安装在一起
  18. 解决猫眼自定义字体的问题-获取影院实时电影拍片或实时票房等
  19. 相机标定与矫正(总结)
  20. Stata:多个变量组间均值\中位数差异检验

热门文章

  1. 央视记者王冰冰为何走红?博导和研究生写了一篇论文进行了分析
  2. 她15岁中科大4门力学课满分无人能破,遭性别歧视无缘诺贝尔奖
  3. 全球最伟大50名商业领袖,任正非和马云未入选,中国只有一人上榜
  4. 真正聪明的人从来不自己做PPT,看完这篇就放假吧!
  5. java对象与c网络语言通信,JAVA与C语言的网络通信代码案例.pdf
  6. unixODBC的使用
  7. node.js http客户端
  8. C语言fwrite函数了解
  9. 【Boost】Boost使用几条简单笔记
  10. 一种通用整形数组压缩方法