第十五天前端jsp JNDI、链接池、javaBean

本文介绍了Java Naming and Directory Interface (JNDI) 的概念和配置,展示了如何在Tomcat中设置并获取资源。接着讨论了传统JDBC的不足,引出了连接池的概念,解释了其性能优势和工作原理,并提供了配置数据源和获取连接的步骤。最后,讲解了JavaBean的作用,包括其创建条件、优点和在业务分层中的角色。
摘要由CSDN通过智能技术生成

十九JNDI、连接池、javaBean

1.JNDI

Java Naming and Directory Interface java命名和目录接口

是一组在java应用中访问命名和目录

通过名将将资源与服务进行关联

1.修改context.xml

tomcat\conf\context.xml或WebContent\META-INF/\context.xml文件

<Context>
<Environment name= "tjndi" value= "hello JNDI"
type= "java.lang.String" />
</Context>
2.取出资源
<%
//1. 取得Context对象
Context ct=new InitialContext();
//2. 查找资源(java:comp/env格式是固定的 )
String res=(String)ct.lookup("java:comp/env/tjndi");
//3. 输出资源内容
out.println("内容为: "+res);
%>
2.传统JDBC
1.步骤

1.加载数据库驱动,数据库驱动程序通过CLASSPATH配置

2.通过DriverManager类取得数据库连接对象

3.通过Connection实例化PrepareStatement对象,编写SQL命令操作数据库

4.数据库属于资源操作,操作完成后要进行数据库的关闭以释放资源

2.缺点

每一次请求时均需与数据库进行连接,资源占用较多

每当并发访问数量较大时,网站速度受到极大影响

在访问结束时必须要关闭连接释放资源

系统的安全性和稳定性相对较差

3.连接池

在一个对象池中保存多个数据库的连接,操作数据库直接从链接池中取出一个数据库连接,操作完成直接放回不用关闭

在内存中预设一定的连接数量,以备用户在进行数据量操作时直接使用

1.性能

通过连接池管理数据库的连接与释放、提高了系统资源的使用效率

数据库操作性能得到提升

2.工作原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vuOmYCDa-1604148970044)(C:\Users\lgm\AppData\Roaming\Typora\typora-user-images\1604141109123.png)]

4.连接对象的创建
1.数据源(DataSource)

​ javax.sql.DataSource接口负责建立与数据库的连接

​ 从Tomcat的数据源获得连接

​ 把连接保存在链接池中

​ 使用JNDI获得DataSource引用

常用方法

Connection getConnection() 建立与Data对象表示的数据源的连接

Connection getConnection(String name,String password) 建立与DataSource对象表示的数据源的连接

2.创建连接步骤

1.配置 META-INF/context.xml

<WatchedResource>WEB-INF/web.xml</WatchedResource>
<Resource name= "jdbc/stu"
auth= "Container"
type= "javax.sql.DataSource"
maxActive= "100"
maxIdle= "30"
maxWait= "10000"
username= "root"
password= "123"
driverClassName= "com.mysql.jdbc.Driver"
url= "jdbc:mysql://localhost:3306/student" />

name 指定 Resource 的 JNDI 名称auth指定管理 Resource 的 Manager(Container:由容器创建和管理
Application 由 Web 应用创建和管理)
type 指定 Resource 所属的 Java 类
maxActive 指定连接池中处于活动状态的数据库连接的最大数目
maxIdle 指定连接池中处于空闲状态的数据库连接的最大数目
maxWait 指定连接池中的连接处于空闲的最长时间,超过这个时间会抛出异常,取值为-1,表示可以无限期等待

2.配置web.xml

<resource-ref>
	<res-ref-name>jdbc/stu</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref

3.得到连接

<body>
<%
//1. 取得Context对象
Context ct=new InitialContext();
//2. 查找资源(java:comp/env格式是固定的 )
DataSource res=(DataSource)ct.lookup("java:comp/env/jdbc/stu");
//3. 从数据源中取出连接对象
Connection conn=res.getConnection();
//4. 测试
if(conn!= null)
out.println("数据库连接成功!");
else
out.println("数据库连接失败!");
%>
</body>
5.javaBean

可重用的组件,减少代码的重复

1.满足条件

​ 类用public修饰

​ 属性须私有化,get及set方法

​ 必须存在一个无参的构造方法

2.优点
  1. 减少代码冗余
  2. 功能区分明确
  3. 提高代码维护性
3.分类
  1. 封装数据

    ​ 表名–>类名

    ​ 字段名–>属性名

    ​ 属性私有化,get/set方法

  2. 封装业务

    ​ 实现特定功能的方法

    ​ 通常与一个封装数据的javaBean对应

4.业务分层

​ 数据层(DAO)----将数据库的数据进行封装

​ 业务层(Service)----根据实际业务需求调用DAO层相关操作

​ 视图层(JSP页面)----显示有关数据的页面

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值