javaweb(三层架构)

本文介绍了Java Web的三层架构,包括表示层、业务逻辑层和数据库访问层,阐述了分层开发的原因和好处,如职责划分清晰、代码复用和降低依赖等。在业务逻辑层中展示了常用的方法,而在数据库访问层则给出了数据库操作的示例。通过这种方式,开发者可以实现更易于维护和扩展的代码结构。
摘要由CSDN通过智能技术生成

伙伴们本次我来分享javaweb的三层架构

使用分层实现业务处理        
为什么需要分层呢?

了解一下关于JSP开发的弊端 :

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

什么是分层模式?

分层模式是最常见的一种架构模式 分层模式是很多架构模式的基础

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

三层模式的划分:

表示层

业务逻辑层

数据库访问层

(表示层依赖于业务逻辑层,业务逻辑层依赖 于数据访问层)

三层架构

一、表示层

表示层相当于ui包,界面

表示层依赖于业务逻辑层

二、业务逻辑层

业务逻辑层相当于表示层和数据访问层的中介

在里面写方法名调用方法 如:

/**
  * 查询全部
  * @return 用户集合
  */
 public List<User> getAll();
 /**
  * 模糊查询
  * @param colName 列名 
  * @param str 关键字
  * @return 用户集合
  */
 public List<User> getAll(String colName,String str);
 /**
  * 根据用户id查询
  * @param uuid 编号
  * @return 用户对象
  */
 public User getUser(int uuid);
 
 /**
  * 增加用户
  * @param u 用户对象
  * @return 影响行数
  */
 public int addUser(User u);
 /**
  * 根据id删除用户
  * @param uuid 用户编号
  * @return 影响行数
  */
 public int deleteUser(int uuid);
 /**
  * 根据id修改用户
  * @param u 用户对象
  * @param uuid 用户编号
  * @return 影响行数
  */
 public int updateUser(User u,int uuid);
 /**
  * 用户登录
  * @param uname 用户名
  * @param upwd 密码
  * @return 用户对象
  */
 public User login(String uname,String upwd);

三、数据库访问层

以前怎么写现在就这么写

public User login(String uname, String upwd) {
  User u=null;
  try {
   con=DBHelper.getCon();//获得连接
   String sql="select * from tb_0325 where sname=? and spwd=?";//定义sql语句
   ps=con.prepareStatement(sql);//获得执行对象
   //给占位符赋值
   ps.setString(1, uname);
   ps.setString(2, upwd);
   rs=ps.executeQuery();//获得结果集
   //判断
   if(rs.next()) {
    u=new User();//实例化
    u.setUuid(rs.getInt(1));
    u.setUname(rs.getString(2));
    u.setUpwd(rs.getString(3));
   }
  } catch (Exception e) {
   e.printStackTrace();
  } finally {
   DBHelper.myClose(con, ps, rs);
  }
  return u;
 }

三层开发遵循的原则:

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

表示层不能直接访问数据访问层 上层调用下层的结果,取决于下层的实现

下一层不能调用上一层

下一层不依赖上一层

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

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

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

分工明确,各司其职 

分层开发的特点:

下层不知道上层的存在

仅完成自身的功能 不关心结果如何使用

每一层仅知道其下层的存在,忽略其他层的存在 只关心结果的取得 不关心结果的实现过程 JSTL通常会与EL表达式合作实现JSP页面的编码。

分层开发的优势:

职责划分清晰

无损替换

复用代码

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

好了本次分享到此结束了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值