Skip to content

JoeXyx/HMS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HMS - 健康管理系统

一个基于 Java Web 技术的健康管理系统,帮助用户记录和管理个人及家庭成员的健康数据,包括健康档案、运动记录、营养饮食等功能。

📋 项目简介

HMS (Health Management System) 是一个综合性的健康管理平台,旨在帮助用户科学管理健康生活。系统支持多用户、多家庭成员管理,提供健康档案记录、运动追踪、营养饮食分析等核心功能。

✨ 主要功能

1. 用户管理

  • 用户注册与登录
  • 密码修改
  • 会话管理

2. 家庭成员管理

  • 添加家庭成员
  • 查看家庭成员列表
  • 删除家庭成员
  • 为家庭成员记录健康数据

3. 健康档案

  • 基础健康信息记录(姓名、性别、年龄、身高、体重等)
  • BMI 自动计算
  • 身体成分数据记录
  • 体检报告管理
  • 健康建议生成

4. 运动记录

  • 多种运动类型支持(跑步、骑行、游泳、健身等)
  • 运动时长与热量记录
  • 运动数据图表分析
  • 运动趋势追踪

5. 营养饮食

  • 食物摄入记录
  • 营养素自动分析(热量、蛋白质、脂肪、碳水化合物、维生素等)
  • 营养摄入对比推荐值
  • 餐次分类(早餐/午餐/晚餐/加餐)
  • 饮食备注和膳食建议

🛠️ 技术栈

后端技术

  • Java Servlet - Web 应用开发
  • MyBatis 3.5.16 - 持久层框架
  • MySQL 8.0.33 - 关系型数据库
  • Maven - 项目构建工具

前端技术

  • JSP - 动态页面技术
  • JSTL 1.2 - JSP 标准标签库
  • CSS - 样式设计

工具库

  • FastJSON 1.2.83 - JSON 处理
  • Jackson 2.9.9 - JSON 序列化/反序列化
  • Gson 2.8.5 - JSON 解析
  • Commons IO 2.14.0 - IO 工具类

服务器

  • Apache Tomcat - Web 应用服务器

📁 项目结构

HMS/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/
│   │   │       ├── handler/          # 类型处理器
│   │   │       │   └── MealTypeHandler.java
│   │   │       ├── mapper/           # MyBatis 映射接口
│   │   │       │   ├── BodyCompositionMapper.java
│   │   │       │   ├── DietLogMapper.java
│   │   │       │   ├── ExerciseLogMapper.java
│   │   │       │   ├── FamilyMemberMapper.java
│   │   │       │   ├── FoodItemMapper.java
│   │   │       │   └── UserMapper.java
│   │   │       ├── pojo/             # 实体类
│   │   │       │   ├── User.java
│   │   │       │   ├── FamilyMember.java
│   │   │       │   ├── BodyComposition.java
│   │   │       │   ├── DietLog.java
│   │   │       │   ├── ExerciseLog.java
│   │   │       │   ├── FoodItem.java
│   │   │       │   └── ...
│   │   │       ├── service/          # 业务逻辑层
│   │   │       │   ├── UserService.java
│   │   │       │   ├── FamilyMemberService.java
│   │   │       │   ├── BodyCompositionService.java
│   │   │       │   ├── DietLogService.java
│   │   │       │   ├── ExerciseLogService.java
│   │   │       │   └── FoodItemService.java
│   │   │       ├── util/             # 工具类
│   │   │       │   └── SqlSessionFactoryUtils.java
│   │   │       └── web/              # Servlet 控制器
│   │   │           ├── loginServlet.java
│   │   │           ├── registerServlet.java
│   │   │           ├── dietServlet.java
│   │   │           ├── addSportRecordServlet.java
│   │   │           └── ...
│   │   ├── resources/
│   │   │   ├── com/
│   │   │   │   └── mapper/           # MyBatis XML 映射文件
│   │   │   │       ├── UserMapper.xml
│   │   │   │       ├── FamilyMemberMapper.xml
│   │   │   │       └── ...
│   │   │   └── mybatis-config.xml    # MyBatis 配置文件
│   │   └── webapp/
│   │       ├── css/                  # 样式文件
│   │       ├── *.jsp                 # JSP 页面
│   │       └── WEB-INF/
│   │           └── web.xml           # Web 应用配置
├── pom.xml                           # Maven 配置文件
└── README.md                         # 项目说明文档

