使用分层实现业务处理

上传人:宝路 文档编号:47906338 上传时间:2018-07-06 格式:PPTX 页数:34 大小:4.92MB
返回 下载 相关 举报
使用分层实现业务处理_第1页
第1页 / 共34页
使用分层实现业务处理_第2页
第2页 / 共34页
使用分层实现业务处理_第3页
第3页 / 共34页
使用分层实现业务处理_第4页
第4页 / 共34页
使用分层实现业务处理_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《使用分层实现业务处理》由会员分享,可在线阅读,更多相关《使用分层实现业务处理(34页珍藏版)》请在金锄头文库上搜索。

1、第五章 使用分层实现业务处理回顾 使用哪个内置对象可以实现访问本网站的 人数统计? 简述session和cookie的应用场合提问2/43主要内容 熟练应用JNDI查找数据源 掌握数据库连接池原理 熟练应用分层架构开发应用系统3/43为什么使用JNDI 如何实现在Tomcat中发布一条信息供所有 的Web应用程序使用? 类似于全局变量 Application 但Application只用于本Web应用程序共享数 据问题分析4/43JNDI介绍 什么是JNDI Java Naming and Directory Interface,Java命名和 目录接口 通过名称将资源与服务进行关联5/43J

2、NDI的简单应用 应用步骤 发布信息:修改Tomcatconfcontext.xml文件 获取资源:使用lookup()进行查找/javax.naming.Context提供了查找JNDI 的接口Context ctx = new InitialContext();/java:comp/env/为前缀String testjndi = (String)ctx.lookup(“java:comp/env/tjndi“);out.println(“JNDI: “+testjndi);初始化Context对象调用lookup()方法JNDI查找的名称6/43使用JNDI 训练要点 使用JNDI 需求

3、说明 在Tomcat中发布一条信息供所有的Web应用程 序使用练习7/43为什么使用连接池 传统数据库连接方式的不足 需要经常与数据库建立连接 在访问结束后必须要关闭连接释放资源 当并发访问数量较大时,网站速度收到极大影 响 系统的安全性和稳定性相对较差请求响应操作(打开连接)结果(关闭连接)多次重复操作8/43生活中的连接池 普通电话 -建立连接,等待回应 热线电话 -已建立连接连接已连接开始通话开始通话已连接,直接通话连接中已连接,直接通话9/43连接池技术工作原理 连接池中的连接应用程序从连接池中获得连接连接池是由容器提供的,用来管理池中连接对象Connection1Connection

4、2Connection3请求响应10/43数据源简介2-1 数据源(DataSource) javax.sql.DataSource负责建立与数据库的连接 从Tomcat的数据源获得连接 把连接保存在连接池中Connection1Connection2Connection3请求响应连接池中的连接对象 是由谁创建的呢?11/43数据源简介2-2 如何获得DataSource对象 数据源由Tomcat提供 使用JNDI获得DataSource引用应用程序jdbc/s1jdbc/s2数据源数据源名称Connectioncontext.lookup(“ jdbc/s1 “)12/43访问数据源4-1

5、使用连接池实现数据库连接配置context.xml文件配置context.xml文件配置web.xml文件添加数据库驱动文件进行代码编写,实现查找数据源13/43访问数据源4-2 Tomcat的conf/context.xml中的配置属性名称说明name指定Resource的JNDI名称auth指定管理Resource的Managertype指定Resource所属的Java类maxActive指定连接池中处于活动状态的数据库连接的最大数目maxIdle指定连接池中处于空闲状态的数据库连接的最大数目maxWait指定连接池中的连接处于空闲的最长时间,取值为-1, 表示可以无限期等待 14/43

6、访问数据源4-3 添加数据库驱动文件 把数据库驱动的.jar文件,加入到Tomcat的lib 中 应用程序的web.xml文件的配置 在web.xml中配置jdbc/news javax.sql.DataSource Container 指定JNDI的名字,与元素中的name一致指定引用资源的类名,与 元素中的type一致指定管理所引用资源的Manager与元素中的auth一致15/43import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; imp

