基于websocket的jsp与java进行交互

环境:jdk.18   tomcat-7.0.70

把tomcat中的

两个jir包复制到

注意:最后部署的时候要删除掉这两个jar包 tomcate中已经有了

ebSocket对象的创建和服务器连接
要连接通信端点,只需要创建一个新的WebSocket实例,并提供希望连接的对端URL。
ws://和wss://前缀分别表示WebSocket连接和安全的WebSocket连接。
url = "ws://localhost:8080/echo";
w = new WebSocket(url);
建立WebSocket连接时,可以列出Web应用能够使用的协议

var ws;
window.onload=function(){
    ws = new WebSocket("ws://192.168.32.132:8080/CaiNiaoTV/websocket");
    ws.onopen=function(){
    };
}

document.onkeydown=function(event){
    var e = event || window.event || arguments.callee.caller.arguments[0];
    if (e && e.keyCode == 13) {
        sendMsg();
    }
}; 

function sendMsg(){
/*
 * ws.onopen = function() { };
 */

    var txt = "xxx";    

    /**
     * 发送消息
     */
    if(txt.length>0){
        ws.send(txt);
    }else{
        alert("请输入文字");
    }
    /**
     * 接收返回的消息
     */
    ws.onmessage = function (evt)
    {
       var received_msg = evt.data;
        console.log(received_msg);
    };

    /**
     * 关闭连接
     */
     ws.onclose = function()
    {

    };

}

后台:

package com.cainiao.tv.servlet;

import java.util.Set;

import javax.websocket.Endpoint;
import javax.websocket.server.ServerApplicationConfig;
import javax.websocket.server.ServerEndpointConfig;
/**
 * websocket
 * @author Administrator
 *
 */
public class TalkSocket implements ServerApplicationConfig {

	/**
	 * 注解的方式启动
	 * 自动扫描本地的websocket
	 * @return scan是websocket
	 */
	@Override
	public Set<Class<?>> getAnnotatedEndpointClasses(Set<Class<?>> scan) {
		// TODO Auto-generated method stub
		return scan;
	}
	/**
	 * 接口方式启动
	 */
	@Override
	public Set<ServerEndpointConfig> getEndpointConfigs(
			Set<Class<? extends Endpoint>> arg0) {
		// TODO Auto-generated method stub
		return null;
	}

}

  

import java.io.IOException;
import java.util.List;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import com.cainiao.tv.entity.Talk;
import com.cainiao.tv.entity.User_Tv;

@ServerEndpoint("/websocket")
public class TalkWebSocketServer {
    private static List<Session> sessions = new
    @OnOpen
    public void open(Session session){
        sessions.add(session);
    }

