Tomcat5调用Weblogic8.1布署的EJB

来源:互联网 发布:vanelife软件 编辑:程序博客网 时间:2024/05/16 12:28

为了说明这个东东,我们做一个简单的例子,用户登录.

首先我们在Oracle中创建一张名为login的表,表中有两个字段,loginName,pwd,其中loginName为主键,输入测试数据,我这里输入的是用户名:yang,密码:yang

首先用Jbuilder2005创建一个工程,然后在数据源视图选择已经创建好连接Oracle的数据源(具体创建步骤详见我以前写的文章),并根据刚才的那张表创建一个CMP的EJB,在这里我们不需要改任何代码.然后我们再创建一个SessionBean,名为LoginEnterprise,在给他添加一个find方法.具体代码如下:

package todaytest;

import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.ejb.FinderException;

public class LoginEnterpriseBean implements SessionBean {
    SessionContext sessionContext;
    public void ejbCreate() throws CreateException {
    }

    public void ejbRemove() {
    }

    public void ejbActivate() {
    }

    public void ejbPassivate() {
    }


    public void setSessionContext(SessionContext sessionContext) {
        this.sessionContext = sessionContext;
    }

    public Boolean  find(String loginName, String pwd) throws NamingException,
            FinderException {
        Context ctx=new InitialContext();
        LoginHome home= (LoginHome)ctx.lookup("Login");
        Login login=home.findByPrimaryKey(loginName);
        String myPwd=login.getPwd();
        if(myPwd.equals(pwd))
        {
            return new Boolean(true);
        }
        else
        {
            return new Boolean(false);
        }
    }
}

创建好了以后,我们就可以打成jar包,并布署到Weblogic服务器上了.

然后我们再创建一个Web客户端,服务器采用Tomcat5,JDK采用1.4,这点很重要,如使用1.5及以后版本会报错的.工程创建好以后,要将EJB中的SessionBean的远程接口,Home接口两个类文件复制到此程的classes目录中.并将wlclient.jar文件放置到lib目录中,这个jar文件在Weblogic安装目录下可以找到的.

创建一个测试页面,具体代码如下:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="javax.naming.*" %>
<%@ page import="javax.ejb.*" %>
<%@ page import="todaytest.*" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.rmi.*" %>
<html>
<head>
<title>
testjsp
</title>
</head>
<body bgcolor="#ffffff">
<h1>
JBuilder Generated JSP
</h1>
<form method="post" action="testservlet">
<br><br>
<%
    javax.naming.Context ctx = null;
            Hashtable env = new Hashtable();

            env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

            env.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");

            ctx = new InitialContext(env);
          //  ctx = new InitialContext();
            todaytest.LoginEnterpriseHome home = null;
            Object obj = ctx.lookup("LoginEnterprise");
           
            home=(todaytest.LoginEnterpriseHome)javax.rmi.PortableRemoteObject.narrow(obj,todaytest.LoginEnterpriseHome.class);
   
      todaytest.LoginEnterprise login = null;
            login = home.create();
            Boolean loginFlag = login.find("yang","yang");
           System.out.println (loginFlag.booleanValue());
           out.print(loginFlag.booleanValue());
           out.print("<br>=====================<br>");
%>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>

现在OK了,马上启动Weblogic服务器,然后再启动Tomcat服务器进行测试吧!

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 保修期内发动机坏了怎么办 6s主板进水了怎么办 新买的狗晚上叫怎么办 官网手机坏了怎么办 小米商城买手机不发货怎么办 小米商城分期额度不够怎么办 京东买家未退款怎么办 京东自营不退款怎么办 苏宁易购的无门槛15元怎么办 小米5shome键失灵怎么办 苹果电量用的快怎么办 苹果5s掉电快怎么办 小米5s返回键失灵怎么办 苹果5s漏电是怎么办 苹果6s手机漏电怎么办 5s返回键失灵怎么办 苹果5s返回键失灵怎么办 小米5返回键失灵怎么办 小米手机返回键失灵怎么办 萍果6splus关机键失灵怎么办 苹果5s很快没电怎么办 天猫分期付款没有花呗怎么办 淘宝花呗分期额度不够怎么办 支付宝余额支付超限怎么办 想分期花呗不够怎么办 来分期提现不了怎么办 帮朋友分期手机他不还钱怎么办 手机分期套现被骗了怎么办 学生既有分期办手机被骗怎么办? 京东刚买完东西第二天降价了怎么办 微信上买东西不给退货怎么办 微信买东西转红包被骗怎么办 买手机分期被骗了怎么办 苹果手机摔弯了怎么办 6s主板摔弯了怎么办 京东显示器坏了怎么办 苹果6s手机弯了怎么办 苹果手机变弯了怎么办 苹果手机屏幕摔碎了怎么办 苹果6p后壳弯曲怎么办 苹果手机后壳有点弯曲怎么办