使用servlet , jsp, javabean 调用ejb的方法

今天学习了ejb相关内容,小有收获。初步体验下来发现在使用servlet调用ejb时十分方便,而使用jsp,javabean调用ejb时则需要显示的使用JNDI。下来就来分别说说3种具体调用方法把。

 

首先,建立名为converterBean的本地ejb,然后在bean中添加本地方法toLowerCase()。这样ejb就算建好了。

 

接下来进入正题,使用servlet,jsp,javabean调用ejb方法。

 

1. servlet

    servlet比较简单.只需如下操作。

 

    @EJB
    private ConverterLocal converterBean;

 

    这样我们就可以通过converterBean这个对象直接调用ejb的函数了。

    @EJB这个annotation帮助我们减少了不少工作量。因此这个方法十分简单。

    可惜的是@EJB无法在jsp和javabean中使用。

 

2. jsp

    jsp调用ejb需要用到JNDI。操作如下。

 

    <%@ page import = "javax.naming.*"%>  <!--//JNDI名字服务模块-->

    <%@ page import = "com.ejb.*"%>   <!--//EJB的package名-->
    <%@ page import ="java.util.logging.*"%>

    <%
        ConverterLocal converterBean;
       try {
            Context c = new InitialContext();
            converterBean= (ConverterLocal) c.lookup("java:comp/env/ConverterBean");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }

    %〉

 

   此时,我们同样获得了converterBean这个对象。

 

3. javabean

    javabean与jsp的方法一致。如下。

 

import com.ejb.ConverterLocal;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

/**
 *
 * @author dada89007
 */
public class jspBean {
    private ConverterLocal lookupConverterBean() {
        try {
            Context c = new InitialContext();
            return (ConverterLocal) c.lookup("java:comp/env/ConverterBean");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }
}

    通过lookupConverterBean()这个函数得到了ejb的对象。

 

至此我们就可以灵活运用servlet,jsp,javabean调用ejb方法了。

 

ps:新手发帖。。。如有错误请指正。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值