当前位置:   article > 正文

javaWeb三层架构之学生管理系统_基于javaweb的学生管理系统框架介绍

基于javaweb的学生管理系统框架介绍

一 系统架构 三层架构

为了实现代码的层次清晰,分工明确,通常会将一个应用划分成三层架构:表示层、业务逻辑层、数据访问层。

* 表示层(web):主要接收前端发送的请求,并响应数据

* 业务逻辑层(service): 负责处理具体的业务逻辑

* 数据访问层(dao): 负责对数据库进行增删改查操作
  • 1
  • 2
  • 3
  • 4
  • 5

在这里插入图片描述

分层时候,可以实现代码的复用性

二 学生管理系统功能模块

1 环境搭建

创建模块

创建maven模块,转为web 项目,添加依赖

<dependencies>
    <!--数据库驱动-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.28</version>
    </dependency>
    <!--mybatis框架-->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.5.9</version>
    </dependency>
    <!--实体封装-->
    <dependency>
        <groupId>commons-beanutils</groupId>
        <artifactId>commons-beanutils</artifactId>
        <version>1.8.3</version>
    </dependency>
    <!--lombok-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.26</version>
    </dependency>
    <!--json转换工具-->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.9</version>
    </dependency>
    <!--单元测试-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
    </dependency>

    <!--hutool-->
    <dependency>
        <groupId>cn.hutool</groupId>
        <artifactId>hutool-all</artifactId>
        <version>5.4.3</version>
    </dependency>
    <!--servlet-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <version>3.2.2</version>
        </plugin>
    </plugins>
</build>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61

创建包结构

  • domain: 实体类包
  • util: 工具类包
  • mapper: 持久层(数据访问层)
  • service: 业务层
  • servlet: 表示层
  • filter:过滤器(后面讲)

在这里插入图片描述

复制文件

在这里插入图片描述

复制前端页面

在这里插入图片描述

部署测试

在这里插入图片描述

在这里插入图片描述

2 学生查询

需求:进入主页面后,发送请求到后端,查询学生列表

接口地址:
	get  /studentServlet?action=findAll
返回数据:
[
     {id: "hm001",name: "张三",birthday: "1995-05-05",address: "顺义"},
     {id: "hm002",name: "李四",birthday: "1996-06-06",address: "昌平"}
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在这里插入图片描述

写代码前,先创建

  • StudentServlet
  • StudentService(接口)
  • StudentServiceImpl(实现类)
  • StudentMapper

表示层

在这里插入图片描述

业务层

在这里插入图片描述

持久层

在这里插入图片描述

3 添加学生

需求:点击添加学生按钮,弹出添加学生页面,填写完毕后,将请求发送到后台

接口地址:
	post  /studentServlet?action=save
参数(使用请求体传递):
	{id: "hm001",name: "张三",birthday: "1995-05-05",address: "顺义"}
返回结果:
	"OK"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

表示层

在这里插入图片描述

业务层

在这里插入图片描述

持久层

在这里插入图片描述

4 删除学生

需求:点击列表中得删除按钮,将学生的id发送到后台进行删除

接口地址:
	get /studentServlet?action=deleteById&id=学生id
返回结果:
	"OK"
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

表示层

在这里插入图片描述

业务层

在这里插入图片描述

持久层

在这里插入图片描述

5 修改学生-信息回显

需求:点击修改按钮,打开修改框,并将点击行的id发送到后台查询当前学生信息

接口地址:
	get  /studentServlet?action=findById&id=学生id
返回数据:
	{id: "hm001",name: "张三",birthday: "1995-05-05",address: "顺义"}
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

表示层

在这里插入图片描述

业务层

在这里插入图片描述

持久层

在这里插入图片描述

6 修改学生-信息修改

需求:在修改框输入学生信息,点击修改按钮,将修改后的数据发到后端,后端根据id将数据更新到库中

接口地址:
	post /studentServlet?action=update
参数(使用请求体传递):
	{id: "hm001",name: "张三",birthday: "1995-05-05",address: "顺义"}
返回结果:
	"OK"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

表示层

在这里插入图片描述

业务层

在这里插入图片描述

持久层

在这里插入图片描述

7 面向接口编程(理论)

面向接口编程就是在开发程序之前先定义接口(接口中定义方法),然后开发人员再按照接口定义好的方法去写实现类

这样做的好处在于使用接口层进行解耦合,使得servlet和service层之间不再相互影响

不使用接口遇到的问题

在这里插入图片描述

面向接口编程的思想

在这里插入图片描述

三 结尾

学生管理系统的设计和开发,旨在提高教育管理效率,为学校和教育机构带来便捷和高效的管理体验。通过充分利用计算机技术,实现学生信息的集中管理和自动化处理,学校和教育机构能够更好地适应现代教育的发展需求,提升学生服务质量,为教育事业的发展做出贡献。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/786977
推荐阅读
相关标签
  

闽ICP备14008679号