Skip to content

zitagiuder/USST-JavaWeb-zy4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web Chatroom

这是一个基于 Java Web 技术栈实现的简易在线聊天室应用。支持多用户实时聊天、私聊功能以及在线用户列表展示。

功能特性

  • 用户登录/登出:用户输入用户名即可登录,支持检测浏览器关闭自动登出(基于 Session 超时或显式注销)。
  • 实时聊天
    • 群聊:发送消息给所有在线用户(All)。
    • 私聊:选择特定在线用户发送私密消息。
  • 在线用户列表:实时显示当前在线的用户,并标记当前用户。
  • 系统消息:当用户加入或离开聊天室时,系统会自动广播通知。
  • 消息记录:保存最近的聊天记录(内存中)。

技术栈

  • 后端
    • Java 21
    • Jakarta Servlet 6.0
    • JSP / JSTL
    • Gson (用于 JSON 数据交互)
    • Maven (项目构建管理)
  • 前端
    • HTML5 / CSS3
    • JavaScript (原生 ES6+)
    • AJAX (Fetch API) 用于异步消息更新

项目结构

src/main/java/com/example/web_zy4/
├── controller/      # Servlet 控制层,处理 HTTP 请求
│   ├── ChatroomServlet.java    # 聊天室主页路由
│   ├── ChatUpdateServlet.java  # 获取消息和在线用户的 API
│   ├── LoginServlet.java       # 处理登录
│   ├── LogoutServlet.java      # 处理登出
│   └── SendMessageServlet.java # 处理消息发送
├── entity/          # 实体类
│   ├── Message.java            # 消息实体
│   └── User.java               # 用户实体
├── filter/          # 过滤器
│   └── LoginFilter.java        # 登录权限验证
├── listener/        # 监听器
│   └── OnlineUserListener.java # Session 监听
└── service/         # 业务逻辑层
    ├── MessageService.java     # 消息管理业务
    └── UserService.java        # 用户管理业务

快速开始

环境要求

  • JDK 21+
  • Maven 3.6+
  • 支持 Jakarta EE 10 的 Web 服务器 (如 Tomcat 10.1+, Jetty 12+)

部署步骤

  1. 克隆项目

    git clone https://github.com/zitagiuder/USST-JavaWeb-zy4.git
    cd web_zy4
  2. 构建项目 使用 Maven 打包 WAR 文件:

    mvn clean package
  3. 运行 将生成的 target/web_zy4-2.0-SNAPSHOT.war 部署到 Tomcat 的 webapps 目录下,启动 Tomcat。

  4. 访问 打开浏览器访问:http://localhost:8080/web_zy4-2.0-SNAPSHOT/

使用说明

  1. 在登录页面输入用户名进入聊天室。
  2. 聊天室左侧显示在线用户列表。
  3. 在底部输入框输入消息,下拉菜单选择发送对象("All" 为群发,选择特定用户为私聊)。
  4. 点击发送或按回车键发送消息。
  5. 点击右上角“退出”按钮离开聊天室。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors