在WEB-INF中添加<env-entry>
    <env-entry-name>daoname</env-entry-name>
    <env-entry-value>com.zhx.**DAO</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
 </env-entry>java:comp/env/daoname

解决方案 »

  1.   

       在WEB-INF中添加   
       ???!@#$%^&*(
      

  2.   


      to  zhxx(zh_x) :      这和web.xml有什么关系啊
      

  3.   

        为啥没人理我,帮我UP一下也行啊,555,哭ing...
      

  4.   

    ("java:comp/env/param/MyDAOClass"); //这里有问题
    这力的MyDAOClass是要在你的配置文件里配置才能用的,你没配置怎么能就这么调用???
    先明白它的机理再来死搬硬套..否则肯定出错的... ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  5.   


    to zez(思恩 为老婆多挣钱 鹤清风) :    斑竹阁下,我就是不知道怎么配置,才向你请教的,能否帮我写个配置文件,或者有个这方面的例子也行,谢谢了.
      

  6.   

    sorry.我没做过.具体配置楼上很多人不是都说了吗?
    在web.xml文件里添加
    <env-entry>
        <env-entry-name>daoname</env-entry-name>         //资源名字
        <env-entry-value>com.zhx.**DAO</env-entry-value> //类
        <env-entry-type>java.lang.String</env-entry-type>
     </env-entry> ------------------------------------------------------
               我们还年轻牛奶会有的奶牛也会有的 
                 可天天在 csdn 混这些会有吗 ??
      

  7.   

    内容和题意不符:应该是个jndi的问题啊。不清楚楼主的程序的其它部分怎么写的,如果楼主把你的DAO名字字符串依附于某个ejb或者war的话如楼上大家说的,如果是独立出来的话,需要自己写Context.bind()操作的。
      

  8.   

    不知道搂主使用的ejb是否是本地的
    如果是远程的,就需要调用javax.rmi.PortableRemoteObject的“narrow()”的方法进行转换。否则会失败。
    另外,看你错误的地方,也有能你的jndi没有配置正确,一般ejb的jndi命名最好的ejb/XXX
    xxx可以是你的名字,如你写的param/MyDAOClass,这样你试一下。有时候我也遇到过这样的问题,改了以后就好了。
      

  9.   


     to asdmonster(努力学习VC,讨回失去的信誉分) :
         
         我想在SessionBean的Create()里调用dao = DAOFactory.getDAO();  DAO工厂和EJB在一个包里,现在的问题是lookup()不到MyDAO接口的实现类,这个实现类在SUN的例子里是用web.xml部署的,使我很迷糊,为什么一定要用web.xml呢?
      能否说的详细点. to  Martin2002() ( ) :
         
         这和EJB关系不大,EJB只是需要调用DAO工厂的getDAO()方法得到一个DAO对象,以便调用MyDAO接口定义的业务方法.
           
     
     to  zez(思恩 为老婆多挣钱 鹤清风) ( ):     web.xml我写了,我为了部署这个XML文件,在工程中加进了一个WEB模块,因为在EJB下没有这个部署描述文件,在ejb-jar.xml文件里写又不认WEB部署项的语法 ,所以只好这样了,:(     <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
    <web-app>
      <env-entry>
        <description>This Entry Provides the name for the CatalogDAO Implementation Class so the Fast Lane Pattern may be used</description>
          <env-entry-name>MyDAOClass</env-entry-name>
              <env-entry-type>java.lang.String</env-entry-type>
          <env-entry-value>petstoretest.MyDAOImpl</env-entry-value>
      </env-entry>
    </web-app>  部署WEB模块后还是不好使,在DAO工厂里我改为String className = (String) ic.lookup("java:comp/env/MyDAOClass");  为啥啊?  后来我干脆:
          String className = "MyDAOImpl";
          Dao = (MyDAO) Class.forName(className).newInstance();  还是不好使,哎,还得麻烦各位给看看
      

  10.   

    说个题外话 ,你用DAO 实现一个返回值 是ResultSet 的方法,这是一个很糟糕的做法
      

  11.   


        我好笨啊,连XML都没学明白就跑来问大家,惭愧ing