Tomcat的Web工程调用Jboss的EJB

来源:互联网 发布:input name 数组 编辑:程序博客网 时间:2024/05/22 09:39

学习了下EJB,练习了如何在JBoss中调用EJB。

然后是学习Tomcat中的Web工程调用JBoss的EJB。

环境:

tomcat6+Jboss4.2.2GA

首先在Eclipse里建立一个java工程。

然后建立两个文件

HelloWorld.java

package com;

public interface HelloWorld {
 public String SayHello(String name);
 }

 

HelloWorldBean.java

package com;
import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless
@Remote ({HelloWorld.class})
public class HelloWorldBean implements HelloWorld {

 public String SayHello(String name) {
  // TODO Auto-generated method stub 
   return name +" is the first remote EJB";

 }

}

把jboss下的jboss-ejb3x.jar放到该工程的classpath里。

然后打包成HelloWorld.jar

部署到C:\jboss-4.0.4.GA\server\all\deploy目录下。

可以看到jboss console里会打印出来。

然后再建立一个web工程。

TestHello

建立一个index.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    
<html>
<head>
<title>The first EJB</title>
</head>

<body>
 <%
java.util.Properties props = new java.util.Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url","localhost:1099");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
javax.naming.InitialContext ctx;
try{
 ctx=new javax.naming.InitialContext(props);
 com.HelloWorld helloworld=(com.HelloWorld)ctx.lookup("HelloWorldBean/remote");
 out.println(helloworld.SayHello("Michael"));
}catch(javax.naming.NamingException e){
 e.printStackTrace();
}
%>
</body>
</html>

 

把这6个jar:jboss-aop-jdk50.jar,

jboss-aspect-library-jdk50.jar,

jboss-ejb3.jar,

jboss-remoting.jar,

jbossall-client.jar.放到工程的classpath里。

然后打包成TestHello.war。

部署到Tomcat里

然后运行 可以得到这个结果在界面

Michael is the first remote EJB

窗体顶端

 

原创粉丝点击