JNDI资源(一)
JNDI:Java命名与目录接口
是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录的通用、统一的服务。
使用JNDA的步骤:
1、配置资源。
//Tomcat跟目录/conf/context.xml 文件为全局的上下文配置文件,对所有web应用有效。将要发布的信息配置在此文件中,在通过JNDA来查找信息。
//示例配置代码
<Context>
<Environment name="tjnda" value = "hello JNDI" type="java.lang.String" />
</Context>
- 1
- 2
- 3
- 4
- 5
- 6
- 1
- 2
- 3
- 4
- 5
- 6
代码说明:< Environment>元素用于配置命名的值,所配置的值作为环境条目资源,对整个Web应用可见。
name:环境条目的名称,相对于java:comp/env的名称
type:环境条目的Java类名的全称
value:用过JNDI context请求时,返回给应用的参数值,该值必须转换成type属性定义的Java类型。
2、用过Context的lookup()方法查找资源
//示例查找代码
<%
//javax.naming.Context 提供了查找JANI Resource的接口
Context ctx = new InitializeContext();
String testjndi =(String)ctx.lookup("java:comp/env/tjndi");
out.print("JNDI:"+testjndi);
//JNDI:hello JNDI
%>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
数据库连接池
使用JNDI获得数据源的步骤:
1、配置context.xml文件
2、配置web.xml文件
3、添加驱动
4、进行代码编写,使用lookup()方法获得数据源对象
软件设计分层模式
三层架构:数据访问层、业务逻辑层、表示层。
搭建三层步骤:
- 搭建表示层
- 搭建业务逻辑层
- 搭建数据访问层
分层原则:
1、上一层依赖其下一层、依赖关系不跨层。
2、下一层不能调用上一层
3、下一层不依赖上一层
4、在上一层不能出现下一层的概念
特点:
- 下层不知道上层的存在
- 每一层仅知它下一层的存在,而不知另外的下层
优势:
- 职责划分清晰
- 无损替换
- 复用代码
- 降低了系统内部的依赖程度。
JNDI资源(一)的更多相关文章
- 数据源与JNDI资源实现JSP数据库连接池实例
名词解释:JNDI的全称是java命名与目录接口(Java Naming and Directory Interface),是一个应用程序设计的API,为开发人员提供了查找和访问各种命名和目录服务的通 ...
- JNDI
这两天研究了一下 context.lookup("java:comp/env/XXX")和直接context.lookup("XXX")的区别 网上关于这两个的 ...
- 帆软报表FineReport中数据连接之Weblogic配置JNDI连接
1. 制作报表的原理 在帆软报表FineReport设计器中先用JDBC连接到数据库,建立数据库连接,然后用SQL或者其他方法创建数据集,使用数据集制作报表,然后把建立的数据库连接从JDBC连接改成J ...
- 帆软报表FineReport中数据连接之Jboss配置JNDI连接
使用sqlsever 2000数据库数据源来做实例讲解,帆软报表FineReport数据连接中Jboss配置JNDI大概的过程和WEBSPHERE以及WEBLOGIC基本相同,用JDBC连接数据库制作 ...
- 【Mail】Tomcat提供JNDI方式支持JavaMail(三)
流程介绍 Tomcat提供了JavaMail的支持,是通过JNDI的方式实现的,具体流程是: Tomcat启动的时候,自身产生一个Session对象,放在JNDI容器中给其他项目调用,其他项目只要通过 ...
- Tomcat 6 JNDI数据源详解
数据库连接池这个概念应该都不陌生,在Java中连接池也就是数据库的连接池,它是一种采用连接复用的思想避免多次连接造成资源的浪费机制. 最常见的连接池就是DBCP和C30P了,在tomcat中默认使用的 ...
- 数据源和JNDI的关系:
DataSource对象是由Tomcat提供的,因此不能在程序中采用创建一个实例的方式来生产DataSource对象,而需要采用Java的另一个技术JNDI,来获得DataSource对象的引用. T ...
- JNDI 配置:JBoss + MySQL
一.JNDI 名词解释 JNDI 是Java 命名和目录接口(Java Naming and Directory Interface,JNDI)的简称.从一开始就一直是 Java 2 平台企业版(JE ...
- JNDI:对java:comp/env的研究
这两天研究了一下 context.lookup("java:comp/env/XXX")和直接context.lookup("XXX")的区别 网上关于这两个的 ...
随机推荐
- java多线程之生产者-消费者
public class Product { private String lock; public Product(String lock) { this.lock = lock; } public ...
- python之datetime
一.获取当前日期 >>> from datetime import datetime >>> now=datetime.now() >>> pri ...
- Keepalived双主模式配置流程
实验说明 1)keepalived 支持配置多个VRRP实例,每个实例对应一个业务 2)本次实验将实现 keepalived 的互为主备: 业务A:keepalived01为Master,keepal ...
- 【对象属性复制】BeanUtils.copyProperties(obj1, obj2);
实现对象的属性值复制,只会复制命名相同的文件. import org.springframework.beans.BeanUtils; BeanUtils.copyProperties(obj1, o ...
- 模块化 require.js 入门教学(前端必看系列)
在工作的时候总是会用到模块化开发,那接下来我就顺着这个问题来说一下什么是模块化 前端模块化 !!! JS 模块化提供给我们三种规范 分别就是 No.1 commonjs 这个其实也就代表了node. ...
- ES5_04_Array扩展
介绍什么是Array对象? # Array 对象用于在单个的变量中存储多个值 1. 创建 Array 对象的语法: 2. Array 对象属性 3. Array 对象方法 补充: 1. Array.p ...
- MyBatis从入门到精通(六):MyBatis动态Sql之if标签的用法
最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 本篇博客主要讲解如何使用if标签生成动 ...
- C++ 洛谷 P1731 [NOI1999]生日蛋糕
P1731 [NOI1999]生日蛋糕 一本通上也有. 这TM是一道极其简单的深搜剪枝(DP当然可以的了,这里我只讲深搜). 首先圆柱公式:(有点数学基础都知道) V=πR2H S侧=π2RH S底= ...
- BZOJ 2435:[Noi2011]道路修建(树型DP)
http://www.lydsy.com/JudgeOnline/problem.php?id=2435 题意:中文题意. 思路:很简单的树形DP,sz记录儿子有多少个和cur记录走的哪条弧,然后直接 ...
- c# bool类型和int类型的互转
项目过程中,会有model的一些属性字段为‘是’或‘否’ 数据库字段一半定义为int,值则是0或1 数据库model转实体类的时候,bool和int可以直接相互转换 false强转int 值就是0 t ...