RESIN下配置EJB有四个步骤
来源:互联网 发布:淘宝卖鞋子的店铺 编辑:程序博客网 时间:2024/04/29 14:47
(1)在WEBAPPS文件夹下建立文件夹-OPENAMF,在OPENAMF/WEB-INF/WEB.XML中<web-app>标签下添加以下定义:
<web-app>
<ejb-server config-directory="WEB-INF"/>
<servlet servlet-name="hessian" servlet-class="com.caucho.hessian.EJBServlet"/>
<servlet-mapping url-pattern="/hessian/*" servlet-name="hessian"/>
<jndi-link jndi-name="java:comp/env/ejb" factory="com.caucho.ejb.hessian.HessianContextFactory">
<init-param java.naming.provider.url="${app.url}/hessian"/>
</jndi-link>
(2)[1]创建EJB(HELLOBEAN.JAVA)
package org.zhangyafei.ejbTest;
import java.rmi.*;
import javax.ejb.*;
public class HelloBean
extends com.caucho.ejb.AbstractSessionBean {
public String sayHelloWorld(String arg)
{
return "嗨!AMF-RPC for Java" + arg;
}
public void ejbCreate() throws CreateException {
System.out.println("ejbCreate()");
}
public void ejbRemove() {
System.out.println("ejbRemove()");
}
public void ejbActivate() {
System.out.println("ejbActivate()");
}
public void ejbPassivate() {
System.out.println("ejbPassivate()");
}
public void setSessionContext(SessionContext ctx) {
}
}
HELLOBEAN。JAVA文件
[2]创建REMOTE接口(HELLO.JAVA)
package org.zhangyafei.ejbTest;
import java.rmi.*;
import javax.ejb.*;
public interface Hello extends EJBObject {
public String sayHelloWorld(String arg) throws RemoteException;
}
[3]创建HOME接口(HELLOHOME.JAVA)
package org.zhangyafei.ejbTest;
import java.rmi.*;
import javax.ejb.*;
public interface HelloHome extends EJBHome {
public Hello create() throws RemoteException, CreateException;
}
(3)部署EJB(hellobean.ejb)
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>helloEJB</ejb-name>
<home>org.zhangyafei.ejbTest.HelloHome</home>
<remote>org.zhangyafei.ejbTest.Hello</remote>
<ejb-class>org.zhangyafei.ejbTest.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
(4)使用EJB-----helloEJB.JSP
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ page import="com.caucho.hessian.client.HessianProxyFactory" %>
<%@ page import="javax.ejb.CreateException" %>
<%@ page import="org.zhangyafei.ejbTest.*" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>调用EJB</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<%
HelloHome helloHome;
// 使用Hessian协议连接到EJB服务器
try {
// 创建一个HessianProxyFactory
HessianProxyFactory factory = new HessianProxyFactory();
// 查询helloEJB的home接口
// helloEJB是由部署描述符的<ejb-name>标签定义的EJB名
String serverUrl = "http://localhost:8080/openamf/hessian/helloEJB";
helloHome = (HelloHome) factory.create(HelloHome.class,
serverUrl);
} catch (Exception e) {
throw new ServletException("/openamf/hessian/helloEJB", e);
}
%>
<%
try {
// 使用HelloHome创建一个Home stub
Hello hello = helloHome.create();
// 使用Home stub调用sayHelloWorld方法
out.println(hello.sayHelloWorld(",可以执行中文的"));
} catch (CreateException e) {
throw new ServletException(e);
}
%>
treterterter
</body>
</html>
<web-app>
<ejb-server config-directory="WEB-INF"/>
<servlet servlet-name="hessian" servlet-class="com.caucho.hessian.EJBServlet"/>
<servlet-mapping url-pattern="/hessian/*" servlet-name="hessian"/>
<jndi-link jndi-name="java:comp/env/ejb" factory="com.caucho.ejb.hessian.HessianContextFactory">
<init-param java.naming.provider.url="${app.url}/hessian"/>
</jndi-link>
(2)[1]创建EJB(HELLOBEAN.JAVA)
package org.zhangyafei.ejbTest;
import java.rmi.*;
import javax.ejb.*;
public class HelloBean
extends com.caucho.ejb.AbstractSessionBean {
public String sayHelloWorld(String arg)
{
return "嗨!AMF-RPC for Java" + arg;
}
public void ejbCreate() throws CreateException {
System.out.println("ejbCreate()");
}
public void ejbRemove() {
System.out.println("ejbRemove()");
}
public void ejbActivate() {
System.out.println("ejbActivate()");
}
public void ejbPassivate() {
System.out.println("ejbPassivate()");
}
public void setSessionContext(SessionContext ctx) {
}
}
HELLOBEAN。JAVA文件
[2]创建REMOTE接口(HELLO.JAVA)
package org.zhangyafei.ejbTest;
import java.rmi.*;
import javax.ejb.*;
public interface Hello extends EJBObject {
public String sayHelloWorld(String arg) throws RemoteException;
}
[3]创建HOME接口(HELLOHOME.JAVA)
package org.zhangyafei.ejbTest;
import java.rmi.*;
import javax.ejb.*;
public interface HelloHome extends EJBHome {
public Hello create() throws RemoteException, CreateException;
}
(3)部署EJB(hellobean.ejb)
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<enterprise-beans>
<session>
<ejb-name>helloEJB</ejb-name>
<home>org.zhangyafei.ejbTest.HelloHome</home>
<remote>org.zhangyafei.ejbTest.Hello</remote>
<ejb-class>org.zhangyafei.ejbTest.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
</session>
</enterprise-beans>
</ejb-jar>
(4)使用EJB-----helloEJB.JSP
<%@ page contentType="text/html; charset=utf-8" language="java" %>
<%@ page import="com.caucho.hessian.client.HessianProxyFactory" %>
<%@ page import="javax.ejb.CreateException" %>
<%@ page import="org.zhangyafei.ejbTest.*" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>调用EJB</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<%
HelloHome helloHome;
// 使用Hessian协议连接到EJB服务器
try {
// 创建一个HessianProxyFactory
HessianProxyFactory factory = new HessianProxyFactory();
// 查询helloEJB的home接口
// helloEJB是由部署描述符的<ejb-name>标签定义的EJB名
String serverUrl = "http://localhost:8080/openamf/hessian/helloEJB";
helloHome = (HelloHome) factory.create(HelloHome.class,
serverUrl);
} catch (Exception e) {
throw new ServletException("/openamf/hessian/helloEJB", e);
}
%>
<%
try {
// 使用HelloHome创建一个Home stub
Hello hello = helloHome.create();
// 使用Home stub调用sayHelloWorld方法
out.println(hello.sayHelloWorld(",可以执行中文的"));
} catch (CreateException e) {
throw new ServletException(e);
}
%>
treterterter
</body>
</html>
- RESIN下配置EJB有四个步骤
- resin下配置struts
- eclipse下配置Resin
- centOS下-resin配置
- eclipse 下 resin 配置
- Resin中配置Bean的详细步骤
- Resin下配置JSP虚拟主机
- eclipse下配置resin服务器
- linux 下配置 resin+nginx
- Windows下安装Resin配置
- Jboss下配置EJB
- Jboss下配置EJB
- 关于在resin下配置cocoon
- 如何在 resin下配置数据库连接池
- Linux下resin的安装以及配置:
- linux下resin的安装和配置
- Windows下Resin的配置与部署
- 如何在 resin下配置数据库连接池
- Java反编译-在MyEclipse安装Jad反编译插件
- 相关子查询和嵌套子查询 [SQL Server]
- OnEraseBkgnd、OnPaint与画面重绘
- Unity3D游戏引擎初探
- SELECT语句的执行顺序
- RESIN下配置EJB有四个步骤
- truncate,delete,drop
- NSAttributedString
- NDK Build 参数
- javascript 遍历一个对象object 有时会用到(转自:http://blog.csdn.net/peng_wu01/article/details/5569247)
- UPDATE、DELETE 语句中的子查询
- C++ Vector 使用心得
- 您绝对想不到的 SQL 子查询错误
- 外连接 ON 条件的三个作用及与 WHERE 的区别