7、ort javax.sql.DataSource; public class BaseDao public Connection getConnection () Context ctx;try ctx = new InitialContext(); /获取与逻辑名相关联的数据源对象 DataSource ds=(DataSource)ctx.lookup(“java:comp/env/jdbc/news“); conn=ds.getConnection(); catch (SQLException exception) exception.printStackTrace();catch (N

8、amingException namingException) namingException.printStackTrace(); 使用JNDI和数 据源要导入的包分为两部分java:comp/env 为JavaEE默认路径 jdbc/news为DataSource名 访问数据源4-416/43小结 使用连接池实现数据库连接配置context.xml文件配置context.xml文件配置web.xml文件添加数据库驱动文件进行代码编写,实现查找数据源Tomcat的conf文件夹下与context.xml指定的名 称一致加入到Tomcat的lib中lookup()参数的写法17/43使用连接池

9、实现数据库连接2-1 训练要点 连接池的配置 通过JNDI查找数据源连接数据库 需求说明 修改新闻发布系统,通过JNDI查找数据源,实 现数据库的访问指导18/43使用连接池实现数据库连接2-2 实现思路 1. 配置/tomcat安装目录/conf/context.xml文件 2. 配置/webRoot/WEB-INF/web.xml文件 3. 在lib目录中添加数据库驱动jar文件 4. 在BaseDao中获取数据连接方法中编写代码, 实现查找数据源指导19/43为什么需要分层 JSP开发时分两层的弊端V1.0 查找 删除V2.0删除V3.0 查找 删除随着业务的改变, 数据访问层要不断的修

10、改代码20/43三层模式 三层模式的划分查找删除随着业务的改变 ,只需修改调用 哪个方法即可数据访问层的方 法不变21/43层与层之间的关系表示层依赖于业务逻辑层业务逻辑层依赖 于数据访问层 22/43分层的实现 如果使用分层实现删除新闻主题,该如何 实现呢?问题分析实体类 业务逻辑层 表示层 数据访问层 23/43分层实现删除新闻主题 编写业务逻辑控制接口public interface TopicsBiz /获取所有主题public List getAllTopics();/更新主题public int updateTopic(Map topic);/根据名字查找主题public Topi

11、c findTopicByName(String name);/添加主题public int addTopic(String name);/通过tid删除主题public int deleteTopic(String tid);24/43分层实现删除新闻主题 编写业务逻辑控制接口的实现 public class TopicsBizImpl implements TopicsBiz /省略其他方法实现public int deleteTopic(String tid) NewsDao newsDao=new NewsDaoImpl(); TopicsDao topicsDao=new Topic

12、sDaoImpl(); /判断特定主题下是否有文章 if(newsDao.getAllnewsByTID(Integer.valueOf(tid).size()0)return 1; /成功删除主题elsereturn -1; /删除主题失败 else return 0; /该主题下还有文章 25/43分层实现删除新闻主题 修改控制页面alert(“已经成功删除主题,点击确认返回原来页面“);location.href=“topic_ control.jsp?opr=list“;26/43使用三层架构修改删除新闻主题2-1 训练要点 使用三层构架 需求说明 修改删除新闻主题功能,使之符合三层构

13、架练习27/43使用三层架构修改删除新闻主题2-2 实现思路 1. 编写业务逻辑控制接口 2. 编写实现业务逻辑控制接口的类 3. 修改控制页面指导28/43分层原则 上层依赖其下层,依赖关系不跨层 表示层不能直接访问数据访问层 上层调用下层的结果,取决于下层的实现 下一层不能调用上一层 下一层不依赖上一层 上层的改变不会影响下一层 下层的改变会影响上一层得到的结果 在上一层中不能出现下一层的概念 分工明确,各司其职29/43小结分层开发的优势职责清晰 无损替换 降低了 依赖程度 复用代码 30/43使用三层架构修改删除新闻功能 需求说明 使用三层架构删除某一条新闻 删除新闻时将有关这条新闻的

14、所有评论一 同删除练习提示31/43使用三层架构修改单条新闻显示 需求说明 修改单条新闻显示,使之符合三层构架练习32/43总结2-1 JNDI的全称 Java 命名与目录接口(Java Naming and Directory Interface) Tomcat中配置数据源的步骤如下配置context.xml文件配置context.xml文件配置web.xml文件添加数据库驱动文件进行代码编写,实现查找数据源33/43总结2-2 搭建三层架构基本框架的步骤如下配置context.xml文件表示层:用于用户展示与交互业务逻辑层:提供对业务逻辑处理的封装数据访问层:数据的增、删、改、查操作34/43

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号