前言:

本文内容:JavaBean、MVC三层架构

推荐免费JavaWeb入门到实战视频:【狂神说Java】JavaWeb入门到实战_哔哩哔哩_bilibili

JavaBean

一般称为:实体类

JavaNean特定写法:

  • 必须要有一个无参构造
  • 属性必须私有化
  • 必须要有对应的get/set方法

一般用来和数据库的字段做映射

ORM(对象关系映射)

  • 表—>类
  • 字段—>属性
  • 行记录—>对象

练习

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
62
63
64
65
package com.jokerdig.pojo;

/**
* @author Joker大雄
* @data 2022/4/8 - 13:30
**/
public class People {
// 实体类 一般与数据库中表相对应
private int id;
private String name;
private int age;
private String address;

public People(int id, String name, int age, String address) {
this.id = id;
this.name = name;
this.age = age;
this.address = address;
}

public People() {
}

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

public String getAddress() {
return address;
}

public void setAddress(String address) {
this.address = address;
}

@Override
public String toString() {
return "People{" +
"id=" + id +
", name='" + name + '\'' +
", age=" + age +
", address='" + address + '\'' +
'}';
}
}

JavaBean

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
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>

<%--
JavaBean:
id:实体类名
class:类
--%>
<%--赋值--%>
<jsp:useBean id="people" class="com.jokerdig.pojo.People" scope="page"/>
<jsp:setProperty name="people" property="address" value="西安"/>
<jsp:setProperty name="people" property="id" value="1"/>
<jsp:setProperty name="people" property="age" value="21"/>
<jsp:setProperty name="people" property="name" value="小王"/>
<%--获取值--%>
姓名:<jsp:getProperty name="people" property="name" />
年龄:<jsp:getProperty name="people" property="age" />
ID:<jsp:getProperty name="people" property="id" />
地址:<jsp:getProperty name="people" property="address" />

</body>
</html>

MVC三层架构

MVC:(Model 模型 View 视图 Controller 控制器)

最开始的连接方式

121

用户直接访问控制层,控制层就可以直接操作数据库

servlet->CRUD->数据库

弊端:程序十分臃肿,不利于维护

servlet代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码

架构思想:

开发人员

|

JDBC

|

MySQL Oracle SQLServer…

三层架构

120

Model

  • 业务处理:业务逻辑(Service)
  • 数据持久层:CRUD(Dao)

View

  • 展示数据
  • 提供链接发起Servlet请求(a,form…)

Controller

  • 接收用户的请求:(request/session)
  • 交给业务层处理对应的代码
  • 控制视图的跳转

举例

三层架构处理用户登录流程

登录–>接收用户登录请求–>处理用户的请求(获取登录参数:账号和密码等)–>交给业务层处理登录业务(判断账号密码是否正确)–>Dao层到数据库查询账号密码是否正确并返回结果