    public void broadcast(List<Session> sessions,String msg){
        for(Iterator iter = sessions.iterator();iter.hasNext();){
            Session session = (Session) iter.next();
            try {
                session.getBasicRemote().sendText(msg);
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
    }    

    @OnMessage
    public void messgae(Session session,String msg){
        System.out.println("消息内容:"+msg);
                broadcast(this.sessions,msg)//广播

    }

    @OnClose
    public void close(Session session){

    }
}
        
时间: 2024-11-08 19:44:31

基于websocket的jsp与java进行交互的相关文章

jsp js java

Java技术 J a v a是一种 简单易用. 完全面向对象. 具有平台无关性且 安全可靠的主要面向I n t e r n e t的开发工具. 自从1 9 9 5年正式问世以来,J a v a的快速发展已经让整个We b世界发生了翻天覆地的变化.随着Java Servlet的推出,J a v a在电子商务方面开始崭露头角,最新的Java Server Page技术的推出,更是让J a v a成为基于We b的应用程序的首选开发工具.要学习J a v a技术中的Java Server Page,J

Websocket全讲解。跨平台的通讯协议 !!基于websocket的高并发即时通讯服务器开发。

本博文,保证不用装B的话语和太多专业的语言,保证简单易懂,只要懂JAVAEE开发的人都可以看懂. 本博文发表目的是,目前网上针对Websocket的资料太散乱,导致初学者的知识体系零零散散,学习困难加大.本博加以整理,并且实践. 所用核心技术选型: Tomcat + Spring 4.0.3 + Mongodb(高并发数据库) + SpringQueue(消息队列)+ ActiveMQ (消息队列) + Spring-data-Mongo + Servlet 3.0 +Spring-Websoc

基于Servlet、JSP、JDBC、MySQL的登录模块(含过滤器的使用和配置)

接前文的注册模块,本篇是登录模块.主要包括登录主界面,和登录相关编写的LoginAction.LoginDao和LoginService.以及配置的Filter.下面按逻辑顺序记录详细过程和代码: 一.在前文的index目录点击登录按钮后,通过javascript跳转至LoginAction. <script type="text/javascript"> function login(){ var th = document.form1; if(th.username.v

JSP与oracle数据库交互案例

本案例为咖啡销售情况录入查询系统 一.数据输入系统: 1.  设计输入信息页面 代码如下: <html> <head> </head> <body> <center><H1>咖啡管理系统--录入系统</H1></center> 欢迎来到录入系统<br /> <form action="inputaction.jsp" method="post" name

JSP编译成Servlet(四)JSP与Java行关系映射

我们知道java虚拟机只认识class文件,要在虚拟机上运行就必须要遵守class文件格式,所以JSP编译成servlet后还需要进一步编译成class文件,但从JSP文件到java文件再到class文件的过程需要考虑的事情比较多,其中一个比较重要的就是调试问题,由于语法不一样,jsp某行执行的逻辑怎样与java文件对应起来,这样在JVM执行过程发生异常或错误才能找到JSP对应的行,提供一个友好的调试信息.类似的,jsp文件名编译后的java文件名同样也要有映射关系. 总的来说,为了解决从非ja

基于Servlet、JSP、JDBC、MySQL的一个简单的用户注册模块(附完整源码)

最近看老罗视频,做了一个简单的用户注册系统.用户通过网页(JSP)输入用户名.真名和密码,Servlet接收后通过JDBC将信息保存到MySQL中.虽然是个简单的不能再简单的东西,但麻雀虽小,五脏俱全,在此做一归纳和整理.下面先上源码: 一.index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path =

【转】iOS基于WebSocket的聊天机制

原文网址:http://www.jianshu.com/p/21d9b3b94cfc WebSocket 的使得浏览器提供对 Socket 的支持成为可能,从而在浏览器和服务器之间提供了一个基于 TCP 连接的双向通道.Web 开发人员可以非常方便地使用 WebSocket 构建实时 web 应用. 1.WebSocket 机制 以下简要介绍一下 WebSocket 的原理及运行机制. WebSocket 是 HTML5 一种新的协议.它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带

分享基于 websocket 网页端聊天室

博客地址:https://ainyi.com/#/67 有一个月没有写博客了,也是因为年前需求多.回家过春节的原因,现在返回北京的第二天,想想,应该也要分享技术专题的博客了!! 主题 基于 websocket 网页端聊天室 WebSocket 协议是基于 TCP 的一种新的网络协议.它实现了浏览器与服务器全双工 (full-duplex) 通信--允许服务器主动发送信息给客户端. 使用 java 开发后台 需要导入一个jar包:javax.websocket-api-1.0-rc4.jar 后台

基于SSM的健身俱乐部管理系统-java健身俱乐部管理系统javaweb健身房管理系统

基于SSM的健身俱乐部管理系统-java健身俱乐部管理系统javaweb健身房管理系统 1.包含源程序,数据库脚本.代码和数据库脚本都有详细注释.2.课题设计仅供参考学习使用,可以在此基础上进行扩展完善开发环境:Eclipse ,MYSQL,JDK1.7,Tomcat 7涉及技术点:MVC模式.SpringMvc.Mybatis.Spring.HTML.JavaScript.CSS.JQUERY.DWR.Ajax等系统采用Mybatis框架实现ORM对象关系映射,前台JSP实现,后台spring