web三层架构
Posted 赤诚&
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web三层架构相关的知识,希望对你有一定的参考价值。
哈喽,大家好,今天我们一起来学习一下“三层架构”吧
目录
一,什么是三层架构
- 表示层 :主要是指与用户交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据
- 业务逻辑层 :表示层和数据库访问层之间的桥梁,实现业务逻辑,具体包含:验证、计算、业务规则等等
- 数据访问层 :与数据库打交道,主要实现对数据的增、删、改、查
除了以上的三层外,还有一层是 entity层 :实体层
二,三层架构的特点
表示层就相当于服务员,专门和用户打交道,获取用户的操作
业务逻辑层就相当于厨师,从数据访问层拿来数据,根据表示层传来的用户操作去执行操作
数据访问层就相当于采购员,用户需要什么数据,就从数据库或是文件中拿来此数据,交给业务逻辑
层
三,为什么要用三层架构
用三层架构的目的就是为了实现 高内聚低耦合 的思想:
高内聚 :尽可能类的每个成员方法只完成一件事
低耦合 :减少类内部,一个成员方法调用另一个成员方法
从类角度来看, 高内聚低耦合:减少类内部,对其他类的调用
从功能块来看, 高内聚低耦合:减少模块之间的交互复杂度
简单来说,就是 解耦 :只做自己功能内的事
分层模式是最常见的一种架构模式
分层模式是很多架构模式的基础
分层
将解决方案的组件分隔到不同的层中 在同一个层中组件之间保持内聚性 层与层之间保持松耦合
面向接口编程:
设计与实现分开
在一个面向对象的系统中,系统的各种功能是由许许多多的不同对象协作完成的。在这种情况下,各个
对象内部是如何实现自己的,对系统设计人员来讲就不那么重要了;而各个对象之间的协作关系则成为系
统设计的关键。小到不同类之间的通信,大到各模块之间的交互,在系统设计之初都是要着重考虑的,
这也是系统设计的主要工作内容。面向接口编程就是指按照这种思想来编程。
四,实现的方式
完成的目录结构(样式):
五,使用分层实现用户登录功能
数据是小编写死的,需要自己改
分析:
- 创建用户实体类
public class User
private int id;
private String username;
private String password;
public int getId()
return id;
public void setId(int id)
this.id = id;
…省略了后续的set/get方法
- 编写数据访问层
数据接口:
public interface UserDao
//根据用户进行查找,返回用户列表
public boolean findUser(User user);
数据访问接口的实现
public class UserDaoJdbcImpl implements UserDao
public boolean findUser(User user)
Connection con = null;
PreparedStatement pStatement = null;
ResultSet res = null;
/** 调用创建数据库连接的方法 获得连接,实现用户名和密码查询*/
- 编写业务逻辑层
编写业务逻辑层接口
//编写业务逻辑控制接口UserBiz
public interface UserBiz
public boolean login(User user);
编写业务逻辑层接口实现
public class UserBizImpl implements UserBiz
public List login(User user)
UserDao ud = new UserDaoJdbcImpl();
boolean flag = ud.findUser(user);
return flag;
- 编写表示层
<%@page import="org.jbit.bean.*" %>
<%@page import="org.jbit.biz.*" %>
<%@page import="org.jbit.biz.impl.*" %>
<%
String uname=request.getParameter("user");
String upwd=request.getParameter("pwd");
User user = new User();
user.setUsername(uname);
user.setPassword(upwd);
UserBiz ub = new UserBizImpl();
boolean flag = ub.login(user);
if(flag)
response.sendRedirect("welcome.jsp");
else
response.sendRedirect("login.jsp");
%>
到这里就结束了,希望你能对你有用,记得给小编个赞!!!
在ASP.NET中,三层架构,Web ,BLL,DAL,Models这四个的引用关系是?
BLL 就是业务逻辑层 他只负责向数据提供者也就是DAL调用数据 然后传递给 客户程序也就是UIDAL就是数据访问层 ,负责 对实体也就是数据库相应表的增删改查
Model: 实体层数据库中表的映射,一般有几个表就有几个实体类
web:(Web)网站项目在程序中调用BLL,BLL中调用DAL 参考技术A DAL->BLL->Web
↘ ↓ ↙
Models
箭头指向为被引用 参考技术B WEB应用BLL
BLL应用DAL
BLL应用Models
DAL应用Models
WEB应用Models
Models是一个数据传递层 简而言之就是所有层都引用它 参考技术C 实体层Models被数据层DAL引用,DAL被逻辑层BLL引用,BLL被表示层Web网页引用 参考技术D dal是数据库交互
bll是业务逻辑层
web就是我们的网页
model是元数据,model在所有层中用到。 其他别人又说,我不说了。
以上是关于web三层架构的主要内容,如果未能解决你的问题,请参考以下文章