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

📄 chatroom.jsp

📁 非常好的一本AJAVA书。很好!很好!很好!很好!很好!很好!
💻 JSP
字号:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@ page language="java"%>
<%@ page import="java.sql.*,ajax.db.DBUtils"%>
<%
    request.setCharacterEncoding("UTF-8");          //设置请求体字符编码格式为UTF-8
    out.clear();                                    //清空当前的输出内容(空格和换行符)

    String action = request.getParameter("action"); //获取操作类型
    int lastId = Integer.parseInt(request.getParameter("lastId"));  //获取客户最后读取发言id

    //处理发言请求
    if ("send".equals(action)) {
        String userName = request.getParameter("userName");         //获取用户名
        String msg = request.getParameter("msg");                   //获取用户发言信息

        String insertSql = "insert into chatmsg(username, chatmsg) values (?,?)";//定义保存发言的SQL语句
        Connection conn = null;                                     //声明Connection对象
        PreparedStatement pstmt = null;                             //声明PreparedStatement对象
        ResultSet rs = null;                                        //声明ResultSet对象
        try {
            conn = DBUtils.getConnection();                         //获取数据库连接
            pstmt = conn.prepareStatement(insertSql);               //根据sql创建PreparedStatement
            pstmt.setString(1, userName);                           //设置用户名
            pstmt.setString(2, msg);                                //设置发言
            pstmt.executeUpdate();                                  //写入数据库
        } catch (SQLException e) {
            System.out.println(e.toString());
        } finally {
            DBUtils.close(rs);                                      //关闭结果集
            DBUtils.close(pstmt);                                   //关闭PreparedStatement
            DBUtils.close(conn);                                    //关闭连接
        }
    }

    String sql = "select id, username, chatmsg from chatmsg where id > ? order by id asc";//定义查询数据库的SQL语句

    StringBuffer newMsg = new StringBuffer("{'msg':'");             //保存查询结果

    Connection conn = null;                     //声明Connection对象
    PreparedStatement pstmt = null;             //声明PreparedStatement对象
    ResultSet rs = null;                        //声明ResultSet对象
    try {
        conn = DBUtils.getConnection();         //获取数据库连接
        pstmt = conn.prepareStatement(sql);     //根据sql创建PreparedStatement
        pstmt.setInt(1, lastId);                //设置参数
        rs = pstmt.executeQuery();              //执行查询,返回结果集

        //遍历结果集,创建发言信息
        while (rs.next()) {
            lastId = rs.getInt("id");           //将id设置为lastId
            newMsg.append("<div class=\"oneMsg\"><span class=\"userName\">");
            newMsg.append(rs.getString("username"));
            newMsg.append("</span> 说:");
            newMsg.append(rs.getString("chatmsg"));
            newMsg.append("</div>");
        }
    } catch (SQLException e) {
        System.out.println(e.toString());
    } finally {
        DBUtils.close(rs);                      //关闭结果集
        DBUtils.close(pstmt);                   //关闭PreparedStatement
        DBUtils.close(conn);                    //关闭连接
    }
    newMsg.append("','lastId':");
    newMsg.append(lastId);                      //将最后的id值写入查询结果
    newMsg.append("}");
    out.print(newMsg.toString());               //输出查询结果
%>

⌨️ 快捷键说明

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