利用
JBOSS+MyEclipse
完成一个简单的
EJB
示例
目标:
1
、编写一个简单的无状态会话
Bean
,传入一个字符串参数,返回字符串
Hello +
字符串参数。
2
、通过
JSP
页面上输入一个字符串,提交到
Servlet
,并调用
EJB
,最后在一个页面上输出处理后的字符串。
工具:
JBOSS 4.2GA + Eclipse 3.2.2 +MyEclipse 5.5GA + JDK 1.6
首先需要搭建好各种环境,这一步比较简单,就不再赘述。唯一需要注意的是在启动
JBOSS
服务器时可能会出现一些问题。如端口号被占用而导致服务器无法启动。如果出现这个问题可以在
%JBOSS%/server/default/deploy/jboss-web.deployer/
目录下找到
server.xml
文件,修改
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="250" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
中的
port
属性,然后再重新启动服务器。默认端口是
8080
。
JBOSS
自带了
TOMCAT 5.X
,当然也可以使用另外的
Web
服务器,不过后面的程序会稍微有些改动。
环境搭建完成后就需要编写
EJB
代码。一个
EJB
至少需要
3
个类,即
Home
接口、远程接口、实现类。新建一个
EJB Project
,项目名为:
MyFirstEJB.
1
、创建
Home
接口
---HelloHome.java
package com.lovo.interfaces;
public interface HelloHome extends javax.ejb.EJBHome {
public com.lovo.interfaces.Hello create() throws javax.ejb.CreateException,
java.rmi.RemoteException;
}
2
、创建远程接口
---Hello.java
package com.lovo.interfaces;
public interface Hello extends javax.ejb.EJBObject {
public String sayHello(String message) throws java.rmi.RemoteException;
}
3
、创建实现类
---HelloBean.java
package com.lovo.ejb;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBException;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
public class HelloBean implements SessionBean {
private SessionContext context;
public HelloBean() {}
public void ejbActivate() throws EJBException, RemoteException {}
public void ejbPassivate()