网站首页 > 技术文章 正文
项目需求
- 使用前端、数据库、JavaWeb 等技术并采用 MVC 设计模式实现学生信息管理系统,要求使用管理员账号密码登录后进行学员信息增加、学员信息修改、学员信息删除、学员信息查找、学员信息显示功能。
- 其中学生信息有:学号、姓名、性别、出生日期、邮箱、备注。
- 要求使用数据库连接池、分页显示等技术,并且还需要保证程序的可扩展性和可维护性。
项目运行
- 运行 student_data.sql 的创建数据库 renda01 语句,以及创建数据表 user 和 student 的 sql 语句。
- 使用 Intellij Idea 打开 java_web_project 项目,修改 resources/druid.properties 文件下与数据库相关的配置,增加项目依赖库文件夹为 backend-system/web/WEB-INF/lib,配置 Tomcat 8.5.55 服务器。运行 Tomcat,并在浏览器输入对应的 URL。
项目结构
该项目使用了 MVC 和三层架构的开发理念,以 Java Web 相关知识为开发工具。
三层架构
数据访问层
src/com.renda.backend/dao:管理员用户表访问接口类 UserDao 和学员表访问接口类 StudentDao,以及对应的 impl 目录下的实现类 UserDaoImpl、StudentDaoImpl
业务逻辑层
src/com.renda.backend/service:管理员用户服务类 UserService 和学生信息服务类 StudentService
表现层 - MVC
- Model 模型
src/com.renda.backend/bean:分页对象泛型类 PageBean<T>,学员表对象类 Student,用户对象类 User
- View 视图
web:存放前端代码的文件夹,以下为除去“前端框架 Bootstrap 相关依赖”和“项目依赖库配置文件”后的文件介绍
css - 自定义层叠样式表 custom.css
js - 自定义脚本代码 custom.js
登录页面 login.jsp
主页 main.jsp
- Controller 控制器
src/com.renda.backend/servlet
MainServlet - 检查是否登录,已经登录则重定向到分页查询控制器,没有登录则转到登录页面。相对路径:/main 和 /index.jsp
LoginServlet - 验证登录信息,登录成功重定向到主页,失败则跳转到登录页。相对路径:/login
LogoutServlet - 删除登录信息跳转到登录页面。相对路径:/logout
FindUserByPageServlet - 根据请求参数获取对应页面的数据。相对路径:/findUserByPage
CheckStudentIdServlet - 检查学号是否重复,并响应相关的结果。相对路径:/checkStudentId
AddStudentServlet - 增加学生信息,然后跳转到最后一页。相对路径:/addStudent
RemoveStudentServlet - 移除学生信息,并响应移除是否成功的结果。相对路径:/removeStudent
UpdateStudentServlet - 更新学生信息,并响应是否更新成功的结果。相对路径:/updateStudent
其它
工厂类
src/com.renda.backend/factory:学员表数据访问对象的工厂类 StudentDaoFactory 和管理员用户表数据访问对象的工厂类 UserDaoFactory
工具类
src/com.renda.backend/util:数据库连接池 Druid 工具类 DruidUtils,日期格式工具类 DateUtils
测试类
src/com.renda.backend/util:学员表数据库访问层测试类 StudentDaoTest,管理员用户数据表访问层的测试类 UserDaoTest,学生信息服务层的测试类 StudentServiceTest,管理员用户服务层的测试类 UserServiceTest
视频讲解
想了解更多,欢迎关注我的微信公众号:Renda_Zhang
猜你喜欢
- 2025-06-08 Directus 火了!无代码 SQL 数据的协作应用利器!
- 2025-06-08 PHP和NodeJS的代码执行效率比较(php和nodejs的区别)
- 2025-06-08 工商银行获得发明专利授权:“基于数据库映射动态接口的前端页面应用开发方法及装置”
- 2025-06-08 FAISS和Chroma:两种流行的向量数据库的比较
- 2025-06-08 什么是数据库的索引?(数据库索引的定义和作用)
- 2025-06-08 Vercel和Neon“首次”推出用于前端云的无服务器SQL数据库
- 2025-06-08 记一次前端逻辑绕过登录到内网挖掘
- 2025-06-08 学Access好还是MySQL好?(access与mysql的语句区别)
- 2024-09-29 技术: Java语言,后端:springboot 前端:JSP数据库
- 2024-09-29 「免费开源」基于Vue和Quasar的前端SPA项目实战之数据库逆向
你 发表评论:
欢迎- 581℃几个Oracle空值处理函数 oracle处理null值的函数
- 576℃Oracle分析函数之Lag和Lead()使用
- 561℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 561℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 556℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 546℃【数据统计分析】详解Oracle分组函数之CUBE
- 535℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 530℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)