WebSocket系列教材 (二)- Java开发WebSocket应用开发流程

本文是WebSocket系列教程的第二部分,主要介绍了使用Java开发WebSocket应用的步骤。首先确保Tomcat版本至少为7.0.47以支持WebSocket,然后创建动态Web项目,导入必要的jar文件。接着,创建BitCoinServer类并使用@ServerEndpoint注解,定义了OnOpen、OnClose、OnMessage和OnError方法。ServerManager用于管理WebSocket服务器实例,实现消息群发。BitCoinDataCenter模拟实时价格更新并通过ServerManager广播。最后,index.jsp负责与服务器建立WebSocket连接并接收消息。
摘要由CSDN通过智能技术生成

步骤1:Tomcat版本
步骤2:先运行,看到效果,再学习
步骤3:首先创建动态Web项目
步骤4:复制jar
步骤5:BitCoinServer
步骤6:ServerManager
步骤7:BitCoinDataCenter
步骤8:index.jsp

步骤 1 : Tomcat版本

旧版本的Tomcat 不能支持WebSocket, 至少需要 7.0.47 以上才可以, 不确定的同学可以使用我的tomcat, 保证能用 可以跑websocket的tomcat 下载

步骤 2 : 先运行,看到效果,再学习

以先下载下载区(点击进入)的可运行项目 bitcoin.rar,解压后导入到eclipse中,启动Tomcat,观察是否正常运行。确定可以运行,确定教程是可以跑得起来的,再学习下面的内容。

导入到Eclipse中并运行的办法请参考:导入动态Web项目到Eclipse中
如果用的IDEA, 请参考 如何使用IDEA打开Eclipse的动态Web项目

部署成功自后,测试地址

http://127.0.0.1:8080/bitcoin

步骤 3 : 首先创建动态Web项目

菜单->File->New->Other->Web->Dynamic Web Project

首先创建动态Web项目

步骤 4 : 复制jar

为了支持WebSocket,需要引入javaee.jar, 在下载区(点击进入)有,下载后放进WEB-INF/lib 目录下

复制jar

步骤 5 : BitCoinServer

创建BitCoinServer类,用注解@ServerEndpoint("/ws/bitcoinServer")把它标记为一个WebSocket Server
ws/bitcoinServer 表示有通过这个地址访问该服务

OnOpen 表示有浏览器链接过来的时候被调用
OnClose 表示浏览器发出关闭请求的时候被调用
OnMessage 表示浏览器发消息的时候被调用
OnError 表示有错误发生,比如网络断开了等等

sendMessage 用于向浏览器回发消息

其中OnOpen发生的时候,即有链接过来的时候,会把当前WebSocket Server丢在ServerManager里管理起来,这样Tomcat才知道总共有哪些Server, 方便以后进行群发

package com.how2java.bitcoin;

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 注解是一个类层次的注解,它的功能主要是将目前的类定义成一个websocket服务器端,

 * 注解的值将被用于监听用户连接的终端访问URL地址,客户端可以通过这个URL来连接到WebSocket服务器端

 */

@ServerEndpoint("/ws/bitcoinServer")

public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值