当前位置:首页 » 网页前端 » javaweb聊天室
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

javaweb聊天室

发布时间: 2022-05-05 02:57:53

㈠ javaweb写的聊天网页是如何向客户端发送消息

你说的这个是一种推送技术,由服务器主动将数据推送给客户端
Tomcat8已经很好的支持web socket 了webSocket已经慢慢普及与Html5做这样的推送
而你用javaweb的话,直接导入Tomcat.jar就可以使用webSocket了
网上有很多例子

㈡ (JAVA WEB)网页版聊天室将,所有人分组(有组号),如何实现只有同一个组号的人才能进入

简单的办法就是在User即用户中定义组号的这个字段基本判断组号就行了,进入组的数量字段基本能实现这个功能。
比价好的办法是建立,User,group,room这个3个对象,然后在组中设立User对象的集合,在room也设置User对象的集合,User中设置组和room的集合,限制集合的大小为2如果超过2那么限制groop增加这个User对象。

㈢ 利用JavaWeb设计简易聊天室,具体要求看补充

利用JavaWeb设计简易聊天室
这样你什么柑橘
比较

㈣ 聊天室发言用javaweb什么实现

<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding right ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>Apache Tomcat WebSocket Examples: Chat</title>
<style type="text/css"><![CDATA[
input#chat {
width: 410px
}

#console-container {
width: 400px;
}

#console {
border: 1px solid #CCCCCC;
border-right-color: #999999;
border-bottom-color: #999999;
height: 170px;
overflow-y: scroll;
padding: 5px;
width: 100%;
}

#console p {
padding: 0;
margin: 0;
}
]]></style>
<script type="application/javascript"><![CDATA[
"use strict";

var Chat = {};

Chat.socket = null;

Chat.connect = (function(host) {
if ('WebSocket' in window) {
Chat.socket = new WebSocket(host);
} else if ('MozWebSocket' in window) {
Chat.socket = new MozWebSocket(host);
} else {
Console.log('Error: WebSocket is not supported by this browser.');
return;
}

Chat.socket.onopen = function () {
Console.log('Info: WebSocket connection opened.');
document.getElementById('chat').onkeydown = function(event) {
if (event.keyCode == 13) {
Chat.sendMessage();
}
};
};

Chat.socket.onclose = function () {
document.getElementById('chat').onkeydown = null;
Console.log('Info: WebSocket closed.');
};

Chat.socket.onmessage = function (message) {
Console.log(message.data);
};
});

Chat.initialize = function() {
if (window.location.protocol == 'http:') {
Chat.connect('ws://' + window.location.host + '/websocket/chat');
} else {
Chat.connect('wss://' + window.location.host + '/websocket/chat');
}
};

Chat.sendMessage = (function() {
var message = document.getElementById('chat').value;
if (message != '') {
Chat.socket.send(message);
document.getElementById('chat').value = '';
}
});

var Console = {};

Console.log = (function(message) {
var console = document.getElementById('console');
var p = document.createElement('p');
p.style.wordWrap = 'break-word';
p.innerHTML = message;
console.appendChild(p);
while (console.childNodes.length > 25) {
console.removeChild(console.firstChild);
}
console.scrollTop = console.scrollHeight;
});

Chat.initialize();

document.addEventListener("DOMContentLoaded", function() {
// Remove elements with "noscript" class - <noscript> is not allowed in XHTML
var noscripts = document.getElementsByClassName("noscript");
for (var i = 0; i < noscripts.length; i++) {
noscripts[i].parentNode.removeChild(noscripts[i]);
}
}, false);

]]></script>
</head>
<body>
<div class="noscript"><h2 style="color: #ff0000">Seems your browser doesn't support Javascript! Websockets rely on Javascript being enabled. Please enable
Javascript and reload this page!</h2></div>
<div>
<p>
<input type="text" placeholder="type and press enter to chat" id="chat" />
</p>
<div id="console-container">
<div id="console"/>
</div>
</div>
</body>
</html>

客户端的代码也是很简单,就是载入页面的时候,创建跟服务器的WebSocket连接。
Chat.connect('ws://' + window.location.host + '/websocket/chat');

然后就是发送信息,接收信息了。

完成上述代码之后,就可以部署了。这里我使用的servlet容器是tomcat 8。以下是我的配置:
<Context path="/websocket" docBase="/Users/cevin/Documents/workspace/tomcat_websocket_chat/web" reloadable="true"/>

部署结束,启动tomcat,访问:http://localhost:8080/websocket/chat.xhtml,见到下面这个页面,说明部署成功了。

㈤ javaweb聊天室项目,用户上线后如果直接退出浏览器,可能做到像客户端这样即时的显示用户下线吗

一般的话都需要自己手动点退出,这样服务器端才会删除Session,
确保下线,不然的话你自己写Ajax定时看下是否还在,不然应该没办法

