EJB 与 Jboss : 1. main方法调用远程数据:(操作步骤) begin a:创建project b:找到jboss安装目录下的client文件,复制该文件下的所有jar。添加到工程中 c: 添加下列的所有程序(将以下代码) d: 使用eclipse中自带的工具export,将src目录下entity,servlct打成jar。 e:将打包的jar复制到jboss安装目录下 (如:C:/jboss/jboss-4.2.2.GA/server/default/deploy) f: 返回目录C:/jboss/jboss-4.2.2.GA/bin。启动run.bat服务,jboss将热部署刚才 打包的jar g: 返回工程执行main方法。 End 2. web远程调用数据:(操作步骤) begin a:创建project b:找到jboss安装目录下的client文件,复制该文件下的所有jar。添加到工程中 c: 添加下列的所有程序(将以下代码) d: 使用eclipse中自带的工具export,将src目录下entity,servlct打成jar。 e: 把刚才导进工程中的jar重新导出来,删除lib中的所有jiar f:使用ant执行build.xml文件,将生成后缀名为war的文件和刚才打包好的jar复制 到jboss安装目录下 (如:C:/jboss/jboss-4.2.2.GA/server/default/deploy) g:打开浏览器访问后缀为war的文件(将后缀删除) End package entity; public class Greeting implements java.io.Serializable{ private Integer id; private String name; public Greeting(){} public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } } //end entity package servlce; import java.util.List; import javax.ejb.Remote; import entity.Greeting; /*** * 创建接口 * * @author Administrator * */ @Remote public interface GreeterInt { public String greet(String message); public List<Greeting> getAllGreetings(); } //end interface package servlce; import java.util.ArrayList; import java.util.List; import javax.ejb.Stateless; import entity.Greeting; /** * 实现Bean * * @author Administrator * */ @Stateless public class GreeterBean implements GreeterInt{ public GreeterBean(){} @Override public List<Greeting> getAllGreetings() { List<Greeting> greetings = new ArrayList<Greeting>(); Greeting greeting = new Greeting(); greeting.setId(12); greeting.setName("Blll gates"); greetings.add(greeting); greeting = new Greeting(); greeting.setId(334); greeting.setName("xiaoling"); greetings.add(greeting); return greetings; } @Override public String greet(String message) { return "您好" + message; } } // end Bean //测试main方法 package test; import java.util.Properties; import javax.naming.Context; import javax.naming.InitialContext; import servlce.GreeterInt; public class Client { public static void main(String[] g) throws Exception{ Properties prop = new Properties(); prop.setProperty(Context.PROVIDER_URL, "localhost:1099"); prop.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.jnp.interfaces.NamingContextFactory"); InitialContext ctx = new InitialContext(prop); GreeterInt greeter = (GreeterInt) ctx.lookup("GreeterBean/remote"); System.out.println(greeter.greet("xiaoling")); System.out.println(greeter.getAllGreetings() .get(0).getName()); } } //end main WebRoot目录 WebRoot |-WETA-INF |-build.xml |- WEB-INF |- lib |- web.xm |- index.jsp Build.xml页面: <?xml version="1.0"?> <project name="war" default="war" basedir="."> <target name="war" description="创建WEB发布包"> <war warfile="${basedir}/my.war" webxml="${basedir}/WEB-INF/web.xml"> <fileset dir="${basedir}"> <include name="**"/> <exclude name="build.xml" /> <exclude name="/WEB-INF/web.xml" /> </fileset> </war> </target> </project> //end build.xml Index.jsp页面: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="javax.naming.Context,javax.naming.InitialContext,servlce.GreeterInt" %> <html> <head> <title> 测试第一个例子 </title> </head> <body> <% Properties prop = new Properties(); prop.setProperty(Context.PROVIDER_URL, "localhost:1099"); prop.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); prop.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); InitialContext ctx = new InitialContext(prop); GreeterInt greeter = (GreeterInt) ctx.lookup("GreeterBean/remote"); out.println(greeter.greet("xiaoling")); out.println(greeter.getAllGreetings().get(0).getName()); %> </body> </html> //end index.jsp