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

📄 datavalue.jsp

📁 网上聊天 很好很强大
💻 JSP
字号:
<html>
<%@include file="chkSession.jsp"%>
<%@ page language="java" import="java.sql.*" pageEncoding="GB2312"%>
<head>
 <script language="javascript">
 //javascript函数,每融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
 {
 //从聊天信息数据库中选取出最近的15条聊天信息
 //这里要注意查询语句的写法
 //select top 30 ID from msgInfo where chatRoom=? order by chatTime DESC这句查询实际
     //上已经查询出最新的15条信息
 //但是这样查询出来的信息是按时间倒顺排序的,最新的信息在最上面,而显示的时候要
     //把最新信息显示在聊天室下面,所以要再做次查询排序
 String sql = "select * from msgInfo where ID in(select top 15 ID from msgInfo where chatRoom=? Order by chatTime DESC) order by chatTime";
  String userName=session.getAttribute("_USER").toString();
  PreparedStatement 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.equals("system notice"))
      msgString=msgString+"<div>system notice:"+msgContent+"</div>";
     //判断是否悄悄话
    else if(secret==0)
    {
     //判断是否使用聊天表情
      if(action==null||action.equals("no"))
        msgString=msgString+"<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.closeDB();
 }
%>
<script language="javascript">
  //注意这里的javascript,在show.jsp中定义了一个id为loadContent的span
  //这里就是在id为loadContent的地方显示msgString,也就是显示聊天信息
  parent.loadContent.innerHTML="<%=msgString%>";
  parent.location.hash="position";
</script>
</body>
</html>

⌨️ 快捷键说明

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