Tomcat web工程 调用 JBOSS EJB local及remote
来源:互联网 发布:淘宝软妹店铺推荐 编辑:程序博客网 时间:2024/05/16 10:25
本人调试环境是:Tomcat7 jBOSS4.2.3GA
先创建一个普通的java项目 名为HelloWorld
导入JBOSS下的client下的所有jar包
接着开始进行编码
HelloWorld.java
package cn.heardy.ejb3;/** * 如果是远程调用,则使用此接口 * @author heardy * */public interface HelloWorld {public String sayHello(String name);}
HelloWorldLocal.java
package cn.heardy.ejb3;/** * 如果是本地调用,则使用此接口 * @author heardy * */public interface HelloWorldLocal extends HelloWorld {}
HelloWorldBean.java
package cn.heardy.ejb3.imp;import javax.ejb.Local;import javax.ejb.Remote;import javax.ejb.Stateless;import cn.heardy.ejb3.HelloWorld;import cn.heardy.ejb3.HelloWorldLocal;@Stateless@Remote(HelloWorld.class)@Local(HelloWorldLocal.class)public class HelloWorldBean implements HelloWorld, HelloWorldLocal {public String sayHello(String name) {return name + "说:你好,我来自JBOSS信息!";}}
HelloWorldTest.java
package ejbTest;import java.util.Properties;import javax.naming.InitialContext;import javax.naming.NamingException;import cn.heardy.ejb3.HelloWorld;public class HelloWorldTest {public static void main(String[] args) {/** * 硬编码模式 */try {Properties props = new Properties();// 设置JNDI驱动的类名props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");// 提供命名服务的URLprops.setProperty("java.naming.provider.url", "localhost:1099");InitialContext ctx = new InitialContext(props);HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");System.out.println(helloWorld.sayHello("Eclipse客户端"));} catch (NamingException e) {System.out.println(e.getMessage());}/** * 通过src下的jndi.properties进行初始化 */try {InitialContext ctx = new InitialContext();HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");System.out.println(helloWorld.sayHello("小明"));} catch (NamingException e) {System.out.println(e.getMessage());}}}jndi.properties
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactoryjava.naming.provider.url=localhost:1099
这样EJB服务端就开发完成了,将此项目打包成jar,发布到jboss下
项目结构图
项目部署到JBOSS后查询是否部署成功
接着运行HelloWorldTest,查看能否进行远程访问
Test运行后控制台打印的信息
接着进行客户端的开发
创建一个web项目,名为HelloWorldClient
导入JBOSS下的client下的所有jar包,及服务端打包的jar文件,其实服务端只需要打包接口就可以了,无需impl路径下的class
接着写jsp页面
index.jsp
<%@page import="javax.naming.NamingException"%><%@page import="cn.heardy.ejb3.HelloWorld"%><%@page import="javax.naming.InitialContext"%><%@page import="java.util.Properties"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%try {Properties props = new Properties();// 设置JNDI驱动的类名props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");// 提供命名服务的URLprops.setProperty("java.naming.provider.url", "localhost:1099");InitialContext ctx = new InitialContext(props);HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");out.println(helloWorld.sayHello("Tomcat Web Remote客户端"));} catch (NamingException e) {out.println(e.getMessage());}%></body></html>
indexLocal.jsp
<%@page import="javax.naming.NamingException"%><%@page import="cn.heardy.ejb3.HelloWorld"%><%@page import="javax.naming.InitialContext"%><%@page import="java.util.Properties"%><%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><%try {Properties props = new Properties();// 设置JNDI驱动的类名props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");// 提供命名服务的URLprops.setProperty("java.naming.provider.url", "localhost:1099");InitialContext ctx = new InitialContext(props);HelloWorld helloWorld = (HelloWorld) ctx.lookup("HelloWorldBean/local");out.println(helloWorld.sayHello("JBOSS Web Local客户端"));} catch (NamingException e) {out.println(e.getMessage());}%></body></html>
访问indexLocal.jsp:将此项目打包成war,去除包WEB-INF下的lib文件夹,将此war包部署到jboss上,通过浏览器访问此页面
访问本地接口
访问index.jsp:将此项目打包成war,WEB-INF下的lib文件夹需要导入BOSS下的client下的所有jar包,及服务端打包的jar文件,将此war包部署到tomcat上,tomcat不能用ide工具启动,我们需要直接启动tomcat,要不会报错,然后通过浏览器访问此页面
访问远程接口
lib下的部分jar包展示
打包后的相关包
源码级jar war包下载地址:http://download.csdn.net/detail/heardy/3720280
- Tomcat web工程 调用 JBOSS EJB local及remote
- Tomcat的Web工程调用Jboss的EJB
- Tomcat的Web工程调用Jboss的EJB
- tomcat中的web调用jboss中的ejb注意
- tomcat 5.5 调用 jboss 5.0 EJB java.security.PrivilegedActionException:
- EJB remote 和sessionBean,以及新工程调用EJB,实现数据的增删改查
- 实战在Jboss环境下Web Service调用EJB
- 实战-在Jboss环境下Web Service调用EJB
- EJB Remote/Local 绑定和JNDI Lookup
- 解读Ejb中Local与Remote项目
- EJB Local与Remote接口区别
- Tomcat集成jboss核心类库,在Tomcat中部署EJB容器seam工程
- web工程从TOMCAT移植到JBOSS中
- web工程从TOMCAT移植到JBOSS中
- Tomcat,JBoss与JBoss Web
- Tomcat,JBoss与JBoss Web
- ejb jboss myeclipse 环境搭建 工程实例
- EJB的Remote访问方式和Local访问方式
- Jquery 基本操作
- 版本控制工具git的安装和常用命令
- dirname(__FILE__).DIRECTORY_SEPARATOR
- iis 80端口 默认导航首页
- 集成手机短信的方式
- Tomcat web工程 调用 JBOSS EJB local及remote
- 如何用CSS+DIV制作二级菜单栏
- jquery Sortable参数说明
- 必须掌握的八个dos命令.
- kill的一点总结
- C++沉思录读书笔记(5章)-代理类
- Oracle NoSQL
- axis利用wsdl生成webservice服务器端和客户端代码实现
- Sun工作站Solaris系统设置双屏显示