J2EE项目系列(一)--学生管理系统
来源:互联网 发布:leslie矩阵模型 编辑:程序博客网 时间:2024/06/08 07:23
后端学习之路开始了,很让人兴奋,因为自己的真正职业规划应该大致浮现了,写这个的时候本来以为会很困难的,因为之前一点都不了解后端,谁知道写着写着发现,其实跟android开发基本共通的,都是MVC,都是接口设计,都是逻辑分析。好了,这个系列会以逐步掌握Java后端框架为主线来写些基本的项目。希望大家有所收获。
文章结构:1.项目介绍(功能业务逻辑,运用的知识,项目数据库等);2.项目架构介绍以及部分关键逻辑代码说明。
一、项目介绍:
总述:一个适合初学者学习MVC架构的J2EE项目–学生管理系统
(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)项目功能截图:(没有用太多前端的知识,为了方便给初学者看,就是单纯的几个表单)
导入工程:eclipse导入工程方法
二、项目架构介绍以及部分关键逻辑代码说明
项目架构如图:
(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)设计模式的运用:(架构上的)
1.代理模式,user和student的管理使用代理模式,让外部不直接访问接口的真正业务逻辑实现类,实现解耦。
2.工厂模式,定义工厂类,来取得DAO的实例,因为DAO只是完成数据层的操作,而在场景中使用工厂类是完成与view的耦合,所以为了避免耦合,来使用工厂类,完成解耦。
(3)登录功能说明:大致流程图如下:
不过在真正的项目中,基本的数据格式验证是由filter完成的,这里我偷懒了。
源码传送门:github地址:J2EE项目系列(一)–学生管理系统 喜欢的可以star或fork啦,谢谢!
好了,J2ee项目从0开始(一)–学生管理系统。本博客是学习J2EE开始的第一个小项目,这也是J2EE项目从0开始系列的(一),我会把我的理解、思考路线、项目构建一一详细写在这一系列的博客中。欢迎在下面指出错误,共同学习!
转载请注明:【JackFrost的博客】
更多内容,可以访问JackFrost的博客
2 0
- J2EE项目系列(一)--学生管理系统
- 项目一 学生系统
- 学生信息管理系统系列博客(一)
- 细说学生管理系统(一)
- 学生管理系统报错(一)
- 学生管理系统分解学习(一)
- 学生管理系统(一)---配置
- 学生管理系统总结(一)
- 学生管理系统优化总结(一)
- 学生管理系统总结(一)
- 第九周——运算符重载——阅读项目(一)学生管理系统
- 学生管理系统 项目总结
- 学生管理系统项目演示
- 项目:学生管理系统[C++]
- J2EE项目系列(二)--博客管理系统(Maven+SpringMVC+Hibernate以及附加分页和一对多查询功能)
- C/C++系列之学生管理系统
- 通过学生管理系统项目学到的知识(1)
- 通过学生管理系统项目学到的知识(2)
- rbf neural network in R
- Faster RCNN总结
- MAPLE
- hadoop+hive-0.10.0完全分布式安装方法
- 栈调用关系跟踪
- J2EE项目系列(一)--学生管理系统
- 异步委托调用
- C3P0属性设置和数据库连接池的获取
- Linux多进程函数作用笔记
- 第十六周 项目3:点结构体(2)
- ABAP ALV弹出框POPUP-简单至极的做法
- MySQL Group Replication 搭建[Multi-Primary Mode]
- z【11-1-1】栈数组模式实现
- 标签命名规范