package net.chat;
import java.sql.*;
import java.text.SimpleDateFormat;
public class ChatRoom {
/**
* 判断用户是否在聊天室被踢出聊天室,BaseConn的构造函数,完成数据库的初始化操作 * 即连接数据库操作
* */
public boolean denyUser(String userName,String chatRoom)
throws SQLException,ClassNotFoundException
{
BaseConn conn =null;
try
{
conn = new BaseConn();//创建一个预先处理的SQL语句
String sql = "select * from onlineUser where nickName=? and chatRoom=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1,userName);
ps.setString(2,chatRoom);
ResultSet rs = conn.executeQuery();
if(rs.next())
{
return false;
}
else
return true;
}catch(SQLException ex)
{
ex.printStackTrace();
throw ex;
}catch(ClassNotFoundException ex)
{
ex.printStackTrace();
throw ex;
}
finally
{
conn.closeDB();
}
}
/**
* 用户离开聊天室的时候,将用户从在线人员表中删除
* */
public void logout(String userName)
throws SQLException,ClassNotFoundException
{
BaseConn conn=null;
try
{
conn=new BaseConn();
String sql = "delete from onlineUser where nickName=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1,userName);
conn.executeUpdate();
}catch(SQLException ex)
{
ex.printStackTrace();
throw ex;
}catch(ClassNotFoundException ex)
{
ex.printStackTrace();
throw ex;
}finally
{
conn.closeDB();
}
}
/**
* 换房间,将用户从原来的聊天室在线用户表中删除
* */
public void changeRoom(String userName,String chatRoom)
throws SQLException,ClassNotFoundException
{
BaseConn conn=null;
try
{
conn=new BaseConn();
String sql = "delete from onlineUser where nickName=? and chatRoom=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1,userName);
//将SQL语名的第一个参数(字符串中的问号)设为变量userName
ps.setString(2,chatRoom);
conn.executeUpdate();
}catch(SQLException ex)
{
ex.printStackTrace();
throw ex;
}catch(ClassNotFoundException ex)
{
ex.printStackTrace();
throw ex;
}finally
{
conn.closeDB();
}
}
/**
* 检查用户是不是管理员,如果是管理员返回true,如果不是返回false;
* */
public boolean checkAdmin(String userName) throws SQLException,ClassNotFoundException
{
BaseConn conn = null;
try
{
conn = new BaseConn();
String sql="select role from userInfo where nickName=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1,userName);
ResultSet rs = conn.executeQuery();
if(rs.next())
{
if(rs.getInt("role")==1)
return true;
else
return false;
}
else
return false;
}catch(SQLException ex)
{
ex.printStackTrace();
throw ex;
}catch(ClassNotFoundException ex)
{
ex.printStackTrace();
throw ex;
}finally
{
conn.closeDB();
}
}
/**
* 将用户踢出聊天室
* */
public void kickUser(String userName,String chatRoom)
throws SQLException ,ClassNotFoundException
{
BaseConn conn = null;
try
{
conn = new BaseConn();
String sql="delete from onlineUser where nickName=? and chatRoom = ?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1,userName);
ps.setString(2,chatRoom);
conn.executeUpdate();
SimpleDateFormat cal = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = cal.format(new java.util.Date());
//在聊天信息表中添加一条踢人的系统公告
sql = "insert into msgInfo(chatRoom,msgFrom,msgTo,chatTime,msgContent) values(?,?,?,?,?)";
ps = conn.preparedStatement(sql);
ps.setString(1,chatRoom);
ps.setString(2,"system notice");
ps.setString(3,"all people");
ps.setString(4,time);
ps.setString(5,"<font color=red>"+userName+"</font>is kicked out of chatroom by admin !!!");
conn.executeUpdate();
}catch(SQLException ex)
{
ex.printStackTrace();
throw ex;
}catch(ClassNotFoundException ex)
{
ex.printStackTrace();
throw ex;
}finally
{
conn.closeDB();
}
}
/**
* 删除用户
* */
public void deleteUser(String userName)
throws SQLException,ClassNotFoundException
{
BaseConn conn = null;
try
{
conn = new BaseConn();
String sql="delete from onlineUser where nickName=?";
PreparedStatement ps = conn.preparedStatement(sql);
ps.setString(1,userName);
conn.executeUpdate();
sql="delete from userInfo where nickName=?";
ps=conn.preparedStatement(sql);
ps.setString(1,userName);
conn.executeUpdate();
}catch(SQLException ex)
{
ex.printStackTrace();
throw ex;
}catch(ClassNotFoundException ex)
{
ex.printStackTrace();
throw ex;
}finally
{
conn.closeDB();
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
程序.rar (42个子文件)
程序
Data
chatroom_Log.LDF 1024KB
chatroom_Data.MDF 1024KB
WebRoot
login.jsp 3KB
chatRoom.jsp 853B
WEB-INF
web.xml 286B
lib
sqljdbc.jar 227KB
msbase.jar 278KB
unittest.jar 60KB
mssqlserver.jar 63KB
junit.jar 118KB
mm.mysql-2.0.11-bin.jar 118KB
msutil.jar 58KB
classes
net
chat
CheckLogin.class 2KB
BaseConn.class 3KB
ChatRoom.class 3KB
ChatRoomList.class 2KB
Message.class 2KB
CheckLogin.java 3KB
ChatRoom.java 5KB
ChatRoomList.java 3KB
BaseConn.java 3KB
Message.java 2KB
chatRoomList.jsp 2KB
changeRoom.jsp 1KB
META-INF
MANIFEST.MF 39B
chat.css 531B
show.jsp 816B
kick.jsp 695B
input.jsp 6KB
chklogin.jsp 2KB
images
4.jpg 27KB
2.jpg 73KB
0.gif 2KB
1.jpg 71KB
sendMsg.jsp 2KB
chkSession.jsp 838B
userList.jsp 2KB
logout.jsp 847B
delete.jsp 663B
redirectChatRoom.jsp 977B
dataValue.jsp 3KB
advanced.jsp 5KB
共 42 条
- 1
资源评论
- wjhjsj2014-04-06服务器端运行总是出现异常,调试了半天还没调试出来,有毕业论文。
- b3273664672014-01-12不错,我调试可以
lyong689
- 粉丝: 1
- 资源: 12
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- KIMI大模型浏览器插件
- b61fa64a08a02de0e0d49d53bb84c444.amr
- 5ffd9193f6aec31bbf16030a46680dc7.avi
- DA14531-蓝牙传感器连接传输数据固件
- logisim实验MIPS运算器(ALU)设计(内含4位先行进位74182、四位快速加法器、32位快速加法器)-Educoder_logisim里面连线,实现4位先行进位74182和4位快速加法器-C
- 高等数学第一章第二节数列的极限
- Python 版冒泡排序算法源代码
- 基于YOLOv8的教室人脸识别 附源码 预训练模型
- 基于JAVA实现的用于全局监控网络请求错误并记录日志的library
- tensorflow-gpu-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功