欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    JavaWeb第六章连接池与数据源.ppt

    • 资源ID:6509601       资源大小:2.50MB        全文页数:26页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JavaWeb第六章连接池与数据源.ppt

    1,第六章,连接池与数据源,2,回顾,什么是过滤器,它的作用是什么?过滤器实质就是一个实现了相应接口(javax.servlet.Filter)的Java类,它处于客户端和web资源(Jsp、Servlet等)之间,用于对请求或者响应进行拦截,添加一些额外的处理。实现过滤器的步骤是什么?建立一个实现Filter接口的类,并实现相应方法。在web.xml中对过滤器进行配置。Servlet事件监听按照监听对象来分类可分为哪三类?Servlet上下文事件监听会话事件监听请求事件监听,3,预习检查,连接池技术的核心思想是什么?连接复用。什么是JNDI?JNDI(Java Naming and Directory Interface)是用于向Java程序提供目录和命名功能的API。配置数据源时,需要修改Tomcat服务器的安装目录的conf下的哪个文件?Context.xml文件,本章任务,在第三章的分页标签的基础上,5,会使用JNDI获取数据源理解数据库连接池会读取基于属性文件的数据库配置信息掌握通用的DAO类,本章目标,MVC的Model层,1、如何理解MVC中的Model?,MVC设计模式模型-Model视图-View控制器-Controller,MVC 对象,控制器,模型,视图,?,JSP,Servlet,Model层主要是进行业务逻辑处理、访问数据库和封装数据,企业级开发对Model层的要求,企业级开发需要稳健和高效的数据访问层完成对数据库的CRUD操作能够处理数据库发生的各种错误可以灵活的修改配置提供方便使用的工具高性能,数 据 库,请求,响应,操作,结果,要求高效、稳健的数据访问层,打开连接,操作数据库,关闭连接,多次重复操作,传统的JDBC已经无法满足需求,那怎么办呢?,数据库连接池(2-1),普通电话-建立连接,等待回应热线电话-已建立连接,连接,已连接,开始通话,开始通话,已连接,直接通话,连接中,流程框架图标使用规范,连接池中的连接,数 据 库,想要获得连接,返回一个连接,返回一个已连接好的空闲连接,应用程序从连接池中获得连接,连接池是由容器提供的,用来管理池中连接对象,应用程序,连接池,数据源简介,数据源(DataSource)接口负责建立与数据库的连接从Tomcat的数据源获得连接把连接保存在连接池中,应用程序,Connection1,Connection2,Connection3,数 据 库,想要获得连接,返回一个连接,连接池,连接池中的连接对象是由谁创建的呢?,JNDI介绍,如何获得DataSource对象数据源由Tomcat提供,不能在程序中创建实例使用JNDI获得DataSource引用什么是JNDIJNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API接口的lookup()方法,应用程序,jdbc/s1,jdbc/s2,数据源,数据源名称,Connection,context.lookup(jdbc/s1),使用JNDI获取连接对象,import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.sql.DataSource;public class TitlesBean public List getTitles()try Context ic=new InitialContext();DataSource source=(DataSource)ic.lookup(java:comp/env/jdbc/books);Connection connection=source.getConnection();titlesQuery=connection.prepareStatement(SELECT*FROM titles);ResultSet results=titlesQuery.executeQuery();/为BookBean对象的属性赋值,并添加到titlesList中 catch(SQLException exception)exception.printStackTrace();catch(NamingException namingException)namingException.printStackTrace();finally closeConn();,使用JNDI和数据源要导入的包,通过Context、DataSource获取Connection对象,分为两部分java:comp/env为JavaEE默认路径jdbc/books为DataSource名,定义JNDI异常,演示示例1:JNDI的使用TitlesBean.java,JNDI的配置,Tomcat的conf/context.xml中的配置,JNDI的配置,加入数据库驱动文件把数据库驱动的.jar文件,加入到Tomcat的commonlib中应用程序的web.xml文件的配置在web.xml中配置,jdbc/books javax.sql.DataSource Container,指定JNDI的名字,与元素中的name一致,指定引用资源的类名,与元素中的type一致,指定管理所引用资源的Manager与元素中的auth一致,常见错误,1、Cannot load JDBC driver class,这是什么错误?,通过数据源访问数据库,由于数据源由Tomcat创建并维护,所以必须把JDBC驱动程序拷贝到Tomcat的common/lib目录下。,代码框图标使用规范,2、Cannot create JDBC driver of class for connect URL null,DataSource source=(DataSource)ic.lookup(java:comp/env/jdbc/books);connection=source.getConnection();titlesQuery=connection.prepareStatement(“SELECT*FROM titles);,要一致,这是什么错误?,TitlesBean.java,context.xml,常见错误,3、Name jdbc is not bound in this Context,DataSource source=(DataSource)ic.lookup(/jdbc/books);connection=source.getConnection();,这是什么错误?,参数错误,应该是 java:comp/env/jdbc/books,JNDI小结,如何配置JNDI?如何通过JNDI获得数据库连接对象?JNDI相比JDBC有什么优点?,数据库的配置,关于数据库的配置把配置信息写在代码中把配置信息存储在.properties文件中,private static final String DATASOURCE=jdbc:odbc:NewsDataSource;private static final String DRIVER_CLASS=com.microsoft.jdbc.sqlserver.SQLServerDriver;private static final String DATABASE_URL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=books;private static final String DATABASE_USRE=sa;private static final String DATABASE_PASSWORD=;public static Connection getConnction()Connection dbConnection=null;try Class.forName(DRIVER_CLASS);dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USRE,DATABASE_PASSWORD);catch(Exception e)e.printStackTrace();return dbConnection;,数据库的配置信息,如果数据库信息改变,要重新进行编译,程序才能正确执行。,url=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=booksuser=sapassword=120010,以键值对的形式存储数据,中间用=分隔,db.properties,基于属性文件的数据库配置,从属性文件中读取配置信息,public final class Env extends Properties private static Env instance;public static Env getInstance()if(instance!=null)return instance;else makeInstance();return instance;private static synchronized void makeInstance()if(instance=null)instance=new Env();private Env()InputStream is=getClass().getResourceAsStream(/db.properties);try load(is);catch(Exception e)e.printStackTrace();,Java用来操作.properties文件的类,静态方法可以通过类名直接调用,同步方法,在同一时间,只允许一个人调用,保证安全性,把.properties文件内容加裁到对象中,总结,为什么使用JNDI?到目前为止连接数据库有几种方式?说明从.properties文件中读取数据的步骤,22,小结 2,使用会话事件监听技术,完成对于会话事件监听的类(MySessionListener.java)。1、建立会话事件监听类(MySessionListener.java)并实现ervletRequestListener,ServletRequestAttributeListener 接口。2、完成测试会话事件监听的JSP页面(listener_session.jsp)。3、将事件监听配置在Web.xml中。,8分钟时间,23,什么是过滤器,它的作用是什么?过滤器实质就是一个实现了相应接口(javax.servlet.Filter)的Java类,它处于客户端和web资源(Jsp、Servlet等)之间,用于对请求或者响应进行拦截,添加一些额外的处理。过滤器的优点是什么?过滤器以一种模式化的或可重用的方式封装公共的行为。利用过滤器能够将高级决策与表现代码分离。过滤器能够对于不同的资源进行批量性的修改。实现过滤器的步骤是什么?建立一个实现Filter接口的类,并实现相应方法。在web.xml中对过滤器进行配置。,本章总结,24,Servlet事件监听按照监听对象来分类可分为哪三类?Servlet上下文事件监听会话事件监听请求事件监听实现事件监听器的步骤是什么?编写Java类,实现相应的监听器接口。在web.xml中,对自定义的监听器进行注册。,本章总结,25,作业,必做题家庭作业预习作业提交方式电子邮件,命名格式:班级+姓名+课程名+章节名.rar提交时间下次上课之前,26,IT之行,始于足下,

    注意事项

    本文(JavaWeb第六章连接池与数据源.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开