189 8069 5689

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> URL网址:<a href="http://cdxtjz.cn/article/dhdjegj.html">http://cdxtjz.cn/article/dhdjegj.html</a> </div> </div> <div class="other"> <h3>其他资讯</h3> <ul> <li> <a href="/article/coiogig.html">马来西亚主机服务器优势分析及推荐</a> </li><li> <a href="/article/coioijs.html">Linux系统异常日志分析(linux系统异常日志)</a> </li><li> <a href="/article/coiogej.html">笔记本电脑tipc接口有什么用?windowstipc</a> </li><li> <a href="/article/coiogec.html">美国VPS租用的问题是什么</a> </li><li> <a href="/article/coiogic.html">数据库服务器配置要求有哪些</a> </li> </ul> </div> </div> <footer> <div class="foot container"> <div class="footl fl"> <h3>联系我们</h3> <dl> 您好HELLO!<br> 感谢您来到成都网站建设公司,若您有合作意向,请您为我们留言或使用以下方式联系我们, 我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。 </dl> <ul> <li>电话:028- <span>86922220 18980695689</span></li> <li>商务合作邮箱:631063699@qq.com</li> <li>合作QQ: 532337155</li> <li>成都网站设计地址:成都市青羊区锣锅巷31号五金站写字楼6楼</li> </ul> </div> <div class="footr fr"> <h3>小谭建站工作室</h3> <dl> 成都小谭网站建设公司拥有多年以上互联网从业经验的团队,始终保持务实的风格,以"帮助客户成功"为已任,专注于提供对客户有价值的服务。 我们已为众企业及上市公司提供专业的网站建设服务。我们不只是一家网站建设的网络公司;我们对营销、技术、管理都有自己独特见解,小谭建站采取“创意+综合+营销”一体化的方式为您提供更专业的服务! </dl> <h3>小谭观点</h3> <dl> 相对传统的成都网站建设公司而言,小谭是互联网中的网站品牌策划,我们精于企业品牌与互联网相结合的整体战略服务。<br> 我们始终认为,网站必须注入企业基因,真正使网站成为企业vi的一部分,让整个网站品牌策划体系变的深入而持久。 </dl> </div> </div> <div class="link"> <div class="container"> <span> 友情链接:</span> <a href="http://www.kmruijie.cn/" title="成都工商办理" target="_blank">成都工商办理</a>   <a href="http://seo.cdkjz.cn/seo/" title="网站推广" target="_blank">网站推广</a>   <a href="http://www.msfdjzy.com/" title="眉山静音发电机组" target="_blank">眉山静音发电机组</a>   <a href="http://www.kmxishu.com/" title="kmxishu.com" target="_blank">kmxishu.com</a>   <a href="http://www.cdxwcx.cn/tuoguan/bgp.html" title="bgp多线机房托管" target="_blank">bgp多线机房托管</a>   <a href="http://www.cdnanxin.com/" title="保洁遂宁站" target="_blank">保洁遂宁站</a>   <a href="http://www.zgfdjwxgs.com/" title="资中发电机维修" target="_blank">资中发电机维修</a>   <a href="http://www.cxhljz.cn/wechat/" title="微官网开发" target="_blank">微官网开发</a>   <a href="http://www.cdkjz.cn/" title="成都网站设计" target="_blank">成都网站设计</a>   <a href="http://www.whsgsdz.com/" title="whsgsdz.com" target="_blank">whsgsdz.com</a>    </div> </div> <div class="copy"> © Copyright 2023 <a href="http://www.cdxtjz.cn/">小谭建站工作室</a>All Rights Reserved.  <a href="https://www.cdxwcx.com" target="_blank">成都网站建设</a> / <a href="https://www.cdcxhl.com/" target="_blank">成都网站建设</a> / <a href="https://www.cdxwcx.com" target="_blank">响应式网站建设</a> / <a href="https://www.cdcxhl.com/zuyong/" target=" _blank">成都服务器租用</a></div> </footer> </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>