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处理数据是一项常见的任务,尤其是在开发企业级应用时,需要对数据库进行高效、灵活的管理和操作。Hibernate作为一个流行的Object-Relational Mapping(ORM)框架,能够简化Java程序员...
Java 通过JNDI(Java Naming and Directory Interface)访问...而在Java SE或非Java EE环境中,可能需要自定义JNDI环境和数据源。无论哪种方式,JNDI都能帮助我们实现数据库连接的管理和复用,提高应用的稳定性和性能。
Java 2 Standard Edition (Java SE) 6 是Java平台的核心版本,主要面向桌面应用和...虽然Java SE 6已经比较陈旧,但其基础概念和许多API在后续版本中依然适用,因此这份文档对初学者和有经验的开发者都具有很高的价值。
总结起来,这个压缩包提供了使用JNDI进行数据源管理所需的全部库文件,对于在WebSphere或其他支持JNDI的环境中开发和部署Java应用是必不可少的。正确理解和使用这些JNDI相关库,能够帮助开发者构建更加灵活和可扩展...
Java SE 5中还包括了其他的许多新特性,如枚举类型、类型安全的数组初始化、匿名内部类的改进等,这些都极大地丰富了Java语言的功能,提升了开发效率和代码质量。 总之,Java从其诞生至今,不断演进和发展,成为了...
以上仅是Java JDK API中文开发文档中部分关键知识点的概述,实际文档中还涵盖了JDBC数据库连接、JavaFX图形用户界面、JavaMail邮件处理、JNDI命名和目录服务等更多内容。通过深入阅读和理解这份文档,开发者可以更好...
3. **添加资源引用**:为了能够在Web应用中使用上面配置的数据源,还需要在`tomcat/conf/web.xml`文件中添加资源引用配置。 ```xml <description>DBConnection <res-ref-name>jdbc/你的数据库别名 <res-type>...
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 ...
流(Streams)、文件(Files)和正则表达式(Regular Expressions):在Java SE 8中引入的流库为处理集合提供了全新的、函数式的方法。它允许开发者以声明式方式操作数据,比如使用filter、map和flatMap等方法。此外...
12. **Java EE相关**:虽然不是Java SE的主要内容,但可能会涉及Servlet、JSP、EJB、JMS、JNDI等Java企业级应用技术。 13. **设计模式**:介绍常见的设计模式,如单例模式、工厂模式、装饰者模式、代理模式、观察者...
4. **Java SE**:虽然JNDI主要应用于Java EE环境,但它也可以在Java SE中使用。 #### 五、JNDI API JNDI的主要API集中在以下几个包中: - `javax.naming`: 提供了基本的命名服务接口。 - `javax.naming.directory...
它的性能高、易于使用且支持多种数据库操作,与Java的JDBC接口结合,可以方便地在Java应用中进行数据操作。 在这样的项目配置中,开发者通常会使用Struts来处理HTTP请求,Spring来管理依赖和事务,Hibernate来处理...
MySQL Connector/J 8.0.29 是MySQL数据库与Java应用程序之间通信的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够方便地在Java应用中连接并操作MySQL数据库。...
JNDI(Java Naming and Directory Interface),即Java命名和目录接口,是在分布式计算环境中使用的一种标准化接口,它允许Java应用程序查找和访问各种命名和目录服务中的共享组件及资源。 在分布式系统中,命名和...
本书聚焦于Java语言中更高级的特性,包括下列内容:流与文件、网络、数据库编程、XML、JNDI与LDAP、国际化、高级GUI组件、Java 2D、JavaBeans、安全、RMI与Web服务、高级AWT、注解、本地方法。 关于Java基础知识的...
总之,`mysql-connector-java-8.0.27.jar`对于任何需要在Java应用中使用MySQL数据库的开发者来说,都是一个必不可少的组件,它简化了Java和MySQL之间的交互,使得数据库操作变得更加便捷和高效。
在开发过程中,这样的文档可以帮助开发者快速理解和使用Java API中的各种组件,提高开发效率。 `www.pudn.com.txt` 文件可能是一个来源或版权信息的文本文件,通常在下载资源时,提供者会附带这类文件来表明资源的...
12. 分布式对象:本部分将探讨如何在Java中使用远程方法调用(RMI)以及企业Java Bean(EJB)来构建分布式应用程序。 13. 本地方法:有时候我们需要使用Java调用本地代码,书中将解释如何在Java中编写和使用本地...
本书聚焦于Java语言中更高级的特性,包括下列内容:流与文件、网络、数据库编程、XML、JNDI与LDAP、国际化、高级 GUI组件、Java 2D、JavaBeans、安全、RMI与Web服务、高级AWT、注解、本地方法。
Java SE API中的java.util包含了Math,String,StringBuffer,StringBuilder等常用类,而java.io则提供了丰富的I/O类,用于文件读写和网络数据传输。Java SE还包括了JVM(Java虚拟机),JRE(Java运行环境)和JDK...