J2EE项目系列(一)--学生管理系统

后端学习之路开始了,很让人兴奋,因为自己的真正职业规划应该大致浮现了,写这个的时候本来以为会很困难的,因为之前一点都不了解后端,谁知道写着写着发现,其实跟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的博客

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,056评论 5 474
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,842评论 2 378
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 148,938评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,296评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,292评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,413评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,824评论 3 393
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,493评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,686评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,502评论 2 318
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,553评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,281评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,820评论 3 305
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,873评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,109评论 1 258
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,699评论 2 348
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,257评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,340评论 25 707
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,714评论 6 342
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,573评论 18 139
  • 我们今天就谈论梦想为什么会妨碍你成功? 乐观的幻想在我们脑中形成美梦成真的假象,也虚熬了我们的动力。 很多人对于自...
    得一_阅读 348评论 0 1
  • 想听遍所有自然的踪迹,海边微风,树叶簌簌,清泉叮咚,更想听你的声音。 想念爬满了整个身体,入侵我心灵最深的地方,狠...
    霹雳霹雳小菠萝头阅读 97评论 0 0