javaWeb三层架构

目录

为什么需要分层?

分层

三层模式

分层开发的优势 

分层的实现

创建用户实体类

编写数据访问层

数据访问接口

数据访问接口的实现 

编写业务逻辑层

编写业务逻辑层接口

 编写业务逻辑层接口实现 

编写业务逻辑

编写业务逻辑层接口

编写业务逻辑层接口实现

编写表示层

JSP页面调用业务逻辑层


为什么需要分层?

编写jsp网页代码太多,不易于阅读,而且功能的连接性太过紧密,当一个功能报错整个项目的功能都不能实现

分层

  • 将解决方案的组件分隔到不同的层中
  • 在同一层中组件之间保持内聚性
  • 层与层之间保持松耦合

三层模式

三层模式的划分

表示层 :主要是指 用户交互的界面 , 用于接收用户输入的数据和显示处理后用户需要的数据
业务逻辑层 :表示层和数据库访问层之间的桥梁 , 实现业务逻辑 , 具体包含:验证、计算、业务规则等等
数据访问层 :与数据库打交道 , 主要实现对数据的增、删、改、查

分层开发的优势 

  • 职责划分清晰
  • 无损替换
  • 复用代码
  • 降低了系统内部的依赖程度

 

分层的实现

创建用户实体类


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;
    	}
}

编写业务逻辑

编写业务逻辑层接口


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

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值