0
点赞
收藏
分享

微信扫一扫

2022/2/2 Java开发之Java web编程 第五章 使用三层架构实现业务处理

承蒙不弃 2022-02-02 阅读 71

1.理解JNDI

        1.1 JNDI全称:Java Naming and Directory Interface,Java命名和目录接口。        

  • JNDI:是一个有关应用序设计的 API 为开发人员提供了查找和访问各种命名和目录服务的通用、 统一的接口;
  • 作用:通过名称将资源与服务进行关联。

        1.2 JNDI的作用与优点

  • 在应用与Java对象或资源之间建立松耦合的逻辑关联,简化应用对于资源的配置及维护工作;

  • 可以在更大范围、不同应用之间共享资源;

        1.3 用法

  • 在 Tomcat 中发布一条信息供所有的 Web 应用程序使用;

        1. 在 Tomcat 中发布一条信息,修改context . xml 文件,代码如下:

```
 <Context>

    <Environment name="tjndi" value="hello JNDI" type="java.lang.String" />

  </Context>
```

>< EnviTonment >元素用于配置命名的值, 所配置的值作为环境条目资源, 对整个 Web 应用可见。它包含的属性:name、type、value;
  • name:环境条目的名称,相对于 java:comp/env 的名称;

  • type: 环境条目的 Java 类名的全称;

  • value: 通过JNDI context 请求时,返回给应用的参数值,该值必须转换成 type 属性定义Java 类型;

        2. 编写 JSP 代码 , 通过 JNDI 访问环境条目,代码如下:

  <body>

      <%@ page import="javax.naming.*" %>

      <%

                   //javax.naming.Context提供了查找JNDI Resource的接口

                  Context ctx = new InitialContext();    //初始化Context对象

                   //java:comp/env/为前缀

                   String testjndi = (String) ctx.lookup("java:comp/env/tjndi");  //调用lookup()方法

                   out.print("test jndi:" + testjndi);

      %>

    </body>
  • java. naming包下的Context 接口表示命名上下文,它由一组名称到对象的绑定组成。
  • InitialContext是 Context接口的实现类;
  • Object lookup(String name) 方法根据名称检索指定对象,
  • 为了避免 JNDI命名空间中的资源名称互相冲突. 并且避免可移植性问题 Java EE 应用程序中的所有名称应该以字串“java:comp/env”作为前缀;在上面的示例中:前缀后面的 'tjndi " 则对应着 context. xml 文件中< EnviTonment >元素的 name 属性;
     

使用JNDI的步骤

  1. 配置资源;

  2. 通过 Context 的 lookup()方法查找资源;

2.数据库连接池

        2.1 连接池(Connection Pool)

        2.2 数据库连接池:数据库连接池负责分配、管理和释放数据库连接;

  • 它允许应用程序重复使用一个现有的数据连接,而不再是重新建立一个;

  • 释放那些空闲时间超过最大空闲时间的数据库连接,以避免由于有释放数据库连接而引起的数据库连接泄露;

  • 明显提高数据库的操作性能

        2.3 连接池原理

        2.4 连接池是如何管理连接的?

        2.5 数据库连接池技术带来的优势

  1. 资源重用
  2. 更快的系统响应速度
  3. 据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。
  4. 统一的连接管理,避免数据库连接泄漏
举报

相关推荐

0 条评论