一、项目简介
功能描述:
1、管理员可注册、登录进入学生信息管理系统,不是管理员不可访问
2、实现插入、查询、更新及删除学生功能,数据安全存储于数据库。
团队成员:
王美涵
二、项目采用技术
软件架构模式:MVC
Model——代表应用程序的数据和业务逻辑。它负责处理数据的存储、检索和操作,以及实现与数据相关的业务规则。在MVC中,模型通常包括数据访问层(如数据库操作)和业务逻辑层(如服务类)。
View——界面显示。
Controller——控制器负责协调模型和视图之间的交互,确保用户界面的响应性和一致性。在MVC中,控制器通常是处理HTTP请求的Servlet、控制台应用程序中的命令行处理逻辑,或者是桌面应用程序中的事件处理器。
技术:JSP+Servlet+Html+JDBC+MySQL数据库
-
JSP(JavaServer Pages):
JSP用于创建动态网页,它允许Java代码和特定的预定义动作嵌入到HTML页面中。JSP页面用于呈现管理员登录界面,用户界面和学生信息展示页面,包括表单输入和信息展示。 -
Servlet:
Servlet用于处理业务逻辑,如接收表单数据、调用数据库操作以及控制页面跳转。 -
HTML:
HTML是网页的基础语言,用于构建页面的结构和内容。在该项目中作为注册页面 -
JDBC(Java Database Connectivity):
JDBC是Java连接数据库的标准API,它允许Java程序与数据库进行交互。在该项目中,JDBC用于执行SQL语句,实现对MySQL数据库的增删改查操作。 -
MySQL数据库:
MySQL是一个流行的开源关系型数据库管理系统。在该项目中,MySQL数据库用于存储学生的基本信息,包括学号、姓名、性别等数据以及管理员账户信息。
三、功能需求分析
系统需要实现用户登录、学生信息的插入、删除、修改和查询功能。同时,需要设置用户权限,确保数据的安全性。
1. 增加(插入)学生信息:允许管理员或授权用户将新学生的详细信息录入系统,包括姓名、学号、性别、出生日期、联系方式、家庭住址等。
2. 删除学生信息:提供删除功能,以便在学生离校或信息错误时,能够从系统中移除相应的学生记录。
3. 修改学生信息:当学生信息发生变化时,如联系方式更新或地址变更,系统允许用户对现有记录进行编辑和更新。
4. 查询学生信息:当学校需要查看学生信息时,需要用到此功能。
四、项目亮点
1、关于网络的技术的基本实现
(1)页面跳转实现(使用Servlet API处理HTTP请求):Servlet API提供了一套接口和类,用于创建Web应用程序,处理客户端的请求和生成响应:
配置Servlet(以登录实现为例):
处理请求:
生成响应:
(2)只有具有权限的用户(即管理员)才可访问学生信息界面(使用Filter过滤器)
编写Filter类:创建一个实现了jakarta.servlet.Filter接口的类。
配置Filter:使用注解(如 @WebFilter)配置Filter,指定它应该拦截哪些URL。
在登陆操作中给响应传送了用户信息(即管理员user对象)给session以通过过滤器过滤
2、管理员登录接口和对学生操作接口的设计
标准化:规范管理员登录和对学生操作的方法,使得不同的系统或组件能够更容易地集成和协作。
抽象化:用户只需知道如何使用接口,而不需要了解接口背后的具体实现细节。
可扩展性:接口设计使得系统更容易扩展新的功能或修改现有功能。当需要添加新的学生信息字段时,可以通过更新接口来实现,而不需要改变整个系统的架构。
模块化:接口支持系统的模块化设计,使得不同的功能可以独立开发和测试。即管理员登录接口和对学生操作接口两个功能的独立开发。当然,也可进行学生信息查询接口和修改接口的独立开发和维护。
3、数据库读写
将数据库信息写入配置文件来统一数据库连接,保证通用性;
使用 try-catch发生异常时,使用 finally块来确保无论操作是否成功,都会关闭相关的资源来保证数据库资源的安全
封装了通用的数据库操作方法,如 update、queryMap、setParams等,这些方法足够通用,可以适应不同的SQL语句和参数,保证了代码的可读性和维护性
五、主要功能截图
登录界面
首页,点击可查看全部学生信息
请求转发到学生页面
添加,点提交,自动跳转到学生界面,可看到新插入的学生信息
修改:修改年龄为20,点提交,也自动跳转到学生界面,可看到年龄修改为了20
删除学号为20220050的学生,之后自动刷新,得下图
注册界面,当登录发现没有该用户时自动跳转到注册页面,注册完成后再次登录即可登录进首页
最后,在管理员用户正确登录前,直接输入学生页面的网址会自动跳转回登录页,只有登录成功才可访问相关信息
六、团队成员负责模块
王美涵完成的任务与功能:
序号 |
完成功能与任务 |
描述 |
1 |
页面跳转功能 |
使用servlet接口实现了对页面的跳转功能。 |
3 |
登录功能 |
客户端使用filter对用户名、密码进行过滤。一定程度上保障了系统的安全性。 |
4 |
数据库读写编码部分 |
使用JDBC进行数据库的读写操作 |
5 |
前端页面 |
引用了Bootstrapt前端框架 |