1:为什么java的源文件,需要放在目录很深的层次结构里?
com.foshop.ejb3.customer.test.java
2:jndi的名称如何确定,在http://localhost:8080/
如何找到匹配的jndi后,如何确定它的jndi名?
或者 @ejb(name=?)
@ejb(beanname=?)
@ejb(mappedname=?)
@injectejb(name=?)

解决方案 »

  1.   

    回答第二个问题
    我习惯这样命名jndi/数据库名称 例 jndi/users
      

  2.   

    1,是编程习惯,前边的包名是按域名比如net.csdn.xxx,后面跟着是模块名,
    比如你看到net.csdn.xxx.service.就知道这是业务层,维护起来也方便,要不然你n多
    文件放一个包中了,一看100多个文件(有点夸张),看着都晕了
    2.jndi 是根据你服务器的实现而定的,每个服务器的名字都不太一样,去查下服务器的文档
    应该有例子的
      

  3.   

    第一个是层次清晰,防止重名。
    第二个很多,看个人习惯了。我用jdbc/databasename
      

  4.   

    1,是编程习惯,前边的包名是按域名比如net.csdn.xxx,后面跟着是模块名, 
    比如你看到net.csdn.xxx.service.就知道这是业务层,维护起来也方便,要不然你n多 
    文件放一个包中了,一看100多个文件(有点夸张),看着都晕了 
    2.jndi 是根据你服务器的实现而定的,每个服务器的名字都不太一样,去查下服务器的文档 
    应该有例子的顶
      

  5.   

    我回答第一个,不同职责的类是要分类置于不同包内的,1来一目了然便于查找,2来形成了“包访问权限”的限制;表述职责或层次的包前面通常是小队、组织、域名的反写,比如hibernate.org反写后就变成了org.hibernate,tij里有介绍,这是为了避免包名的重复,因为域名是不可能重复的。
      

  6.   

    第一个:是层次清晰,防止重名。
    第二个:如果项目很大的情况下有JNDI命名绑定不会引发异常错误!!
    在spring配置文件中关于连接数据库的时候经常会使用JNDI命名其实绑定的只是不许有重复的KEY值而已!