🚀 快速开始

环境要求

  • JDK 8 或更高版本
  • Maven 3.6 或更高版本
  • MySQL 8.0 或更高版本
  • Apache Tomcat 7 或更高版本

安装步骤

  1. 克隆项目
git clone <repository-url>
cd HMS
  1. 配置数据库

    • 创建 MySQL 数据库 hms
    • 修改 src/main/resources/mybatis-config.xml 中的数据库连接信息:
    <property name="url" value="jdbc:mysql:///hms?useSSL=false&amp;useServerPrepStmts=true"/>
    <property name="username" value="root"/>
    <property name="password" value="your_password"/>
    • 执行数据库脚本创建表结构(需要根据实体类自行创建)
  2. 编译项目

mvn clean compile
  1. 打包项目
mvn clean package
  1. 部署运行

    • 将生成的 target/HMS.war 文件部署到 Tomcat 服务器
    • 或者使用 Maven Tomcat 插件运行:
    mvn tomcat7:run
  2. 访问应用

    • 浏览器访问:http://localhost:8080/HMS

📝 数据库配置

系统使用 MySQL 数据库,默认数据库名为 hms。主要数据表包括:

  • user - 用户表
  • family_member - 家庭成员表
  • body_composition - 身体成分表
  • diet_log - 饮食记录表
  • exercise_log - 运动记录表
  • food_item - 食物信息表

注意:请根据项目中的实体类(POJO)和 Mapper XML 文件创建相应的数据库表结构。

🔧 配置说明

MyBatis 配置

配置文件位于 src/main/resources/mybatis-config.xml,主要配置项:

  • 数据库连接信息
  • 类型别名(自动扫描 com.pojo 包)
  • 类型处理器
  • Mapper 映射文件扫描

Web 配置

配置文件位于 src/main/webapp/WEB-INF/web.xml,设置欢迎页面为 home_page.jsp

📦 依赖说明

主要依赖项(详见 pom.xml):

  • javax.servlet-api:3.1.0 - Servlet API
  • mybatis:3.5.16 - MyBatis 框架
  • mysql-connector-java:8.0.33 - MySQL 驱动
  • jstl:1.2 - JSTL 标签库
  • fastjson:1.2.83 - JSON 处理
  • jackson-databind:2.9.9 - JSON 序列化
  • gson:2.8.5 - JSON 解析
  • commons-io:2.14.0 - IO 工具

🎯 核心功能模块

用户认证模块

  • /HMS/loginServlet - 用户登录
  • /HMS/registerServlet - 用户注册
  • /HMS/logoutServlet - 用户退出
  • /HMS/updatePasswordServlet - 修改密码

家庭成员模块

  • /HMS/selectFamilyMembersByUserIdServlet - 查询家庭成员
  • /HMS/addFamilyMemberCompositionServlet - 添加家庭成员健康数据
  • /HMS/deleteFamilyMemberServlet - 删除家庭成员

饮食记录模块

  • /HMS/dietServlet - 饮食记录管理
  • /HMS/addFoodServlet - 添加食物
  • /HMS/getFoodItemsServlet - 获取食物列表

运动记录模块

  • /HMS/addSportRecordServlet - 添加运动记录
  • /HMS/getSportRecordsServlet - 获取运动记录

📄 许可证

本项目为学习项目,仅供学习和参考使用。

👥 贡献

欢迎提交 Issue 和 Pull Request 来帮助改进项目。

📞 联系方式

如有问题或建议,请通过 Issue 反馈。


健康+ 管理系统 - 健康从数据开始

About

Health Management System , but A terrible project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published