配置数据源然后通过JNDI方式访问

解决方案 »

  1.   

    那要看什么驱动
    如果用jdbcOdbc的话,那就用Odbc数据源!
      

  2.   

    每个数据库对因一个数据源。通过JNDI访问
      

  3.   

    JNDI全称 Java Naming and Directory Interface 
    JNDI是Java平台的一个标准扩展,提供了一组接口、类和关于命名空间的概念。如同其它很多Java技术一样,JDNI是provider-based的技术,暴露了一个API和一个服务供应接口(SPI)。这意味着任何基于名字的技术都能通过JNDI而提供服务,只要JNDI支持这项技术。JNDI目前所支持的技术包括LDAP、CORBA Common Object Service(COS)名字服务、RMI、NDS、DNS、Windows注册表等等。很多J2EE技术,包括EJB都依靠JNDI来组织和定位实体。 
     JDNI通过绑定的概念将对象和名称联系起来。在一个文件系统中,文件名被绑定给文件。在DNS中,一个IP地址绑定一个URL。在目录服务中,一个对象名被绑定给一个对象实体。 
     JNDI中的一组绑定作为上下文来引用。每个上下文暴露的一组操作是一致的。例如,每个上下文提供了一个查找操作,返回指定名字的相应对象。每个上下文都提供了绑定和撤除绑定名字到某个对象的操作。JNDI使用通用的方式来暴露命名空间,即使用分层上下文以及使用相同命名语法的子上下文。 
      jndi的用途: 
     1。你可以用jndi来得到object类的属性 
    如:Attribute attr =directory.getAttributes(personName).get("email"); 
      String email = (String)attr.get(); 
     2。你可以用jndi来搜索对象 
    如:foxes = directory.search("o=Wiz,c=US", "sn=Fox", controls); 
    查找谁的名字叫Fox在wiz部门的员工? 
     3。你可以用jndi通过naming/directory服务查询像printers和databases的对象 
    如:查询  Printer 
    Printer printer = (Printer)namespace.lookup(printerName); 
    printer.print(document); 
     4。你可以用jndi列表出命名空间的特殊级别的内容 
    如: 
      NamingEnumeration list = namespace.list("o=Widget, c=US"); 
    while (list.hasMore()) { 
      NameClassPair entry = (NameClassPair)list.next(); 
      display(entry.getName(), entry.getClassName()); 

      

  4.   

    通过JNDI访问,每个数据库对应一个数据源。
      

  5.   

    肯定是JDBC,连接池(数据源)也是通过JDBC,产品一般都使用连接池。
      

  6.   

    我用两种:
    1.配置tomcat连接池
    2.在struts-config.xml配置datasource用jndi连接
      

  7.   

    没有人用Struts里面自带的DataSource来连接数据库吗?