基于Jsp和MySql实现的网络聊天室

本文介绍了一个基于JSP+Servlet+JavaBean技术实现的MVC模式的Java聊天室系统。该系统采用JDBC连接MySQL数据库,并支持用户登录、注册及聊天等功能。登录成功后用户可以进入聊天室进行群聊或单聊。
源码及论文下载:
http://www.byamd.xyz/tag/java/

使用说明

一、技术

1、 使用JSP+Servlet+JavaBean实现MVC模式

2、 使用JDBC连接数据库

3、 使用MYSQL作为数据库
image-20210206155202684

二、用户登录

1、 页面如下图

img

图1 登录界面图

2、 操作步骤

输入正确的用户名与密码即可登录。如果没有用户需要先注册。

3、 功能说明

首先index.jsp界面里有一个login()函数,用于判断用户名与密码文本框是否填写,如果没有填写的话会弹出内容为“用户名/密码不能为空”的提示框。然后,填写完后点击“登录”将通过LoginServlet连接数据库判断用户名、密码是否正确,当用户名、密码正确时再通过Messages中的loginRoom函数进入聊天室界面。

当然,如果没有用户的话,需要点击旁边的超链接文字“还没注册?点我注册”跳转到注册页面(reg.jsp)进行注册。

三、用户注册

1、页面如下图:

img

图2 注册界面图

2、操作步骤

填写注册信息后点击“注册”按钮即可。

3、功能说明

首先reg.jsp界面里有一个reg()函数,用于保证所填信息不能为空以及两次密码输入

一致,如果没有填写/填写两次密码不一致的话会弹出内容为“用户名/密码不能为空”或者“两次密码输入不一致”的提示框。然后,填完后点击“注册”按钮将通过RegServlet连接数据库并且将数据录入。

四、聊天室

1、页面如下图:

img

图3 聊天室界面图

2、操作步骤

选择聊天对象、表情以及字体颜色再填写发送内容之后点击“发送”按钮即可聊天。当

聊天对象是所有人时即为群聊,制定某一人为聊天对象时即为单人聊天。账户过期的时候需要重新登录。点击“退出聊天室”按钮即可退出聊天室。

3、功能说明

首先main.jsp界面里包含safe.jsp,用于当用户信息过期时自动跳转到index.jsp界面并

弹出“您的账户已经过期,请重新登录!”的提示框。main.jsp界面里包含showOnline()函数,用于显示在线信息比如说用户刚进入聊天室时会出现“欢迎进入聊天室!”,还会显示当前在线的用户(通过UserListener监听是否有其他用户上线,更新在线人员列表)。main.jsp界面里包含showContent()函数,用于将页面重定向到显示聊天信息的页面。用户发送信息需要点击“发送”按钮(此前必须选择聊天对象、表情、字体颜色以及填写发送内容),通过Messages的sendMessages()函数将以上信息组合后显示于main.jsp。用户想要离开聊天室的时候点击“退出聊天室”按钮,清除当前用户信息并通过leave.jsp跳转到登录页面。

五、MYSQL

1、页面如下图

img

图4 tb_user表

2、功能说明

数据库主要与聊天室的登录、注册功能相关联。登录时需要连接数据库确认用户名、密码是否正确。注册时需要将信息录入数据库。

JASChatWeb 网页聊天室 1.0版--群聊+私聊+贴图 预览 http://ww1.sinaimg.cn/large/560ce489gw1dhm3ju5uxgj.jpg 经过多人 多浏览器测试,效果良好 实现了各种聊天常用功能 (1)群聊 (2)私聊 私聊窗口可拖动关闭 (3)在线用户列表 (4)修改文字颜色 (5)贴图功能 可设置图片大小, 并且可以预览 (6)清除聊天消息记录 (7)声音功能 并可手动关闭打开 (8)头像 (9)表情 另内里有桌面版源程序,服务器端口设置了1215 ------------------------------------------------------- 如何使用,部署 MySql: (1)用winrar打开 JASChatWeb.war文件, 在目录 \WEB-INF\classes\com\jas\www 下找到 jaschatweb.sql文件, 解压到C盘根目录 (2)用winrar打开 JASChatWeb.war文件, 在目录 \WEB-INF\classes\com\jas\www 下找到 DB.java文件 找到: conn = DriverManager.getConnection("jdbc:mysql://localhost:3307/mydata?user=scott&password=tiger"); 把3307的端口改成你的mysql开放端口(默认是3306) (3)MySql中用管理员权限运行 source c:\jaschatweb.sql (建表文件) Tomcat: (1)把压缩包里的 JASChatWeb.war文件 放置到 tomcat/webapps目录下 (2)打开tomcat/conf/web.xml文件 ,找到 <session-timeout>30</session-timeout> 一行, 把30改成 1-5的数(作用设置是session超时时间,用于扑捉用户直接关闭浏览器时的下 线状态) 完成以上两步后打开tomcat即可在浏览器运行 http://你的IP:tomcat设置端口/JASChatWeb/ 打开 -------------------------------------------------------- --------------------------------------------------------------- 技术实现: JSP+Servlet+mysql+jquery+ajax+flash(实现各浏览器播放声音) 主要文件介绍: 前端 (1)login.jsp--登陆页,设置session,还有更改了用户的登陆状态 (2)index.jsp--主要聊天页面 (3)jas.js -- jquery+控制声音flash插件+颜色选择器 (4)jas2.js -- 页面主要逻辑的JS, 各种前端功能实现 (5)tom.js -- 后期做的实现了聊天框拖曳的JS (6)jas.css -- 页面布局 后台 (1)DB.java --用于JDBC的链接 (2)Deal.java --群聊的收发逻辑 数据库交互 (3)Ptalk.java -- 私聊的各种逻辑(收发只在内存中,没使用数据库) (4)UserList.java -- 用户列表的逻辑 (5)SL.java ServetLogout.java -- 两个监听器,一个负责监听用户session超时,另一个用于服务器关闭时清除用户登陆状态 -----------------------------------------------------------------
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值