当前位置: 首页 > news >正文

实验报告

Web应用技术》

课程设计报告

学 院:

管理学院

专 业:

香涛经管2301

学号姓名:

刘泽阳(202305404203)

指导教师:

日 期:

2026.7.7


  • 系统简介

1. 开发背景随着口腔医疗需求的增长,传统靠电话和前台排班的预约方式效率低、患者无法提前了解医生与科室信息。为此,本课程设计实现一个口腔诊所 Web 客户端,将科室介绍、医生展示、在线预约、患者评价整合到同一平台,作为《Web 应用技术》课程的综合实践。

2. 开发目的

掌握基于 SpringBoot + MyBatis 的三层架构 Web 开发方法;

实现一套完整的前后端增删改查(CRUD)功能;

理解 RESTful 接口设计、前后端分离与 IOC/DI 思想。

  1. 开发意义

系统既能作为诊所对外展示与预约的实用工具,也是验证课程所学(控制反转、依赖注入、MyBatis 持久层框架、Vue 前端框架)的完整载体,对理解企业级 Web 开发流程有直接帮助。

  • 系统分析

2.1 现状及存在的不足

现状:多数小型诊所仍依赖电话预约,患者无法自助查询医生排班与专长;

不足:信息不透明、预约冲突靠人工协调、患者就诊后缺乏反馈渠道、管理端数据分散。

2.2功能需求

面向两类用户:

普通患者(前端展示页 index.html):浏览科室与医生、在线提交预约、查看患者评价;

管理员(后台管理页 admin.html / reviews.html):维护医生信息(增删改查)、处理预约(确认/完成/取消/删除)、管理患者评价(查询/新增/修改/删除)。

2.3 流程需求

患者预约流程:选科室 → 选医生 → 填信息 → 提交 → 管理员确认 → 完成/取消;

评价流程:患者提交评价 → 后台可查询、修改或删除不当内容。

2.4其他

非功能性需求:界面响应式、操作有二次确认、统一 JSON 返回格式({code, data, msg})。

三、系统设计

3.1 系统设计的目标

分层清晰:表现层 / 业务层 / 数据访问层解耦;

接口规范:RESTful 风格,统一返回结构;

易维护:注解方式开发 MyBatis,减少 XML 配置。

3.2 系统功能模块设计

模块

功能

对应页面 / 接口

科室管理

查询科室列表

ClinicController /api/departments

医生管理

医生增删改查

ClinicController /api/doctors

预约管理

预约增删改查、状态流转

ClinicController /api/appointments

评价管理

评价增删改查、按医生筛选

ReviewController /api/reviews

前端展示

首页/科室/医生/预约表单

index.html

后台管理

侧边栏导航 + 数据概览

admin.html、reviews.html

3.3 系统主要工作流程设计

以「新增评价」为例:

3.4 系统主要数据流程设计

3.5 数据库设计

数据库名:mybatis,字符集 utf8mb4。核心四张表:

(1)department 科室表

字段

类型

说明

id

int PK 自增

科室ID

name

varchar(20)

科室名称

description

varchar(200)

科室描述

create_time / update_time

datetime

创建/更新时间

(2)doctor 医生表

字段

类型

说明

id

int PK 自增

医生ID

name

varchar(10)

姓名

gender

tinyint

1男 2女

title

varchar(20)

职称

dept_id

int

所属科室ID(外键)

image

varchar(100)

头像

phone

varchar(11)

电话

description

varchar(300)

简介

(3)appointment 预约表

字段

类型

说明

id

int PK 自增

预约ID

patient_name

varchar(10)

患者姓名

patient_phone

varchar(11)

患者电话

doctor_id

int

预约医生ID

appointment_date

date

预约日期

status

tinyint

0待确认 1已确认 2已完成 3已取消

remark

varchar(200)

备注

(4)review 患者评价表

字段

类型

说明

id

int PK 自增

评价ID

doctor_id

int

被评价医生ID

patient_name

varchar(10)

患者姓名

rating

tinyint

评分 1-5

content

varchar(500)

评价内容

create_time

datetime

创建时间

建表与测试数据见 dental_clinic.sql、review.sql。

3.6 其他设计(编码设计等)

状态编码:预约 status(0待确认/1已确认/2已完成/3已取消)、性别 gender(1男/2女);

接口规范:查询 GET、新增 POST、修改 PUT、删除 DELETE,资源路径统一 /api/xxx;

返回结构:统一 {code:200, data:..., msg:...};

主键策略:所有表 id 均 AUTO_INCREMENT;

