您的位置:首页 > 编程语言 > Java开发

基于servlet+jdbc编写的java版多人聊天室WEB版

2015-08-14 00:09 357 查看
这是自己最近在自学servlet的时候自己写的一个小系统,BUG很多,仅作学习使用。刚学java的web的朋友可以参考一下。

测试地址:火影聊天室

具体的程序打包文件见百度云:

2015/8/22 chatroom.zip

数据库:

数据库在之后有过一点小更改,具体的请参考entity下的实体类。

用户信息表   user_info
用户id  user_id
登录账号 user_name
用户昵称 nick_name
用户真实姓名 real_name
用户性别 user_sex
年龄 user_age
注册时间 create_time
更新信息时间 update_time
当前状态 status

use mysql_888;
select * from user_info where user_name='abc';
delete from user_info;
delete from message;
delete from friend;
create table user_info(
user_id int(8) auto_increment primary key,
user_name varchar(30) not null unique,
nick_name varchar(30) not null unique,
real_name varchar(30) default '',
user_sex char(1) not null default "F",
user_age int(3) default 20,
create_time timestamp NOT NULL default CURRENT_TIMESTAMP,
update_time timestamp NOT NULL default CURRENT_TIMESTAMP,
status char(1) default 'A'
);

select m.send_time,u.nick_name,m.message_text from message m,user_info u where m.send_user_id=4 and m.send_user_id=u.user_id and m.send_time between '2015-08-06 00:00:00'  and '2015-08-06 23:59:59' and m.message_text like '%%';

聊天记录表   messge

发送用户id send_user_id
接受用户id rece_user_id
信息内容 message_text
发送时间 send_time
状态 message_status

create table message(
send_user_id int(8) primary key,
rece_user_id int(8) not null,
message_text text,
send_time timestamp NOT NULL default CURRENT_TIMESTAMP,
message_status char(1)
);

背景音乐表   music_picture

id  mp_id
名称 mp_name
所在主机目录 mp_pwd
类型  mp_kind
加入时间 join_date
标签 mark
当前状态 mp_status

create table music_picture(
id int(8) auto_increment primary key,
mp_name varchar(30),
mp_pwd varchar(80),
mp_kind char(1),
join_date timestamp NOT NULL default CURRENT_TIMESTAMP,
mark varchar(100),
mp_status char(1)

);

select f.* from friend f,user_info u where f.friend_id=u.user_id and f.user_id=1;
select u.nick_name from friend f,user_info u where f.friend_id=u.user_id and f.user_id='1';
select * from friend;
insert into friend values(1,2,null,1,1,'A');
insert into friend values(1,4,null,1,1,'A');
alter table friend add(id int(8) auto_increment primary key);
alter table friend modify user_id int(8);
alter table friend modify primary key(user_id,friend_id);
delete from friend;
好友表      friend
主用户id user_id
好友id friend_id
成为好友的时间 first_time
聊天的记录数 chat_time
好友等级 firend_lv
当前状态 status
select * from friend;
drop table friend;
create table friend(
user_id int(8) not null,
friend_id int(8) not null,
first_time timestamp NOT NULL default CURRENT_TIMESTAMP,
chat_time int(10),
firend_lv char(1),
status char(1),
primary key(user_id,friend_id)
);


随时更新最新的改动。希望自学java的朋友可以共同交流。

=========================================================================================================

2015.8.11 V1.0

完成整体基础代码编写。

主要模块:登录、注册、聊天、在线会员、修改个人信息、聊天记录。

先采用最简单的jdbc+servlet编写,后期改用spring+struts2+mybatis架构。

==============================================================================================================

2015.8.13 V1.1

增加历史信息查询

增加历史信息条件查询 发送者id 发送开始时间 发送结束时间 关键字

增加登录页面、注册页面、个人信息更改页面对数据的异步验证 AJAX技术

===========================================================================================================

===========================================================================================================

2015.8.14 V1.2

增加定时刷新聊天框 AJAX局部刷新

存在问题 :美化聊天框。

美化聊天框:每3秒自动刷新一次,不会显示不同的聊天框。

本来想添加一个判断,没有新消息的时候不刷新聊天框,通过对比session里的message_id和最新的message_id来对比判断有没有新的聊天记录产生,

有的话就取最新产生的那几条附加到聊天框,但是由于我的聊天框是textarea,这个功能无法实现。

2015.8.15 V1.3

解决聊天框显示聊天记录是倒序的问题。

2015.8.16

增加其他会员信息的查看页面。

增加在线/离线会员的展示页面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: