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

No packages published