时间字段:create_time/update_time 由数据库 NOW() 或后端写入。

  • 系统实现
  • 系统部署说明

1. 环境配置

JD 1.8、MySQL 8.0、Maven(项目已含 Wrapper,无需单独安装);

VSCod 安装插件:Extension Pack for Java、Spring Boot Extension Pack。

2. 数据库初始化

3. 数据源配置(application.properties)

4. 启动与访问

VSCode 打开 mybatis-demo 文件夹,等待 Maven 依赖下载;

运行 MybatisDemoApplication.java 的 main 方法;

浏览器访问:

前端展示:http://localhost:8080/index.html

后台管理:http://localhost:8080/admin.html

评价管理:http://localhost:8080/reviews.html

  • 用户使用说明

患者端(index.html

首页查看科室介绍与医生团队;

点击「在线预约」,选科室→选医生→填姓名电话→选日期→提交;

在评价区查看其他患者评价。

管理员端(admin.html/reviews.html

侧切换「数据概览 / 医生管理 / 预约管理」;

医生管理:点「新增医生」填表保存,行内「编辑/删除」维护数据;

预约管理:按状态筛选,点「确认/完成/取消」流转,危险操作有二次确认;

评价管理:按医生筛选评价,可新增、编辑星级评分或删除不当评价。

  • 课程设计小结

本系统的评价 系统完成了口腔诊所场景下科室、医生、预约、评价四类核心数据的完整 CRUD,采用标准三层架构与 RESTful 接口,前端基于 Element UI 实现友好交互。功能闭环、代码分层清晰,达到了课程设计预期目标。

课程设计的收获与不足

收获:真正理解了 IOC/DI 如何解耦对象创建、MyBatis 注解开发如何简化持久层、前后端分离与 RESTful 的设计思想;能独立从建表到页面跑通一个 Web 应用。

不足:前端仅用 CDN 引入 Vue/Element UI,未做工程化打包;图片上传与回显未完整实现;权限控制(管理员登录)尚未加入,后续可补充。

http://www.jsqmd.com/news/1177704/

相关文章:

  • AI编程智能体在结构软件开发中的实践应用与优化策略
  • 字符串输入校验:只允许中英文数字与基础符号
  • 模板驱动型文档自动化:让非技术人员用规则代替编码
  • python神经网络编程入门(八)——全连接网络的“死穴“—— 为什么图像任务必须换思路,CNN?
  • 突破光学极限!新型“拼接”超透镜打破高NA与大视场魔咒
  • 真力时官方服务项目及价格查询|完整地址与24小时售后热线权威信息公告(2026年7月最新) - 亨得利官方服务中心
  • Winhance:开源免费的Windows系统优化工具使用指南
  • C++单元测试实战:gtest与gmock环境搭建、核心用法与工程实践
  • 锂电池组均衡充电技术及BQ25887应用解析
  • 豆包2.0实测:设计师如何用多模态语义理解提效降本
  • 网络工程毕业设计易上手选题汇总
  • 突破网盘限速:网盘直链下载助手的智能加速革新
  • Sqribble:浏览器里的文档操作系统与模板自动化原理
  • 直播流处理技术实战:从协议解析到FFmpeg高效应用
  • “Waiting to start…”卡死超15分钟?独家逆向工程MJ队列调度算法,提供3种绕过排队的紧急通道配置
  • AI Agent项目实战指南:从环境配置到生产部署
  • MAX77654与MKV46F电源管理方案在工业物联网中的应用
  • 计科毕业设计创新的方向怎么选
  • Git 管理 Word 文档 3 大痛点分析:存储膨胀、格式丢失与协作困境
  • 万国官方售后服务中心电话与详细地址实地考察报告_多信源验证(2026年7月最新) - 万国中国官方服务中心
  • 医疗健康辅助系统开发:低血压监测与智能管理技术实践
  • 号称一键把 AIGC 率降到个位数的工具靠谱吗?实测给你看
  • 1. 配置环境、创建导航栏
  • 启动文件:0x08000000第一个字是栈顶,第二个字是复位入口
  • 【ChatGPT FAQ自动生成实战指南】:20年NLP专家亲授5大核心算法与3类企业落地陷阱
  • 方案能不能进入下一阶段,先看这 6 类证据
  • 揭秘Goo Engine:Blender二次元渲染的革命性定制版本
  • 电脑上有没有好用的音频格式转换器?盘点10款好用的音频转换工具
  • SpringBoot 整合 MyBatis-Plus 代码生成器——告别手写重复代码
  • 3个秘密武器:如何用ViGEmBus解锁Windows游戏控制器的无限可能