Eclipse+JBoss+EJB3使用SessionBean的本地接口

有时客户端程序(如JSP、Servlet)会和EJB组件运行在同一个JVM上,如在同一个J2EE服务器(JBoss、Weblogic等)中运行。这时就没必要

成都创新互联于2013年成立,先为荣县等服务建站,荣县等地企业,进行企业商务咨询服务。为荣县企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

再通过远程(remote)接口访问Session Bean了,因为客户端和session bean都在同一个jvm上,只需要通过本地接口(local)访问即可。就象直接访问本地类一样(当然,不能直接访问EJB类,需要使用jndi和 local接口来获得本地接口对象。当然,也可以通过remote接口来访问ejb,不过这样会有一些性能损失。就象在同一台机器上还通过socket进行访问一样,很多性能都损耗在网络上了。下面我们来举个简单的例子来看一下如何使用本地接口来访问session bean。
    先建立一个session bean本地接口,代码如下:

 

      
      
      
  1. package service;  
  2.  
  3. import java.util.List;  
  4. import javax.ejb.Local;  
  5.  
  6. @Local  
  7. public interface ShoppingCart  
  8. {  
  9.     //  添加某个商品信息  
  10.     public void addCommodity (String value);  
  11.     //  获得客户购买的所有商品的纱衔泥  
  12.     public List getCommodity();  

 

关于Session Bean的具体实现类与远程接口的实现类一样,读者可以参考《编写有状态的SessionBean》一文中的ShoppingCartBean类。

下面在Eclipse中新建立一个Web工程(工程名:JBossWeb),该工程需要引用MyEJB工程(包含EJB组件的工程),在WebContent目录中建立一个test.jsp页面,代码如下:

 

      
      
      
  1. <%@ page language="java" contentType="text/html; charset=GB18030" 
  2.     pageEncoding="GB18030" import="java.util.List,java.util.Propert     
  3. javax.naming.InitialContext,service.ShoppingCart"%> 
  4. > 
  5.  
  6.  
  7.  http-equiv="Content-Type" content="text/html; charset=GB18030"> 
  8. </strong>Insert title here<strong> title></strong> </li> <li><strong> head></strong> </li> <li><strong><body></strong> </li> <li> </li> <li><strong> body></strong> remote  </li> <li><strong><</strong>%  </li> <li>    Properties prop = new Properties();  </li> <li>    InitialContext ctx = new InitialContext();          </li> <li>    ShoppingCart shoppingCart = (ShoppingCart) ctx  </li> <li>        .lookup("ShoppingCartBean/local");  </li> <li>    shoppingCart.addCommodity("自行车");  </li> <li>    shoppingCart.addCommodity("笔记本电脑");  </li> <li>    shoppingCart.addCommodity("液晶电视");  </li> <li>    List<strong><String></strong> commodities = shoppingCart.getCommodity();  </li> <li>    for(String commodity: commodities)  </li> <li>    {  </li> <li>        System.out.println(commodity);  </li> <li>    }   </li> <li>%<strong>></strong> </li> <li><strong> html></strong> </li> </ol></pre> </td></tr></tbody></table><p> </p><p>访问本地接口要使用的jndi name应为“ShoppingCartBean/local”。<br />启动JBoss,在浏览器中输入如下的URL:<br />http://localhost:8080/JBossWeb/test.jsp<br />在Eclipse的Console中会输出如下的信息:</p><table cellspacing="0" cellpadding="2" width="400" border="1"> <tbody> <tr><td><pre><p> </p><pre> <ol> <li>16:55:17,633 INFO  [STDOUT] 自行车  </li> <li>16:55:17,633 INFO  [STDOUT] 笔记本电脑  </li> <li>16:55:17,633 INFO  [STDOUT] 液晶电视  </li> </ol></pre> </td></tr></tbody></table> <br> 当前文章:Eclipse+JBoss+EJB3使用SessionBean的本地接口 <br> 本文路径:<a href="http://jxruijie.cn/article/dhdjegj.html">http://jxruijie.cn/article/dhdjegj.html</a> </div> </div> <div class="contentr fr"> <h3>其他资讯</h3> <ul> <li> <a href="/article/dpeccgs.html">为什么有的网站移动宽带打不开电信宽带却能打开?(我服务器上这个用电信和联通可以正常打开)</a> </li><li> <a href="/article/dpecsde.html">IT认证指南:供应商信息安全中级认证</a> </li><li> <a href="/article/dpeccph.html">怎么和自己的视频合拍?(抖音怎么合拍视频)</a> </li><li> <a href="/article/dpecsod.html">电脑重启后为什么下载速度明显提高?新服务器开机无限重启</a> </li><li> <a href="/article/dpecchi.html">初始化电脑选择云和本地的区别?(传统服务器与云服务器)</a> </li> </ul> </div> </div> </div> <!--底部--> <footer> <div class="foot"> <div class="container"> <h1>广皓图文建站您身边的网站建设服务商</h1> <div class="foot1"> <ul> <li> <dl><i class="iconfont"></i><b>地址ADDRESS</b></dl> <p>四川-成都青羊区太升南路288号<br> 锦天国际A座10楼 </p> </li> <li> <dl><i class="iconfont"></i><b>电话/TEL</b></dl> <p><a href="tel:02886922220" target="_blank">028 86922220</a> (工作日)<br> <a href="tel:18980820575" target="_blank">1898082 0575</a> ( 7x24 ) </p> </li> <li> <dl><i class="iconfont"></i><b>QQ咨询</b></dl> <p> 244261566 (售前)<br> 631063699 (售后) </p> </li> <li> <dl><i class="iconfont"></i><b>邮箱/E: mail</b></dl> <p> service@cdcxhl.com (业务)<br> hr@cdcxhl.com (求职) </p> </li> </ul> </div> <div class="link"> 友情链接: <a href="http://www.xhgfhy.com/ " title="成都雨棚定制" target="_blank">成都雨棚定制</a>   <a href="http://www.ytwzsj.com/" title="帝美豪门窗" target="_blank">帝美豪门窗</a>   <a href="http://www.cdgszcdb.com/" title="成都代办建筑资质" target="_blank">成都代办建筑资质</a>   <a href="https://www.cdxwcx.com/wangzhan/gaiban.html" title="成都网站改版" target="_blank">成都网站改版</a>   <a href="http://www.cdfuwuqi.com/jigui/" title="服务器机柜" target="_blank">服务器机柜</a>   <a href="http://www.gddkgd.com/" title="图文广告制作" target="_blank">图文广告制作</a>   <a href="http://www.kswsj.com/" title="成都网页设计" target="_blank">成都网页设计</a>   <a href="http://www.cdfdjby.com/" title="成都发电机保养公司" target="_blank">成都发电机保养公司</a>   <a href="http://www.xixinidc.com/" title="西信IDC数据中心" target="_blank">西信IDC数据中心</a>   <a href="https://www.scvps.cn/services/mail/" title="企业邮箱" target="_blank">企业邮箱</a>    </div> </div> </div> <div class="copy container"> Copyright © 2025 All Rights Reserved. 青羊区广皓图文设计工作室(个体工商户) 版权所有 <a href="http://www.beian.miit.gov.cn/" target="_blank" rel="nofollow">蜀ICP备2025118593号-7</a> [原创设计,独立版权。未经许可.不得拷贝或镜像]<br> <a href="http://www.kswsj.cn/" target="_blank">网站营销推广</a> | <a href="https://www.cdcxhl.com/pinpai.html" target="_blank">品牌网站设计</a> | <a href="http://www.cdweb.net/" target="_blank">自适应网站建设</a> | <a href="http://cdkjz.cn/wangzhan/pinpai/" target="_blank">品牌网站建设</a> | <a href="http://chengdu.cdxwcx.cn/" target="_blank">成都网站制作</a> | <a href="https://www.cdcxhl.com/cloud/" target="_blank">云服务器</a> | <a href="https://www.cdcxhl.com/weihu/abazhou.html" target="_blank">自贡网站维护</a> | (自贡网站建设QQ : 631063699 )</div> </footer> <!--在线咨询--> <div class="fot"> <ul> <li> <a href="mqqwpa://im/chat?chat_type=wpa&uin=532337155&version=1&src_type=web&web_src=oicqzone.com" target="_blank"> <img src="/Public/Home/img/fot1.png" alt="建站咨询"> <p>在线咨询</p> </a> </li> <li> <a href="tel:18980820575" target="_blank"> <img src="/Public/Home/img/fot2.png" alt="建站电话"> <p>拨打电话</p> </a> </li> </ul> </div> </body> </html> <script> $(".con img").each(function(){ var src = $(this).attr("src"); //获取图片地址 var str=new RegExp("http"); var result=str.test(src); if(result==false){ var url = "https://www.cdcxhl.com"+src; //绝对路径 $(this).attr("src",url); } }); window.onload=function(){ document.oncontextmenu=function(){ return false; } } </script>