以上是最后的文件层次结构。 (源码下载窗口:http://download.csdn.net/detail/shuai_1314/290208 )
test.jsp:
<%@ page contentType="text/html; charset=GBK" import="java.util.*,javax.naming.*,javax.ejb.*,java.rmi.*,javax.rmi.*,com.accp.*"%>
<%
try
{
Context inital = new InitialContext();
Object obj = inital.lookup("Dog");
DogHome home = (DogHome)PortableRemoteObject.narrow(obj,obj.getClass());
Dog dog = home.create();
dog.sayHello("LiuKuan");
out.println("jboss命令行输出'LiuKuan'");
}catch(Exception ex)
{
out.println(ex);
}
%>
web.xml: 里面什么实际内容都没有。
ejb-jar.xml:里面的主体内容为:
<session>
<display-name>Dog</display-name>
<ejb-name>Dog</ejb-name>
<home>com.accp.DogHome</home>
<remote>com.accp.Dog</remote>
<ejb-class>com.accp.DogBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
</session>
jboss.xml:里面的主体内容为:
<session>
<ejb-name>Dog</ejb-name>
<jndi-name>Dog</jndi-name>
</session>
特别在注意:上面 jndi-name 是Dog,而不是默认的 DogBean ;
当把DogBean变为Dog时,命令行窗口下输出:(若不改此值,则报错! 如果test.jsp和jboss.xml中的jndi-name都为DogBean也通过!)
将aWeb.war和Dog.jar都放在默认部署目录下:D:\jboss-5.1.0GA\server\default\deploy
在浏览器地址栏输入:http://localhost:8080/aWeb/test.jsp
则在网页输出:jboss命令行输出'LiuKuan'
在jboss命令行窗口输出:LiuKuan
附上DogBean.java源文件:(其他代码XDoclet自动生成)
package com.accp;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
/**
* @ejb.bean name="Dog"
* jndi-name="DogBean"
* type="Stateless"
*
**/
public class DogBean implements SessionBean {
/**
* @ejb.interface-method
* view-type="remote"
**/
public void sayHello(String s){
System.out.println(s);
}
public void ejbActivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbPassivate() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void ejbRemove() throws EJBException, RemoteException {
// TODO Auto-generated method stub
}
public void setSessionContext(SessionContext arg0) throws EJBException,
RemoteException {
// TODO Auto-generated method stub
}
public void ejbCreate()throws CreateException{}
}