介绍MyEclipse集成Tomcat7,并开发WebSocket的全过程

1.首先使MyEclipse8.6集成Tomcat7

注意配置参数

注意jar包

主机JDK版本

2.开发WebSocket

导入websocket-api.jar

开发java文件

package com.chen.websocket;
import java.io.IOException;
import java.util.concurrent.CopyOnWriteArraySet;

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")
public class MyWebSocket {
    private static int onlineCount = 0;

    private static CopyOnWriteArraySet<MyWebSocket> webSocketSet = new CopyOnWriteArraySet<MyWebSocket>();

    private Session session;

    @OnOpen
    public void onOpen(Session session){
        this.session = session;
        webSocketSet.add(this);
        addOnlineCount();
        System.out.println("aaa?" + getOnlineCount());
    }

    @OnClose
    public void onClose(){
        webSocketSet.remove(this);
        subOnlineCount();
        System.out.println("bbbb?" + getOnlineCount());
    }

    @OnMessage
    public void onMessage(String message, Session session) {
        System.out.println("ttt" + message);

        for(MyWebSocket item: webSocketSet){
            try {
                item.sendMessage(message);
            } catch (IOException e) {
                e.printStackTrace();
                continue;
            }
        }
    }

    @OnError
    public void onError(Session session, Throwable error){
        System.out.println("yy");
        error.printStackTrace();
    }

    public void sendMessage(String message) throws IOException{
        this.session.getBasicRemote().sendText(message);
        //this.session.getAsyncRemote().sendText(message);
    }

    public static synchronized int getOnlineCount() {
        return onlineCount;
    }

    public static synchronized void addOnlineCount() {
        MyWebSocket.onlineCount++;
    }

    public static synchronized void subOnlineCount() {
        MyWebSocket.onlineCount--;
    }
}开发JSP
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML>
<html>
  <head>
    <base href="<%=basePath%>">
    <title>My WebSocket</title>
  </head>

  <body>
    Welcome<br/>
    <input id="text" type="text" /><button onclick="send()">Send</button>    <button onclick="closeWebSocket()">Close</button>
    <div id="message">
    </div>
  </body>

  <script type="text/javascript">
      var websocket = null;

      //判断当前浏览器是否支持WebSocket
      if(‘WebSocket‘ in window){
          websocket = new WebSocket("ws://localhost:8080/MyWebSocket/websocket");
      }
      else{
          alert(‘Not support websocket‘)
      }

      //连接发生错误的回调方法
      websocket.onerror = function(){
          setMessageInnerHTML("error");
      };

      //连接成功建立的回调方法
      websocket.onopen = function(event){
          setMessageInnerHTML("open");
      }

      //接收到消息的回调方法
      websocket.onmessage = function(){
          setMessageInnerHTML(event.data);
      }

      //连接关闭的回调方法
      websocket.onclose = function(){
          setMessageInnerHTML("close");
      }

      //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
      window.onbeforeunload = function(){
          websocket.close();
      }

      //将消息显示在网页上
      function setMessageInnerHTML(innerHTML){
          document.getElementById(‘message‘).innerHTML += innerHTML + ‘<br/>‘;
      }

      //关闭连接
      function closeWebSocket(){
          websocket.close();
      }

      //发送消息
      function send(){
          var message = document.getElementById(‘text‘).value;
          websocket.send(message);
      }
  </script>
</html>


3.部署


部署完之后需要在部署文件下删除websocket-api.jar,因为tomcat7已经有

4.运行项目

				
时间: 2024-10-03 22:51:02

介绍MyEclipse集成Tomcat7,并开发WebSocket的全过程的相关文章

Struts1.3——使用MyEclipse集成工具开发Struts

前面两篇通过手工写代码,手工配置struts-config.xml文件的方法来开发了一个最简单的struts项目,通过手工的方式旨在学习底层原理细节.当熟悉了以后,我们就不需要再通过纯手工的方式来开发struts了,MyEclipse为我们提供了便捷的集成开发工具. 下面就介绍通过MyEclipse自动开发struts的步骤.这里仍然使用登录验证系统来说明. 1.建立web工程 首先要建立web工程,这是所有项目的第一步.这里我新建项目StrutsLoginByTool 2.引入struts开发

将CKEditor集成到Java开发环境中

