Java项目-学生管理系统

最近整理项目,将以前的项目复盘,写成博客记录一下。这个系列会以逐步掌握Java后端框架为主线来写些基本的项目。希望大家有所收获。

文章结构:1.项目介绍(功能业务逻辑,运用的知识,项目数据库等);2.项目架构介绍以及部分关键逻辑代码说明。
一、项目介绍:
总述:一个适合初学者学习MVC架构的学生管理系统
(1)功能介绍:
1.添加管理账号,包括账号、密码,你的名字;
2.登录功能大概流程模式
3.根据姓名查询学生信息,根据姓名删除学生信息,查询所有学生信息,增加学生,修改学生名字。
(2)运用的知识:
1.基本数据库知识
2.jsp+servlet+mysql
3.(重点)MVC设计模式的应用
(3)导入的jar包:
commons-beanutils-1.9.3.jar,commons-logging-1.2.jar,logback-classic-1.1.7.jar,logback-core-1.1.7.jar,mysql-connector-java-5.0.8-bin.jar,slf4j-api-1.7.21.jar
(4)建包,方便初学者看的方式。

只用两个包管理,一个管理user的,一个管理学生信息的。
(5)数据库:

//学生表
CREATE TABLE student(
STID INT AUTO_INCREMENT PRIMARY KEY,
STNAME VARCHAR(20),
STSEX VARCHAR(10),
STAGE VARCHAR(10),
STPHONE VARCHAR(20)
);
//管理员表,起这个名我们要注意到,我们在工厂的bean类名为:UserStudent。这两者是必须对应的。
CREATE TABLE userstudent(
userid VARCHAR(30) PRIMARY KEY,
name VARCHAR(30),
password VARCHAR(32)
);
//测试数据
INSERT INTO userstudent(userid,name,password) VALUES ('fuzhu','fuzhu','751197996');
INSERT INTO student(STID,STNAME,STSEX,STAGE,STPHONE) VALUES (123,'fuzhufuzhu',boy','20','13531477062');

(6)项目功能截图:(没有用太多前端的知识,为了方便给初学者看,就是单纯的几个表单)二、项目架构介绍以及部分关键逻辑代码说明
项目架构如图:

(1)主要的设计流程:定了两个接口

//管理学生信息的接口public interface IStudentDAO {
	/**

  * 			学生信息查询
        * @param string			传入姓名
        * @return					学生对象
        * @throws Exception
          */
          public Student findStudent(String  name) throws Exception;//根据名字查找学生
          public Student insertStudent(Student student) throws Exception;//增加学生
          public Student deleteStudent(String  name) throws Exception;//根据名字去删除学生名字
          public Student updateStudent(String  proviousName,String nowName) throws Exception;//更新学生名字
          @SuppressWarnings("unchecked")
          public List StSelect() throws Exception;//查询全部学生
          }

//管理管理账号的接口
public interface IUserDao {
	/**
	 * 	
	 * @param user		传入VO对象
	 * @return				验证操作结果
	 * @throws Exception		抛出异常
	 */
	public boolean findLogin(Userstudent user) throws Exception;//从数据库核对管理人员信息后才让其登录

	public void update(Userstudent user);//注册管理员

}

(2)设计模式的运用:(架构上的)
Java项目-学生管理系统_第1张图片
1.代理模式,user和student的管理使用代理模式,让外部不直接访问接口的真正业务逻辑实现类,实现解耦。
2.工厂模式,定义工厂类,来取得DAO的实例,因为DAO只是完成数据层的操作,而在场景中使用工厂类是完成与view的耦合,所以为了避免耦合,来使用工厂类,完成解耦。
(3)登录功能说明:大致流程图如下:
Java项目-学生管理系统_第2张图片
不过在真正的项目中,基本的数据格式验证是由filter完成的,这里我偷懒了。
源码传送门:github地址–学生管理系统 喜欢的可以star或fork啦,谢谢!

你可能感兴趣的:(项目)