Javaweb学习05JavaBean和MVC三层架构

    科技2022-07-10  202

    JavaBean

    实体类

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

    一般用来和数据库的字段做映射 ORM(object-relational mapping)

    ORM: 对象关系映射

    表 -> 类字段 -> 属性行记录 -> 对象 <body> <h1>Javabean</h1> <%--<% People people = new People(); people.setId(1); people.setName("张三"); people.setAge(20); people.setAddress("北京朝阳"); %> 姓名:<%=people.getName()%><br> 年龄:<%=people.getAge()%><br> 地址:<%=people.getAge()%>--%> <jsp:useBean id="deamon" class="com.wu.pojo.People" scope="page"/> <jsp:setProperty name="deamon" property="id" value="1"/> <jsp:setProperty name="deamon" property="name" value="张三"/> <jsp:setProperty name="deamon" property="age" value="20"/> <jsp:setProperty name="deamon" property="address" value="北京朝阳"/> 姓名:<jsp:getProperty name="deamon" property="name"/><br> 年龄:<jsp:getProperty name="deamon" property="age"/><br> 地址:<jsp:getProperty name="deamon" property="address"/> idnameageaddress01张三20北京朝阳 package com.wu.pojo; //实体类 一般都是和数据库中的表结构一一对应 public class People { private int id; private String name; private int age; private String address; public People() { } public People(int id, String name, int age, String address) { this.id = id; this.name = name; this.age = age; this.address = address; } 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 + '\'' + '}'; } }

    MVC三层架构

    module(模型) view(视图) controller(控制器)

    早些年

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

    servlet --crud -->数据库

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

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

    架构:没有什么事加一层解决不了的(jdbc)

    MVC三层架构

    Moduel

    业务处理: 业务逻辑(Service)

    数据持久层:CRUD(dao)

    View

    展示数据

    提供链接发起Servlet请求(a form img )

    Controller(Servlet)

    接收用户的请求:(req:请求参数 session信息…)

    交给业务层处理对应的代码

    控制视图的跳转

    登录 --> 接收用户的登录请求 --> 处理用户的请求(获取用户登录的参数 username password) --> 交给业务层处理登录业务(判断用户 密码是否正确:事务) --> Dao层查询用户名和密码是否正确 --> 数据库
    Processed: 0.025, SQL: 8