网站首页 > 技术文章 正文
项目需求
- 使用前端、数据库、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
猜你喜欢
- 2024-09-29 技术: Java语言,后端:springboot 前端:JSP数据库
- 2024-09-29 「免费开源」基于Vue和Quasar的前端SPA项目实战之数据库逆向
- 2024-09-29 浅谈高性能数据库集群——分库分表
- 2024-09-29 「融职培训」Web前端学习 第9章 教务管理系统开发4 数据库模型
- 2024-09-29 我是如何把微服务的这个模式落地的:一个服务一个数据库模式
- 2024-09-29 JS写的服务端,如何连接Mysql数据库,实现增删查改功能
- 2024-09-29 一文带你搞懂前端本地存储 前端储存方式
- 2024-09-29 TP开发时,后端数据库存储的信息有时候是索引,前端如何显示信息
- 2024-09-29 ios系统 websql前端数据库 值是undefined
- 2024-09-29 Java面试之数据库篇(offer 拿来吧你)
你 发表评论:
欢迎- 05-10如何优化数据库和前端之间的交互?
- 05-10前端代码优化小秘籍(前端优化24条建议)
- 05-10VS Code当中的15个神仙插件,值得收藏
- 05-10如何自己开发一个Google浏览器插件?
- 05-10前端流行框架Vue3教程:14. 组件传递Props效验
- 05-10吃了一年的SU,最好用的插件都在这了
- 05-10前端必看!这款神器让网站界面告别千篇一律
- 05-10程序员请收好:10个非常有用的 Visual Studio Code 插件
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端md5加密 (49)
- 前端路由 (55)
- 前端数组 (65)
- 前端定时器 (47)
- 前端懒加载 (45)
- 前端接口 (46)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle查询数据库 (45)
- oracle约束 (46)
- oracle 中文 (51)
- oracle链接 (47)
- oracle的函数 (57)
- mac oracle (47)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)