JavaWeb(三层架构)

Posted 呼啦啦dxy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb(三层架构)相关的知识,希望对你有一定的参考价值。

1.为什么需要三层架构?

        业务处理的代码与JSP代码混在一起,不易于阅读,不易于代码维护

2.分层结构的模式

        (1)分层模式是最常见的一种架构模式

        (2)分层模式是很多架构模式的基础

3.分层

        将解决方案的组件分隔到不同的层中

        在同一个层中组件之间保持内聚性

        层与层之间保持松耦合

4.三层模式的划分

        表示层

        业务逻辑层

        数据库访问层

5.层与层之间的关系

        表示层依赖于业务逻辑层

        业务逻辑层依赖 于数据访问层

《 实现分层

首先创建用户实体类

 其次编写数据访问层

        数据访问接口

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;
    	//调用创建数据库连接的方法 获得连接,实现用户名和密码查询*/

编写业务逻辑层        

编写业务逻辑接口(业务逻辑通常以Biz命名)

//编写业务逻辑控制接口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;
    	

编写表示层

JSP页面调用业务逻辑层

<%@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");
%>

1. 三层架构编写遵循的原则

上层依赖其下层,依赖关系不跨层

        表示层不能直接访问数据访问层

        上层调用下层的结果,取决于下层的实现

下一层不能调用上一层

下一层不依赖上一层

        上层的改变不会影响下一层

        下层的改变会影响上一层得到的结果

在上一层中不能出现下一层的概念

        分工明确,各司其职

2.分层开发的特点

下层不知道上层的存在

        仅完成自身的功能

        不关心结果如何使用

每一层仅知道其下层的存在,忽略其他层的存在

        只关心结果的取得

        不关心结果的实现过程

        JSTL通常会与EL表达式合作实现JSP页面的编码

3.分层开发的优势

        职责划分清晰

        无损替换

        复用代码

        降低了系统内部的依赖程度

JavaWeb 之 三层架构:软件设计架构

界面层(表示层):用户看的得界面。用户可以通过界面上的组件和服务器进行交互。

业务逻辑层:处理业务逻辑的。

数据访问层:操作数据存储文件。

技术图片

 

以上是关于JavaWeb(三层架构)的主要内容,如果未能解决你的问题,请参考以下文章

java里分的三层到底是哪三层?

JavaWeb之MVC三层架构

MVC设计模式与JavaWeb的三层架构

JavaWeb编程三层架构

JavaWEB快速入门之三层架构[新闻发布系统08]11

浅谈Javaweb经典三层架构和MVC框架模式