本文主要介绍如何将CKEditor集成到Java开发环境中,CKEditor是FCKEditor的升级版,使用很方便.下面是基本使用方法: 第一步:下载必要的库 1.到CKEditor官网http://www.fckeditor.net/download/下载Ckeditor4.0.2,这是目前最新的版本,4.1马上就出来了. 2.找到CKEditor 3.6.4 for Java,download.jar按钮,下载ckeditor-java-core-3.5.3.zip,这是java集成的ja

[IOS_HTML5]各种JS框架介绍--用HTML5/CSS3/JS开发Android/IOS应用

现在人人都想成为安卓/IOS应用开发工程师.其实,安卓/IOS应用可以用很多种语言来实现.由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了.所以,今天大家将会认识到一些利用前端语言来开发安卓/IOS应用的工具. 在文章的末尾,也介绍了使用JAVA.C#.Lua以及AS3来开发安卓应用的工具. 希望大家都能找到适合自己的开发工具!祝大家开发安卓/IOS应用一切顺利! PhoneGap 开发语言: HTML, CSS, JavaScript 开发工具: Ph

myeclipse集成jdk、tomcat8、maven、svn

今天一个同学要回家了,回家之前叫我帮他配置一下开发环境,然后在家里面自己研究一下,敲下代码.帮他配置好之后自己回来把这个过程写下来,别让自己把这个东西给忘了. myeclipse安装 myeclipse安装好像没什么技术难度,就是一直next,然后选择64bit,再然后安装好之后不要打开,因为我们还要运行破解文件.这个破解文件的运行好像要先安装好jdk配置好环境变量之后才能运行.这个破解过程就可以自己去百度,不懂的欢迎来找我.安装之后打开,设置好工作路径,我设置的是D:\java\Workspa

在MyEclipse中配置android开发环境

在MyEclipse中配置android开发环境.首先要先安装好java jdk,,然后再安装MyEclipse,并正确配置jdk,即在命令提示符下输入java和javac会出现相应的使用命令说明.下载android SDK,解压(最好解压到MyEclipse安装目件夹下进行安装,我的因为已经安装好了,所以这里没有解压到MyEclipse目录下)如下图所示: 打开该文件夹,运行SDK Manager.exe: 打开可能会有点慢, 选择相应的android API版本,再单击下面的install按

项目的大小衡量标准,以及项目演进的方法(填空架子,持续集成,边开发边测试效果)

java项目的大小衡量标准: 微型:只是一个人,甚至是半日工作在几天内完成的软件: 小型:一个人半年内完成的 2000 行以内的程序: 中型: 5 个人在 1 年多的时间内完成的 5000-50000 行的程序: 大型: 5-10 人在两年内完成的 50000-100000 行的程序: 甚大型: 100-1000 人参加用 4-5 年完成的具有 100 , 0000 行的软件项目: 极大型: 2000-5000 人参加, 10 年内完成的 1000 万行以内的程序: 以上摘自:<软件工程概论>

myeclipse调用loadrunner函数开发测试脚本

myeclipse调用loadrunner函数开发测试脚本 一.使用myeclipse开发性能测试脚本 1.使用Eclipse新建一个Java工程,将目录%LoadRunner_Home%\classes\lrapi文件复制到java工程中,并打成jar包. 操作步骤:Java工程名称右键->Export->Java->Java file,next下一步选择保存位置. 2.新建Java工程,将lrapi.jar引入扩展库中 操作步骤:目标工程名右键->Build Path->

用MyEclipse做web项目开发中如何去除jsp页面中的设计视图

开始用MyEclipse做WEB项目开发时,当用到jsp页面时,新建一个后总是上面是jsp的设计视图,下面才是jsp页面,这样太不方便了,下面是去除这个视图页面的步骤:      MyEclipse->Preference->General->Editors->File Associations->在右边选中*.jsp,然后到右下角选择MyEclipse JSP Editor(default)就行了. 在jsp页面还有几行默认的代码,你的网站做出来后是要上传到服务器的,之后你

myeclipse集成weblogicserver

今天为了学一下JMS的东东, 不得不安装个weblogicserver, 下面是详细的安装步骤: 1. 首先去官网下载一个weblogic: 下载地址: http://download.oracle.com/otn/nt/middleware/12c/wls/1212/wls1212_dev.zip 2. 我将文件解压缩到D:\develop 文件夹, 并改名为weblogic. 点击安装文件夹下的 configure.cmd, 它会帮我们自己主动配置, 当提示是否要domain的时候, 输入Y