`
fengzl
  • 浏览: 216246 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

在Java SE中使用JNDI

阅读更多
http://book.csdn.net/bookfiles/371/10037114080.shtml
http://www.java3z.com/cwbwebhome/article/article2/21040.html?id=1780
http://www.javaeedev.com/blog/article.jspx?articleId=8a41b5bd128e6daa01128e9214620013
http://docs.sun.com/source/819-1553/jndi.html
http://www.594k.com/java/html/y2007m6/13826/
JNDI全攻略
http://hankun.blogbus.com/logs/1774694.html
http://blog.donews.com/foxgem/archive/2005/05/30/404803.aspx
需要实现Referenceable接口,并实现RetReference方法。
package jndi;

import java.io.Serializable;
import java.rmi.Remote;

import javax.naming.NamingException;
import javax.naming.Reference;
import javax.naming.Referenceable;
import javax.naming.StringRefAddr;

public class Person implements Referenceable{
	
	private String name;
	
	private int age;	
	
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public Reference getReference() throws NamingException {
		// TODO Auto-generated method stub
		Reference ref =  new Reference(getClass().getName(), SimpleFactory.class.getName(),null);
		ref.add(new StringRefAddr("name",name));
		ref.add(new StringRefAddr("age",new Integer(age).toString()));
		return ref;
	}
}

_____________________________________________________________________
package jndi;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.Name;
import javax.naming.Reference;
import javax.naming.spi.ObjectFactory;

public class SimpleFactory implements ObjectFactory {

	@Override
	public Object getObjectInstance(Object obj, Name name, Context ctx,
			Hashtable<?, ?> env) throws Exception {
		// TODO Auto-generated method stub
		  if(obj instanceof Reference){
			  Reference ref=(Reference)obj;
			   String name1=(String)ref.get("name").getContent();
			   int age=Integer.parseInt(ref.get("age").getContent().toString());			  
			   return new Person(name1,age);
		  }		
		return null;
	}

}



______________________________________________________________________

package jndi;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

public class DataBind {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	       Hashtable hs = new Hashtable();

	        //设置连接LDAP的实现工厂
	        hs.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.fscontext.RefFSContextFactory");

	        hs.put(javax.naming.Context.PROVIDER_URL,"file:///c:/");

	        try {
	        	InitialContext ictx = new InitialContext(hs);
	        	Person o = (Person)ictx.lookup("ttt/a");
	        	System.out.print(o.getAge());
	        } catch (NamingException ex) {
	           System.err.println("bind object fail: " + ex.toString());
	        }  
		}

}
分享到:
评论

相关推荐

    在Java SE中使用Hibernate处理数据

    在Java SE环境中使用Hibernate处理数据是一项常见的任务,尤其是在开发企业级应用时,需要对数据库进行高效、灵活的管理和操作。Hibernate作为一个流行的Object-Relational Mapping(ORM)框架,能够简化Java程序员...

    java 采用JNDI访问数据库(三种方法)

    Java 通过JNDI(Java Naming and Directory Interface)访问...而在Java SE或非Java EE环境中,可能需要自定义JNDI环境和数据源。无论哪种方式,JNDI都能帮助我们实现数据库连接的管理和复用,提高应用的稳定性和性能。

    Java 2 SE 6 Documentation(帮助文档)

    Java 2 Standard Edition (Java SE) 6 是Java平台的核心版本,主要面向桌面应用和...虽然Java SE 6已经比较陈旧,但其基础概念和许多API在后续版本中依然适用,因此这份文档对初学者和有经验的开发者都具有很高的价值。

    jndi用到的所有jar

    总结起来,这个压缩包提供了使用JNDI进行数据源管理所需的全部库文件,对于在WebSphere或其他支持JNDI的环境中开发和部署Java应用是必不可少的。正确理解和使用这些JNDI相关库,能够帮助开发者构建更加灵活和可扩展...

    java资料---Java SE.ppt

    Java SE 5中还包括了其他的许多新特性,如枚举类型、类型安全的数组初始化、匿名内部类的改进等,这些都极大地丰富了Java语言的功能,提升了开发效率和代码质量。 总之,Java从其诞生至今,不断演进和发展,成为了...

    java jdk api中文开发文档(免币)

    以上仅是Java JDK API中文开发文档中部分关键知识点的概述,实际文档中还涵盖了JDBC数据库连接、JavaFX图形用户界面、JavaMail邮件处理、JNDI命名和目录服务等更多内容。通过深入阅读和理解这份文档,开发者可以更好...

    servlet+mysql的jndi配置

    3. **添加资源引用**:为了能够在Web应用中使用上面配置的数据源,还需要在`tomcat/conf/web.xml`文件中添加资源引用配置。 ```xml &lt;description&gt;DBConnection &lt;res-ref-name&gt;jdbc/你的数据库别名 &lt;res-type&gt;...

    java7帮助文档

    Oracle has two products that implement Java Platform Standard Edition (Java SE) 7: Java SE Development Kit (JDK) 7 and Java SE Runtime Environment (JRE) 7. JDK 7 is a superset of JRE 7, and contains ...

    Java核心技术·卷2 高级特性(第10版英文版)

    流(Streams)、文件(Files)和正则表达式(Regular Expressions):在Java SE 8中引入的流库为处理集合提供了全新的、函数式的方法。它允许开发者以声明式方式操作数据,比如使用filter、map和flatMap等方法。此外...

    java开发实战经典

    12. **Java EE相关**:虽然不是Java SE的主要内容,但可能会涉及Servlet、JSP、EJB、JMS、JNDI等Java企业级应用技术。 13. **设计模式**:介绍常见的设计模式,如单例模式、工厂模式、装饰者模式、代理模式、观察者...

    Java 命名和目录服务的接口

    4. **Java SE**:虽然JNDI主要应用于Java EE环境,但它也可以在Java SE中使用。 #### 五、JNDI API JNDI的主要API集中在以下几个包中: - `javax.naming`: 提供了基本的命名服务接口。 - `javax.naming.directory...

    uts1.2+JNDI+JDK1.5+MySql

    它的性能高、易于使用且支持多种数据库操作,与Java的JDBC接口结合,可以方便地在Java应用中进行数据操作。 在这样的项目配置中,开发者通常会使用Struts来处理HTTP请求,Spring来管理依赖和事务,Hibernate来处理...

    mysql-connector-java-8.0.29.jar

    MySQL Connector/J 8.0.29 是MySQL数据库与Java应用程序之间通信的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在Java应用中连接并操作MySQL数据库。...

    servlet学习笔记_JNDI.doc

    JNDI(Java Naming and Directory Interface),即Java命名和目录接口,是在分布式计算环境中使用的一种标准化接口,它允许Java应用程序查找和访问各种命名和目录服务中的共享组件及资源。 在分布式系统中,命名和...

    JAVA核心技术卷II:高级特性

    本书聚焦于Java语言中更高级的特性,包括下列内容:流与文件、网络、数据库编程、XML、JNDI与LDAP、国际化、高级GUI组件、Java 2D、JavaBeans、安全、RMI与Web服务、高级AWT、注解、本地方法。  关于Java基础知识的...

    mysql-connector-java-8.0.27.jar

    总之,`mysql-connector-java-8.0.27.jar`对于任何需要在Java应用中使用MySQL数据库的开发者来说,都是一个必不可少的组件,它简化了Java和MySQL之间的交互,使得数据库操作变得更加便捷和高效。

    JavaAPI.rar_Javaapi _java代码

    在开发过程中,这样的文档可以帮助开发者快速理解和使用Java API中的各种组件,提高开发效率。 `www.pudn.com.txt` 文件可能是一个来源或版权信息的文本文件,通常在下载资源时,提供者会附带这类文件来表明资源的...

    Core Java, Volume II--Advanced Features (9th Edition).pdf

    12. 分布式对象:本部分将探讨如何在Java中使用远程方法调用(RMI)以及企业Java Bean(EJB)来构建分布式应用程序。 13. 本地方法:有时候我们需要使用Java调用本地代码,书中将解释如何在Java中编写和使用本地...

    《Java核心技术 卷II:高级特性(原书第8版)》(中文高清PDF) 第三部分(一共三部分)

    本书聚焦于Java语言中更高级的特性,包括下列内容:流与文件、网络、数据库编程、XML、JNDI与LDAP、国际化、高级 GUI组件、Java 2D、JavaBeans、安全、RMI与Web服务、高级AWT、注解、本地方法。

    Java课程介绍.pdf

    Java SE API中的java.util包含了Math,String,StringBuffer,StringBuilder等常用类,而java.io则提供了丰富的I/O类,用于文件读写和网络数据传输。Java SE还包括了JVM(Java虚拟机),JRE(Java运行环境)和JDK...

Global site tag (gtag.js) - Google Analytics