㈥ java的一个简单聊天室的系统结构,大概的跟我说一下。

定义要求:⑴完善的支持中文。由于Java编译器版本及运行环境的差异等原因,在Java语言的中文处理中常出现乱码等现象,表现在中文显示与网络传输不正常、中文不能输入等方面。在这个聊天室系统中我们将彻底解决中文的兼容性问题。⑵具有健壮性。即聊天室系统能够处理各种异常,能够识别和控制客户端的各种行为,能够返回清理不正常退出后所分配的系统资源,能够踢出超时连接用户以减轻服务器负载等。虽然Java语言本身能够自动收集处理无用的对象,但我们仍然需要作一定的清理工作。⑶广泛的适应性。因为我们不能要求聊天用户必须使用某种浏览器或操作系统,因此所编写的Java程序,尤其是Applet,必须能在各种平台的各个版本的浏览器上都能正常运行。考虑到网络用户的使用情况,我们定的标准是能适应以下版本的浏览器:Netscape 3.x,Netscape Communicator 4.x,Internet Explorer 3.x、4.x、5.x中英文版。设计实现:基于Java的Web聊天室系统包括聊天服务器和客户端两部分。聊天服务器是一个Java Application,与Web服务器程序运行在同一机器上。客户端部分即是一个含Java Applet的HTML页面,它由Web服务器传送给客户端浏览器,交由浏览器的Java虚拟机(VM)解释执行。该Applet初始化后与聊天服务器进行连接,聊天服务器对于每个连接请求产生一个连接线程(Connection Thread),来维护和管理与该客户端的会话。客户端的发言被传送到服务器端后由其向其他客户进行广播(Broadcast),达到相互聊天的目的。 在聊天服务器中,我们使用哈希表(Hashtable)来存储所有的连接线程。主线程为ChatServer,对于每个新的客户连接请求产生一个Connection线程。同时我们还运行了一个检查线程CheckActiveTimer,它相当于一个定时器,每隔一定时间就扫描所有的客户连接线程(即扫描Hashtable),检查每个客户连接是否超时(例如很长时间没有发言或者死机),并给出警告或直接踢出(Kick)用户。

㈦ 怎么用java做局域网的聊天工具(聊天室)

呵呵,楼主您好!要用Java做聊天室说简单也不简单,但是说难呢也不难.
说简单点,就是会话跟踪技术(我个人这样理解).要做聊天室,您需要
使用到的工具: tomcat 服务器(因为是免费的,其他也可以哦,呵呵).
Myeclipse(sun公司提供的编写Java程序的工具,别说你不知道哈,
哪样的话我就晕倒了哦,呵呵)

页面框架的设计:index.jsp(聊天室主页面)index_top.jsp(聊天室的顶部页面)
usersonline.jsp(在线人数的统计及显示页面) sendMessage.jsp(发送信息的页面)
showMessage.jsp(显示聊天信息的页面)register.jsp(用户注册的页面)
login.jsp(用户登录页面)
当然,这是最简单的设计方式咯.您也可以设计得更好点.

页面介绍与功能:
index.jsp 主要是聊天室的主页面.由上中下3个框架组成,中间部分在分为
左右2个框架.实际上index.jsp就是一个由于5个框架组成的页面

顶部框架:放index_top.jsp页面.可以设计自己聊天室的特色(比如说:logo)
中间部分的左边框架:showMessage.jsp 显示聊天的信息
中间部分的右边框架:usersonline.jsp(在线人数的统计及显示页面)
底部框架:sendMessage.jsp 这个发送信息的jsp页面.不多说吧
聊天室的框架的设计大楷就是这样子咯

实现聊天:
1.编写一个servlet,用户处理的信息(包括验证用户是否登录和聊天信息)。
2.用户发送信息之后,将发送的信息存放到Application中(群聊)(放在session中就是私聊)
3.显示信息的页面每个XX秒中获取session或者Application中的数据显示出来就OK了

更多的东西还是需要您学习Ajax之后再做,会有不一样的效果哦。祝您成功哟.呵呵

㈧ 用java做一个聊天室系统需要用到哪些知识呢

以前做过一个,界面用swing表现就可以了,程序主要用到socket编程,不需要框架吧,DB,mysql,oracle都可以

如果用 web,直接用js+xml文件就可以实现了

㈨ javaweb 项目做在线聊天室 什么思路,什么技

最搞笑的对联

㈩ javaweb问题

首先聊天室用web做不太好,因为聊天室需要服务器频繁的发送消息到客户端,web只能浏览器通知服务器来取得消息,要想不间断的获得最新消息需要不断刷新或者调用ajax,对服务器压力很大。

如果非要用web做的话,需要使用javascript的onunload事件,这个事件在页面关闭时触发,你可以注册事件处理函数向服务器发送一条ajax消息,通知服务器用户已退出,执行登出操作修改字段