1 开发环境 : myeclipse10 + tomcat7 + jdk1.7

2 需要导入jar包

2.1 tomcat7-websocket.jar

2.2 websocket-api.jar

3 项目截图

4  DemeConfig.java

这是websocket配置类, 不需要再任何地方配置,启动 tomcat后会输出  -------------websoket start-----------------  ,表示成功

package com.webSocket.config;import java.util.Set;import javax.websocket.Endpoint;
import javax.websocket.server.ServerApplicationConfig;
import javax.websocket.server.ServerEndpointConfig;public class DemeConfig implements ServerApplicationConfig{//注解的方式 启动public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scan) {System.out.println("-------------websoket start-----------------");System.out.println("scan.size() = " + scan.size());return scan; //必须要返回scan,否则会造成连接失败}//接口方式启动public Set<ServerEndpointConfig> getEndpointConfigs(Set<Class<? extends Endpoint>> arg0) {return null;}}

5 EchoSocket.java

服务器开启了一个叫 echo  的socket

package com.webSocket.client;import java.io.IOException;import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;@ServerEndpoint("/echo")
public class EchoSocket {@OnOpenpublic void open(Session session){ //打开websocketString id = session.getId();System.out.println("websocket is open");System.out.println("user id  is " + id);System.out.println("session.isOpen() = " + session.isOpen());}@OnClosepublic void close(Session session){ //关闭websocketSystem.out.println("websocket is close");}@OnMessagepublic void message(Session session,String message){//接收客服端信息System.out.println("客服端信息为 : " + message);//给客服端发送信息try {if (session.isOpen()) {session.getBasicRemote().sendText("服务器说 : " + message);}} catch (IOException e) {try {session.close();} catch (IOException e1) {// Ignoree1.printStackTrace();}}}
}

6 index.jsp

<%@ page language="java" import="java.util.*,javax.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>My JSP 'index.jsp' starting page</title></head><body><script type="text/javascript">var ws=null; var target = "ws://"+window.location.host+"/webSocketTest/echo"; // 打开管道  ,ws://localhost:8080/项目名/@ServerEndpoint名字openWebsocket = function(){if ('WebSocket' in window) {ws = new WebSocket(target);} else if ('MozWebSocket' in window) {ws = new MozWebSocket(target);} else {alert('WebSocket is not supported by this browser.');return;}ws.onmessage = function (event) { //创建websocket同时,接收服务器发给客服端的消息if(event!=null){var servermsg =  event.data;var textArea = document.getElementById("textAreadID");textArea.value = textArea.value  + servermsg;}};}sendMessage = function(){ //发送信息if(ws!=null){var sendMessageInput = document.getElementById("sendMessageInput");var msg = sendMessageInput.value;ws.send(msg);sendMessageInput.value ="";}else{alert("websocket is null , please create a websocket");}}</script><button οnclick="openWebsocket()">open</button><input id="sendMessageInput"></input><button οnclick="sendMessage()">send</button></br><textarea id="textAreadID" rows="5" cols="20"></textarea></body>
</html>

7 操作方法  ,先点击 open ,然后在input输入信息 , 点击send , 会在 textarea区域更新信息 ,截图

(1) 基于tomcat7和jdk1.7的websocket启动相关推荐

  1. 基于Tomcat7、Java、WebSocket的服务器推送聊天室

    2019独角兽企业重金招聘Python工程师标准>>> 基于Tomcat7.Java.WebSocket的服务器推送聊天室 转载于:https://my.oschina.net/u/ ...

  2. 基于Boost::beast模块的异步WebSocket客户端

    基于Boost::beast模块的异步WebSocket客户端 实现功能 C++实现代码 实现功能 基于Boost::beast模块的异步WebSocket客户端 C++实现代码 #include & ...

  3. 基于Boost::beast模块的同步WebSocket客户端

    Boost:基于Boost::beast模块的同步WebSocket客户端 实现功能 C++实现代码 实现功能 基于Boost::beast模块的同步WebSocket客户端 C++实现代码 #inc ...

  4. 基于Boost::beast模块的异步WebSocket服务器

    Boost:基于Boost::beast模块的异步WebSocket服务器 实现功能 C++实现代码 实现功能 基于Boost::beast模块的异步WebSocket服务器 C++实现代码 #inc ...

  5. 基于Boost::beast模块的快速WebSocket服务器

    Boost:基于Boost::beast模块的快速WebSocket服务器 实现功能 C++实现代码 实现功能 基于Boost::beast模块的快速WebSocket服务器 C++实现代码 #inc ...

  6. 基于Boost::beast模块的同步WebSocket服务器

    Boost:基于Boost::beast模块的同步WebSocket服务器 实现功能 C++实现代码 实现功能 基于Boost::beast模块的同步WebSocket服务器 C++实现代码 #inc ...

  7. 基于微服务和mini2440的WebSocket B/S视频监控及MQTT物联网应用系统

    文章目录 一.系统基本组成架构 二.Spring Cloud微服务 微服务简介 系统的微服务组成框架 Spring Cloud集成WebSocket Spring Cloud集成MQTT 三.嵌入式L ...

  8. 嵌入式linux仪器,一种基于嵌入式Linux设备双系统的启动方法

    一种基于嵌入式Linux设备双系统的启动方法 [技术领域] [0001]本发明涉及一种基于嵌入式Linux设备双系统的启动方法. [背景技术] [0002]Linux操作系统特别是其嵌入式系统由于其源 ...

  9. 小米9开发版已开启Android,小米9迎来最后一个基于安卓9的系统,即将启动安卓q开发版内测...

    原标题:小米9迎来最后一个基于安卓9的系统,即将启动安卓q开发版内测 近来小米9的开发版系统发布了在过渡到安卓q前的最终版本(9.7.22),论坛公告也当放出了即将启动内测的消息,这样一来,小米对于系 ...

最新文章

  1. SVM算法实现光学字符识别
  2. c++链表形参丢失_LeetCode 例题精讲 | 01 反转链表:如何轻松重构链表
  3. linux下搭建lua开发环境
  4. python3用list实现栈
  5. CakePHP 2.x CookBook 中文版 第三章 入门(三)
  6. Java网络编程之IP地址
  7. ubuntu16.04下ROS操作系统学习笔记(九)Moveit
  8. 2017.4.16 java 获取当前时间及年月日时分秒
  9. 苹果计算机音乐谱大全,macOS乐谱制作软件大全推荐~
  10. 苹果电脑装双系统利弊有哪些
  11. 京瓷打印机p5026cdn_京瓷p5026cdn驱动下载-京瓷p5026cdn打印机驱动v2.0.1421 官方版 - 极光下载站...
  12. ubuntu 自带录屏功能
  13. DHCP服务以及配置DHCP服务器
  14. 2015杭州云栖大会
  15. 2021校招offer薪资如何?(包含当今互联网各巨厂、大厂、中厂)
  16. penghui_031413 Bat命令学习
  17. 逆向易语言程序执行流程
  18. 设计模式面试题整理-四年经验
  19. IntelliJ IDEA 自动导包设置以及idea import导包顺序Java
  20. Game boy模拟器(5):集成

热门文章

  1. 【Java正则表达式】正则基本语法、使用方式(分组、替换、分割)、简单爬虫基础
  2. 【Java类加载机制】深入加载器
  3. C++ cin.putback()输入【已知行数】但【未知每行数字个数】的思路
  4. 牛客网_PAT乙级1016_部分A+B (15)
  5. Scala教程之:Enumeration
  6. Hive体系结构(三)元数据库与基本操作
  7. JUC锁-CountDownLatch(六)
  8. PAT甲级 -- 1041 Be Unique (20 分)
  9. 一条SQL更新语句是如何执行的?
  10. 工艺路线和工序有差别吗_智能制造、数字化车间、数字化企业需要结构化工艺吗?...