![fce9917fb8de2b44d1884fd689fbae6f.png](https://img-blog.csdnimg.cn/img_convert/fce9917fb8de2b44d1884fd689fbae6f.png)
项目需求
- 使用前端、数据库、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
视频讲解
知乎视频www.zhihu.com想了解更多,欢迎关注我的微信公众号:Renda_Zhang