Tomcat中使用JNDI引用外部资源
2016-01-15 16:44
441 查看
JNDI
JNDI(Java Naming and Directory Interface )是Java EE中容器服务的重要组成部分. 主要作用是给多种命名和目录服务提供了统一的接口1. 使用JNDI的EE应用可以保存和获取任意类型的Java对象.其中的命名和目录服务指定范围比较广泛, 包括LDAP(The Lightweight Directory Access Protocol), DNS和NIS(The Network Information Service).
由容器实现者实现JNDI通常被称为JNDI命名上下文(naming context).
命名空间(namespace)
命名环境提供了四个逻辑命名空间: java:comp, java:module,java:app, and java:global分别提供给组件, 模块, 应用程序以及所有部署程序共享的类.
一个Java EE组件能创建一个
javax.naming.InitialContext类, 然后再命名空间java:comp/env以及子路径中查找相关的环境上下文.
Tomcat2
Apache Tomcat™ 是java Servlet, JavaServer Pages, Java Expression Language和Java WebSocket技术的一个开源实现.Tomcat中的JNDI命名上下文3
首先, 在Java EE规范中, 规定了/WEB-INF/web.xml文件中一系列元素用来引用和定义资源.此外, 在$CATALINA_BASE/conf/server.xml和META-INF/context.xml中的
<Context>标签中, 也可以定义资源. Tomcat规定了资源配置必须在
<Context>使用下列标签, 包括:
<Environment>用来定义有限个暴露给web应用的JNDI
InitialContext的环境变量.
<Resource>
<ResourceLink>
<Transaction>
以下, 我们用
<Environment>标签做一个例子来熟悉JNDI的定义.
Environment标签4
你可以像下面这样配置命名值(named value), 它会被当成一个环境条目资源, 这样web程序在环境条目中就能看到这个变量了.<Context> ... <Environment name="maxExemptions" value="10" type="java.lang.Integer" override="false"/> ... </Context>
<Environment>标签中有效的属性值如下:
属性 | 描述 |
---|---|
description | 可选, 给人写的描述信息. |
name | 相对于命名空间java:comp/env的名字资源名. |
override | 是否允许<env-entry>标签覆盖同名的环境资源. true是允许, false为不允许. 默认为true. |
type | Java类型的全限定名. |
value | 资源的值, 必须能转换成定义的Java类型. |
相关文章推荐
- java-模拟tomcat服务器
- i-jetty环境搭配与编译
- 实现单Tomcat多Server配置
- 生产环境下的Tomcat配置
- Linux部署Tomcat服务器
- jenkins------结合maven将svn项目自动部署到tomcat下
- 如何搞定tomcat这只喵~
- tomcat在opensuse下开机自启失败的原因分析及解决方法
- jsp项目中更改tomcat的默认index.jsp访问路径的方法
- Tomcat 多端口 多应用
- tomcat 5.0 + apache 2.0 完全安装步骤详解
- Tomcat安全设置 win2003 下tomcat权限限制
- Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)
- Tomcat服务器 安全设置第1/3页
- tomcat 6.0.20在一个机器上安装多个服务的方法
- Tomcat 5.5 数据库连接池配置
- Tomcat内存溢出分析及解决方法
- apache tomcat 一个网站多域名的实现方法
- Tomcat无法加载css和js等静态资源文件的解决思路