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

来源:互联网 发布:昂立网络教育 编辑:程序博客网 时间:2024/06/05 09:33

这是自己最近在自学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当前状态 statususe 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_statuscreate 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_pictureid  mp_id名称 mp_name所在主机目录 mp_pwd类型  mp_kind加入时间 join_date标签 mark当前状态 mp_statuscreate 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当前状态 statusselect * 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


增加其他会员信息的查看页面。
增加在线/离线会员的展示页面。

0 0
原创粉丝点击