1...
用下面的參考創建 EJB:
http://blog.csdn.net/oyoung/archive/2006/04/24/675043.aspx
注意:在 Project 的 "Java Build Path" -> "Libraries" 中增加 "External Jars":
%JBOSS_HOME%/server/all/lib/jboss-j2ee.jar
在 XDoclet 配置時,選擇 JBOSS version(3.0, 或者 4.0)...
2...
然後 deploy 到 JBOSS....
3...s
Project --> "Export" -->"JAR file" ,
選種項目的 src 文件夾,導出到 Jboss lib:
%JBOSS_HOME%/server/all/lib/FirstEjb.jar
4...
創建一個 Servlet,調用它:
http://localhost:8080/jmx-console/ 顯示:
jboss.j2ee
jndiName=ejb/WilliamWorld,service=EJB
注意:我創建的時候 jndiName 是 "ejb/WilliamWorld",
所以lookup是用下面這個,而不只是WilliamWorld:::
Object objRef=ctx.lookup("ejb/WilliamWorld");
import com.ejbstudy.*;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.CreateException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class testConverter extends HttpServlet {
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
/*
out.println("<!DOCTYPE HTML PUBLIC /"-//W3C//DTD HTML 4.01 Transitional//EN/">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", using the GET method.William Feng...");
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
*/
out.println("");
try
{
InitialContext ctx=new InitialContext();
Object objRef=ctx.lookup("ejb/WilliamWorld");
// 主接口
WilliamWorldHome home=(WilliamWorldHome)PortableRemoteObject.narrow(objRef,WilliamWorldHome.class);
// 組件接口
WilliamWorld bean=home.create();
out.println(bean.hello());
}
catch(NamingException ne)
{
out.println("Naming Exception caught:" +ne);
ne.printStackTrace(out);
}
catch(CreateException ce)
{
out.println("Create Exception caught:" +ce);
ce.printStackTrace(out);
}
out.println("");
}
}