在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
<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
???!@#$%^&*(
to zhxx(zh_x) : 这和web.xml有什么关系啊
这力的MyDAOClass是要在你的配置文件里配置才能用的,你没配置怎么能就这么调用???
先明白它的机理再来死搬硬套..否则肯定出错的... ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
to zez(思恩 为老婆多挣钱 鹤清风) : 斑竹阁下,我就是不知道怎么配置,才向你请教的,能否帮我写个配置文件,或者有个这方面的例子也行,谢谢了.
在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 混这些会有吗 ??
如果是远程的,就需要调用javax.rmi.PortableRemoteObject的“narrow()”的方法进行转换。否则会失败。
另外,看你错误的地方,也有能你的jndi没有配置正确,一般ejb的jndi命名最好的ejb/XXX
xxx可以是你的名字,如你写的param/MyDAOClass,这样你试一下。有时候我也遇到过这样的问题,改了以后就好了。
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(); 还是不好使,哎,还得麻烦各位给看看
我好笨啊,连XML都没学明白就跑来问大家,惭愧ing