JSP在线交流系统编程实战

三葉Leaves Author

CustomerDAO.java

initConnection方法

  • 通过厂商驱动或者JDBC:ODBC方式连接数据库,其得到的Connection对象后续可用来向数据库发送sql语句

getCustomerByAccount(String account)

向数据库注入sql语句

  • 先用Connection的prepareStatement(sql语句字符串)方法得到一个PreparedStatement对象,这是为了后续往里面传参
  • 用PreparedStatement对象的setString(index,String)方法传参
  • 用PreparedStatement对象的executeQuery()方法得到ResultSet对象
  • ResultSet对象的next()方法可以在结果集里移动指针到下一行,然后就能通过getString方法得到结果集表的前一行数据

Customer.java

  • 这是VO层,封装了用户的包括姓名账号在内的各种private信息,提供了getter and setter方法

loginForm.jsp

用户登录表单:

  • 提供输入框供用户输入账号和密码以及提交按钮

表单提交:

  • 用户提交表单后,数据会发送到 loginAction.jsp 进行处理。

背景和样式:

  • 设置了背景图片和页面样式,以提升用户体验。

loginAction.jsp

通过接收 loginForm.jsp 提交的数据,验证用户账号和密码的正确性,并进行相应的处理。

  • 从表单获取用户输入的账号和密码。
  • 通过 CustomerDAO 查询数据库验证用户信息。
  • 成功登录后,将用户信息保存在会话中,并跳转到聊天页面;失败则返回登录页面。

chatForm.jsp

chatForm.jsp 是用户成功登录后进入的聊天页面,用户可以在此页面发送消息,并查看在线用户和聊天记录。

  • 消息发送表单:提供输入框和发送按钮供用户输入消息内容并提交。
  • 会话管理:从会话中获取当前用户信息。
  • 嵌入iframe:用于动态刷新和显示聊天消息。

chatAction.jsp

chatAction.jsp 处理用户在聊天页面发送的消息,将消息添加到消息列表中,并重定向回聊天页面。

  • 从会话中获取当前用户信息。
  • 获取用户输入的消息内容。
  • 将消息添加到应用范围内的 msgs 列表中。
  • 重定向回 chatForm.jsp

msgs.jsp

msgs.jsp 显示当前的消息记录和在线用户列表。页面每10秒刷新一次以显示最新消息。

  • 从应用范围中获取消息列表和在线用户列表。
  • 遍历并显示消息和在线用户信息。
  • 设置页面每10秒刷新一次。

logoutAction.jsp

logoutAction.jsp 处理用户退出逻辑,从在线用户列表中移除当前用户,并将用户的会话失效。

  • 从会话中获取当前用户信息。
  • 将当前用户从在线用户列表中移除。
  • 添加用户退出消息到消息列表。
  • 使会话失效并重定向到登录页面。
  • 标题: JSP在线交流系统编程实战
  • 作者: 三葉Leaves
  • 创建于 : 2024-11-07 00:00:00
  • 更新于 : 2024-11-21 16:56:20
  • 链接: https://leavesblog.netlify.app/329c7127383d/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论