⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datavalue.jsp

📁 jsp +javabean +sql 2000的在线聊天系统 ,实现私聊、群聊、管理员T人等功能
💻 JSP
字号:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@include file="chkSession.jsp"%>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript"
//JC函数,每2000毫秒(2秒)刷新一次页面
	function GetData()
	{
		var timeoutid=setTimeout("window.location.reload()",2000)
    }
    </script>
    
</head>
<body onload="GetData()">
<jsp:useBean id="conn"class"net.chat.BaseConn" scope="page"/>
<%
//在这里定义了一个msgString,它保存页面显示的所有聊天信息,最后在show.jsp中显示这个字符串
String msgString="";
try
{
//从聊天信息数据库中选取最近的30天聊天信息 这里要注意查询语句的写法
//select top 30ID from msgInfo where chatRoom=?order by chatTime DESC 这句查询实际上已经查询出最新30条信息
//但是这样查询出来的信息是按时间倒顺排序的,最新的信息排在最上面,而显示的时候要把最新的信息显示在聊天室下面。所以要再次做次查询排序
String sql="select *from msgInfo where ID in(select top 30 ID from msgInfo where 
		chatRoom=?Order by chatTime DESC )order by chatTime ";
String userName=session.getAttribute("_USER").toString();
PreparedStatment ps=conn.preparedStatement(sql);
ps.setString(1,session.getAttribute("_CHAT_ROOM").toString());
ResultSet rs=conn.executeQuery();
//while循环里的程序用于实现控制聊天信息显示格式的功能
while(rs.next())
{
	String msgFrom=rs.getString("msgFrom");  //获取聊天信息的发送者
	String msgTo=rs.getString("msgTo");
	String action=rs.getString("chatAction");
	String msgContent=rs.getString("msgContent");
	int secret=rs.getInt("secret");
	//判断是否是系统公告
	if(msgFrom.equal("系统公告"))
		msgString=msgString+<div>系统公告:"+msgContent+"</div>";
		//判断是否是悄悄话
		else if(secret==0)
		{
		//判读是否使用聊天表情
		if(action==null||action.equals("no"))
		   msgString=msgSting+"<div><font color=blue>"+msgFrom+"</font>对
		   <font color=blue>"+msgTo+"</font></span>说:"+msgContent+"</div>";
		else
			msgString=msgString+"<div><font color=blue>"
			+msgFrom+"</font>"+action.replaceAll("B",<font color=blue>"
			+msgTo+"</font>")+msgContent+"</div>";
		}
		//如果是悄悄话,则只在发送者和接收者的页面中显示
		else if(msgFrom.equals(userName)||msgTo.equals(userName))
		{
			if(action==null||action.equals("no");
				msgString=msgString+"<div><font color=red>[悄悄话]</font><font color=blue>"
				+msgFrom+"</font>对<font color=blue>"+msgTo+"</font></span>说: "
				+msgContent+"</div>";
		else
			msgString=msgString+"<div><font color=red>[悄悄话]</font><font color=blue>"
			+msgFrom+"</font>+action.replaceAll("B","<font color=blue>"
			+msgTo+"</font>")+msgContent+"</div>";
		  }
		}
	}catch(Exception ex)
	{
		ex.printStackTrace();
		out.println("系统维护");
	}finally
	{
		conn.close();
	}
	%>
	<script language="javascript">
	parent.loadConten.innerHTML="<%=msgString%>";
    parent.location.hash="position";
    </script>	   
	

</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -