网站业务流程设计,做一个网站最便宜多少钱,自然堂网站建设平台分析,金华网站建设工程网站建设技术难度#xff1a;简单在这里我会用最简单的方法实现JFinal框架结合webSocket最基础的功能#xff0c;以至于后续业务的拓展需要小伙伴们依据实际情况去实现相应的开发#xff01;废话不多说#xff0c;直接上代码#xff01;1、编写webSocket类package morality.ws;imp…技术难度简单在这里我会用最简单的方法实现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;OnOpenpublic void onOpen(Session session) {this.session session;}/*** 收到客户端消息时触发* param relationId* param userCode* param message* return* throws IOException* throws InterruptedException*/OnMessagepublic void onMessage(Session session, String key) throws IOException {//向客户端返回发送过来的消息session.getBasicRemote().sendText(key);}/*** 异常时触发* param relationId* param userCode* param session*/OnErrorpublic void onError(Throwable throwable,Session session) {}/*** 关闭连接时触发* param relationId* param userCode* param session*/OnClosepublic void onClose(Session session) {}}2、编写Handlerpackage morality.handler;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.jfinal.handler.Handler;public class WebSockethandler extends Handler {Overridepublic void handle(String target, HttpServletRequest request,HttpServletResponse response, boolean[] isHandled) {// TODO Auto-generated method stubif(target.indexOf(/ws/getsingle) -1){next.handle(target, request, response, isHandled);}}}JFinal将不再处理带有“/ws/getsingle”的请求交由webSocket处理3、配置ConfigOverridepublic void configHandler(Handlers me) {// TODO Auto-generated method stubme.add(new WebSockethandler());}4、HTML页面Java后端WebSocket的Tomcat实现Welcome发送消息关闭WebSocket连接var websocket null;//判断当前浏览器是否支持WebSocketif (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框内输入内容点击‘发送消息’内容将显示在页面上成功好啦小伙伴们这样一个简单的webSocketJfinal就搭建成功啦快来试试吧