一个基于 Java Web 技术的健康管理系统,帮助用户记录和管理个人及家庭成员的健康数据,包括健康档案、运动记录、营养饮食等功能。
HMS (Health Management System) 是一个综合性的健康管理平台,旨在帮助用户科学管理健康生活。系统支持多用户、多家庭成员管理,提供健康档案记录、运动追踪、营养饮食分析等核心功能。
- 用户注册与登录
- 密码修改
- 会话管理
- 添加家庭成员
- 查看家庭成员列表
- 删除家庭成员
- 为家庭成员记录健康数据
- 基础健康信息记录(姓名、性别、年龄、身高、体重等)
- BMI 自动计算
- 身体成分数据记录
- 体检报告管理
- 健康建议生成
- 多种运动类型支持(跑步、骑行、游泳、健身等)
- 运动时长与热量记录
- 运动数据图表分析
- 运动趋势追踪
- 食物摄入记录
- 营养素自动分析(热量、蛋白质、脂肪、碳水化合物、维生素等)
- 营养摄入对比推荐值
- 餐次分类(早餐/午餐/晚餐/加餐)
- 饮食备注和膳食建议
- 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 或更高版本
- 克隆项目
git clone <repository-url>
cd HMS-
配置数据库
- 创建 MySQL 数据库
hms - 修改
src/main/resources/mybatis-config.xml中的数据库连接信息:
<property name="url" value="jdbc:mysql:///hms?useSSL=false&useServerPrepStmts=true"/> <property name="username" value="root"/> <property name="password" value="your_password"/>
- 执行数据库脚本创建表结构(需要根据实体类自行创建)
- 创建 MySQL 数据库
-
编译项目
mvn clean compile- 打包项目
mvn clean package-
部署运行
- 将生成的
target/HMS.war文件部署到 Tomcat 服务器 - 或者使用 Maven Tomcat 插件运行:
mvn tomcat7:run
- 将生成的
-
访问应用
- 浏览器访问:
http://localhost:8080/HMS
- 浏览器访问:
系统使用 MySQL 数据库,默认数据库名为 hms。主要数据表包括:
user- 用户表family_member- 家庭成员表body_composition- 身体成分表diet_log- 饮食记录表exercise_log- 运动记录表food_item- 食物信息表
注意:请根据项目中的实体类(POJO)和 Mapper XML 文件创建相应的数据库表结构。
配置文件位于 src/main/resources/mybatis-config.xml,主要配置项:
- 数据库连接信息
- 类型别名(自动扫描
com.pojo包) - 类型处理器
- Mapper 映射文件扫描
配置文件位于 src/main/webapp/WEB-INF/web.xml,设置欢迎页面为 home_page.jsp。
主要依赖项(详见 pom.xml):
javax.servlet-api:3.1.0- Servlet APImybatis: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 反馈。
健康+ 管理系统 - 健康从数据开始