Jboss4.x下helloworld的EJB2.x程序

来源:百度文库 编辑:神马文学网 时间:2024/05/02 11:12:54
文件结构:
E:.
│ build.XML

└─src
├─META-INF
│      application.xml
│      ejb-jar.xml
│      jboss.xml

├─powerwind
│      ClientServlet.Java
│      Hello.java
│      HelloBean.java
│      HelloHome.java

└─WEB-INF
jboss-web.xml
web.xml
ant文件
build.xml

































































todir="${jboss.home}/server/default/deploy" />


更多的请看:http://www.QQread.com/windows/2003/index.Html
java源文件
Hello.java
package powerwind;
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
publicinterface Hello extends EJBObject {
public String sayHello() throws RemoteException;
}
HelloHome.java
package powerwind;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
publicinterface HelloHome extends EJBHome {
public Hello create() throws RemoteException, CreateException;
}
HelloBean.java
package powerwind;
import java.rmi.RemoteException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
publicclass HelloBean implements SessionBean {
private SessionContext context;
publicvoid ejbCreate() throws EJBException, RemoteException {
}
publicvoid ejbActivate() throws EJBException, RemoteException {
}
publicvoid ejbPassivate() throws EJBException, RemoteException {
}
publicvoid ejbRemove() throws EJBException, RemoteException {
}
publicvoid setSessionContext(SessionContext newContext)
throws EJBException {
context = newContext;
}
public String sayHello() throws EJBException {
return"Hello from ejb";
}
}
用于测试的Servlet
ClientServlet.java
package powerwind;
import java.io.IOException;
import java.io.PrintWriter;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
publicclass ClientServlet extends HttpServlet {
publicvoid doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String message = null;
try {
InitialContext ic = new InitialContext();
Object obj = ic.lookup("HelloEJB");
HelloHome home = (HelloHome) PortableRemoteObject.narrow(obj,
powerwind.HelloHome.class);
Hello hello = home.create();
message = hello.sayHello();
} catch (Exception e) {
e.printStackTrace();
}
out.println(message);
out.flush();
out.close();
}
publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
更多的请看:http://www.qqread.com/windows/2003/index.html
配置文件:
ejb-jar.xml



HelloEJB,my first ejb program
HelloEJB


HelloEJB
powerwind.HelloHome
powerwind.Hello
powerwind.HelloBean
Stateless
Container



jboss-jar




HelloEJB
HelloEJB



application.xml


HelloEJB J2EE Application


HelloEJB.war
/HelloEJB



HelloEJB.jar


jboss-web.xml



HelloEJB
HelloEJB


web.xml

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

ClientServlet
powerwind.ClientServlet


ClientServlet
/ClientServlet


HelloEJB
Session
powerwind.HelloHome
powerwind.Hello


输入 ant –deploy 部署,启动Jboss服务器,在浏览器地址栏输入:
http://localhost:8080/HelloEJB/ClientServlet
然后看到浏览器输出“Hello from ejb”,就是成功了。