基于SSH的聊天室

随网络聊天室是用户比较喜欢的一种WEB应用程序,借助聊天室,用户可以及时互通信息,交流思想.本系统主要采用了基于B/S(Browser/Server,即浏览器/服务器)模式开发的简易聊天室系统。本系统主要是采用了S2SH技术和JSP技术开发的动态网站。系统开发主要包括前台页面设计、功能设计和后台数据处理设计(即发言区管理和用户管理)。

本系统采用了MYECLIPSE8.5作为开发工具,后台数据库采用了MYSQL数据库设计,利用JAVA的框架技术S2SH和后台数据处理。利用TOMCAT6.0以上的版本作为服务器,实现了聊天室的聊天功能和显示在线聊天用户信息的功能。在设计过程中,首先建立了系统的应用模型,然后在此基础上再进行需求分析逐步进行各功能的设计实现。在详细设计时经过不断的修正和完善,经过测试阶段反复调试和验证,最终形成达到了设计要求的可行系统。

/*
MySQL Data Transfer
Source Host: localhost
Source Database: chatsys
Target Host: localhost
Target Database: chatsys
Date: 2013/5/28 星期二 21:07:55
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for cont
-- ----------------------------
CREATE TABLE `cont` (
`c_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`c_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for record
-- ----------------------------
CREATE TABLE `record` (
`r_id` int(11) NOT NULL AUTO_INCREMENT,
`u_id` int(11) DEFAULT NULL,
`chatime` datetime NOT NULL,
`cont` text,
`sendto` varchar(20) DEFAULT NULL,
PRIMARY KEY (`r_id`),
KEY `FK_Reference_1` (`u_id`),
CONSTRAINT `FK_Reference_1` FOREIGN KEY (`u_id`) REFERENCES `user` (`u_id`)
) ENGINE=InnoDB AUTO_INCREMENT=490 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for user
-- ----------------------------
CREATE TABLE `user` (
`u_id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`pwd` varchar(50) NOT NULL,
`type` tinyint(4) NOT NULL DEFAULT ‘0‘,
`ask` text,
`ans` text,
`isuse` tinyint(4) NOT NULL DEFAULT ‘0‘,
PRIMARY KEY (`u_id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `cont` VALUES (‘9‘, ‘dsfr‘);
INSERT INTO `record` VALUES (‘483‘, ‘26‘, ‘2013-05-27 13:11:43‘, ‘gfnbgh‘, ‘鎵€鏈夌殑浜?);
INSERT INTO `record` VALUES (‘484‘, ‘26‘, ‘2013-05-27 13:11:46‘, ‘fgfg‘, ‘鎵€鏈夌殑浜?);
INSERT INTO `record` VALUES (‘485‘, ‘26‘, ‘2013-05-27 13:13:25‘, ‘鍙嶅厜鏉挎硶鍥?, ‘鎵€鏈夌殑浜?);
INSERT INTO `record` VALUES (‘486‘, ‘26‘, ‘2013-05-27 13:15:40‘, ‘dfvgdf‘, ‘鎵€鏈夌殑浜?);
INSERT INTO `record` VALUES (‘487‘, ‘26‘, ‘2013-05-27 13:15:46‘, ‘dfvdbvf‘, ‘鎵€鏈夌殑浜?);
INSERT INTO `record` VALUES (‘488‘, ‘26‘, ‘2013-05-27 13:15:53‘, ‘dfvgfdvfd‘, ‘鎵€鏈夌殑浜?);
INSERT INTO `record` VALUES (‘489‘, ‘26‘, ‘2013-05-27 13:16:01‘, ‘dfvgdvdf‘, ‘鎵€鏈夌殑浜?);
INSERT INTO `user` VALUES (‘21‘, ‘admin‘, ‘123456‘, ‘1‘, ‘dsfds‘, ‘dsfds‘, ‘0‘);
INSERT INTO `user` VALUES (‘26‘, ‘lin‘, ‘123456‘, ‘0‘, ‘123‘, ‘123‘, ‘1‘);
INSERT INTO `user` VALUES (‘27‘, ‘shy‘, ‘123456‘, ‘0‘, ‘123‘, ‘123‘, ‘0‘);

原文地址:https://www.cnblogs.com/lqs11/p/11604332.html

时间: 2024-08-01 16:03:34

基于SSH的聊天室的相关文章

基于java的聊天室/群发控制台程序

java聊天室 1.概述 基于tcp协议的,由一个服务器和多个客户端组成,一个客户端发送消息,其他所有客户端都能接收到消息.在服务器端设置一个线程监听客户端发来的请求(消息),并且向所有的客户端响应.每个客户端也有一个线程用来接收服务器端的请求. 2.代码如下 public class Client { public static void main(String[] args) throws IOException { //创建套接字 Socket socket = new Socket("l

基于java网络聊天室---前言

很久之前做的一个东西,现在拿出来整理一下放在自己的博客中! 一. 设计目的 随着人互联网的发展,人和人之间的沟通方式也越来越便捷和多样化,在线聊天工具已经成为人们生活中够通不可缺少的部分,在学习完 java网络编程课程,如果能开发一款属于自己的聊天工具,和好友进行私密对话,则是一件令人兴奋的事.同时,安全可靠的TCP这两种 通信协议,是非常重要的内容,值得研究. 二. 设计内容 本聊天室程序基于C/S模式,聊天室共分为服务器端和客户端两部分,服务器端程序主要负责侦听客户端发来的消息,客户端需登陆

基于java网络聊天室--客户端

ChatClient.java 包含名为ChatClient的public类,其主要功能为定义客户端的界面,添加时间监听与事件处理.该类定义了Connect()与DisConnect()方法实现与客户端的连接与断开连接.当登陆到指定的服务器时,调用ClientReceive类实现消息收发,同时该类还定义了SendMessaga()方法来其他用户发送带有表情的消息或悄悄话. 1 /* 2 * To change this license header, choose License Headers

基于java网络聊天室--服务器端

服务器端: ChatServer.java 包含名为ChatServer的public类,其主要功能为定义服务器端的界面,添加时间监听与时间处理.调用ServerListen类来实现服务端用户上线与下线的监听,调用ServerListen来实现服务器端的消息收发. 1 package com.silianbo.server; 2 3 import com.silianbo.CaptureScreen; 4 import java.awt.BorderLayout; 5 import java.a

php+html5基于websocket实现聊天室的方法

<?php error_reporting(E_ALL); ob_implicit_flush(); $sk=new Sock('127.0.0.1',8000); $sk->run(); class Sock{ public $sockets; public $users; public $master; public function __construct($address, $port){ $this->master=$this->WebSocket($address, $

[已解决]基于WebSocket开发聊天室应用

WebSocket示例java的比较少,大部分是nodejs的,比较有名的是socket.io的chat, 借用下他的前端实现一套java的,后端基于nimbleio实现的WebSocket编写, 直接上代码: public void accept(Session session, ReadFuture future) throws Exception { if (future instanceof HttpReadFuture) { super.accept(session, future);

基于epoll的聊天室程序

epoll相对于poll和select这两个多路复用的I/O模型更加的高效.epoll的函数很简单,麻烦的地方在于水平触发和边沿触发. 用张图来说明下 ET(边沿)只是在状态反转时触发,比如从不可读到可读.而LT(水平)就是如果可读,就会一直触发.所以在使用ET的时候要做一些额外的处理,比如可读的,一直把缓冲区读完,进入不可读状态,下次来数据才会触发. 下面贴出代码,只是一个简单的练习的例子socketheads.h C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Linux下面基于TCP多线程聊天室(服务器)

接上篇博文,本文是服务器端的实现,主要实现的功能,就是现实客户端的连接,转发客户端发送的消息,以及客户端掉线提示等功能,同时可以在这这上面扩展和TCP以及线程相关的功能木块. tcpreceive.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #ifndef TCPRECEIVE_H #define TCPRECEIVE_H #define BUFFSIZE 2048 #define listen_max 5 int cond; int

Linux以下基于TCP多线程聊天室(server)

接上篇博文,本文是server端的实现,主要实现的功能,就是现实client的连接.转发client发送的消息.以及client掉线提示等功能,同一时候能够在这这上面扩展和TCP以及线程相关的功能木块. tcpreceive.h 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #ifndef TCPRECEIVE_H #define TCPRECEIVE_H #define BUFFSIZE 2048 #define listen_max 5