ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:691.38KB ,
资源ID:30737129      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30737129.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验五 JNDI及会话Bean.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验五 JNDI及会话Bean.docx

1、实验五 JNDI及会话Bean实验五 JNDI及会话Bean实验内容学习JNDI的概念及使用学习会话Bean的编写、部署及调用学习JBoss的配置实验目的了解JNDI使用方法掌握会话Bean的编写、部署及调用方法掌握有状态Session Bean与无状态Session Bean的区别环境要求服务器:JBoss6.0以上集成开发环境:myEclipse 8.5 或更高实验指导1、在Eclipse中配置JBoss1) 下载JBoss-6.0.0.CR1,并解压;2) 添加环境变量“JBoSS_HOME”为JBoss的安装目录3) 启动myEclipse,在下方的“Server”选项卡中点击右键,在

2、快捷菜单中选择“Configuer Server Connector”,打开如下对话框:4) 在左侧列表中选择“Servers”列表中的“JBoss”-“JBoss v6.x”,然后在右侧面板中的“JBoss server”中选择“Enable”,并在“JBoss home directory”中指明你JBoss的安装目录。然后点击“ok”按钮。2、JNDI的使用1) 在JBoss下绑定将资源绑定到JNDI。i. 创建一个“Web Project”工程名为“jndi”。ii. 创建一个JSP页面“index.jsp”,并编写如下内容:iii. 将此工程发布到JBoss上,然后启动JBoss。i

3、v. 打开另一个浏览器窗口,访问一次刚发布的jdni的index.jsp页面,若看到“绑定成功. ”,表示JNDI名已经绑定成功。2) 通过JNDI查询并引用绑定对象i. 创建一个“Java project”工程,工程名为“jndiClient”。ii. 在工程名上点击右键,在弹出的快捷菜单中选择“Build Path”-“Configure Bulid Path”,弹出如下对话框:点击“Add External JARS.”按钮,将JBoss安装目录中“client”目录中的所有Jar文件添加(jndi的客户端类库)。iii. 添加一个类“Client”,代码如下:iv. 运行上面代码,应该

4、看到如图窗口:3、编写会话Bean1) 无状态会话Beani. 创建一个“EJB Project”工程“MyEJB”,界面如下图。取消“Add Support for Entity beans”的选择,然后点击“Finish”按钮。ii. 创建一个包:“cn.bean”用于保存EJB的类和其对应的接口文件。iii. 创建一个叫SayHi的“EJB3 Session Bean”,如下图:选中“Create Interface”的“Local”和“Remote”,即为此类创建远程接口和本地接口,对应类文件为:SayHiLocal.java和SayHiRemote.java。“Session Typ

5、e”(会话类型):Stateless(无状态会话Bean)。iv. 两个接口内容如下:v. 编写会话类:SayHi,并实现以上两个接口。其内容如下:vi. 部署EJB:在前面创建的JBoss Server的图标上点击右键,在弹出的快捷菜单中选择“Add Deployment.”,弹出对话框如下图:在“Project”中选择当前工程“MyEJB”。vii. 启动JBoss。2) 编写远程客户端 i. 创建一个“Java Project”工程,名为“EJBClient”。ii. 编辑“Build Path”将JBoss目录中Client中的所有的JAR包添加到工程的类路径上。iii. 编辑“Bui

6、ld Path”,在“Projects”选项卡中将“MyEJB”工程添加的列表(如图),或复制上面EJB工程中的远程接口文件SayHIRemote包括整个包,到本工程中。3) 创建一个类Client,代码如下: 2)有状态会话Bean(1)编写一个有状态会话Bean完成购物车的功能。新建一个名叫“CartBean”的EJB3 Session Bean,对话框如下:CartBean类的代码如下:package cn.bean;import java.util.ArrayList;import java.util.HashMap;import javax.ejb.Stateful;Stateful

7、(mappedName=cart)/指明JNDI名为cartpublic class CartBean implements CartBeanLocal, CartBeanRemote /商品信息列表,信息包括:gdID(编号),name(商品名),price(单价),number(购买数量) private ArrayListHashMap goodsList = new ArrayListHashMap(); /添加商品 public void add(HashMap goods) boolean found = false; for(HashMap gd:goodsList) if(gd

8、.get(gdID).toString().equals(goods.get(gdID).toString() int num = (Integer) gd.get(number); gd.put(number, num + 1); found = true; break; if(!found) goods.put(number, 1); goodsList.add(goods); /删除商品 public void delete(String gdID) for(HashMap gd:goodsList) if(gd.get(gdID).toString().equals(gdID) goo

9、dsList.remove(gd); break; /清空购物车 public void clearCart() goodsList.clear(); /获得商品清单 public ArrayListHashMap getGoodsList() return goodsList; 两个接口的代码:Localpublic interface CartBeanLocal public void add(HashMap goods); public void delete(String gdID); public void clearCart(); public ArrayListHashMap g

10、etGoodsList();Remotepublic interface CartBeanRemote public void add(HashMap goods); public void delete(String gdID); public void clearCart(); public ArrayListHashMap getGoodsList();(2)创建一个Web工程作为CartBean的客户端。创建一个名为“cart”的Web工程,复制上边EJB3工程的中的本地接口文件(CartBeanLocal)包括包名到本工程中。创建几个JSP页面完成商品的购买(放入购物车)、查看购物车

11、、清除购物车的功能。index.jsp:功能显示商品列表及添加到购物车的链接,代码如下: My JSP index.jsp starting page % /下面代码模拟生成商品列表,各位可以通过数据库获取 ArrayListHashMap gds; gds = (ArrayListHashMap)session.getAttribute(gds); if(gds = null) gds = new ArrayListHashMap(); HashMap tmp = new HashMap(); tmp.put(gdID,sp0001); tmp.put(name,新编大学英语教程); tmp

12、.put(price,23.5); gds.add(tmp); tmp = new HashMap(); tmp.put(gdID,sp0002); tmp.put(name,J2EE权威指南); tmp.put(price,63.5); gds.add(tmp); tmp = new HashMap(); tmp.put(gdID,sp0003); tmp.put(name,太阳泪); tmp.put(price,21.5); gds.add(tmp); tmp = new HashMap(); tmp.put(gdID,sp0004); tmp.put(name,新编大学文化教程); tm

13、p.put(price,28.5); gds.add(tmp); session.setAttribute(gds,gds); % 商品列表 商品编号 商品名称 单价 操作 $gd.gdID $gd.name $gd.price 添加到购物车 查看购物车 add.jsp: 将指定商品添加到购物车% CartBeanLocal cart; cart = (CartBeanLocal)session.getAttribute(cart); if(cart = null) InitialContext ctx = new InitialContext(); cart = (CartBeanLocal

14、) ctx.lookup(CartBean/local); session.setAttribute(cart,cart); String gid = request.getParameter(gdID); ArrayListHashMap gds = (ArrayListHashMap)session.getAttribute(gds); for(HashMap gd:gds) if(gd.get(gdID).equals(gid) cart.add(gd); response.sendRedirect(index.jsp);%cart.jsp: 显示购物车中的商品列表 Insert tit

15、le here % try CartBeanLocal cart; Object cartTmp = session.getAttribute(cart); if(cartTmp = null) InitialContext ctx = new InitialContext(); cart = (CartBeanLocal) ctx.lookup(CartBean/local); session.setAttribute(cart,cart); else cart = (CartBeanLocal)cartTmp; ArrayListHashMap goodsList = cart.getGo

16、odsList(); pageContext.setAttribute(gdlist,goodsList); catch (NamingException e) out.println(e.getMessage(); % 商品列表 商品编号 商品名称 单价 数量 $gd.gdID $gd.name $gd.price $gd.number 清空购物车clearCart.jsp:清空购物车(3)部署使用前面的无状态会话Bean的部署方法,在MyEclipse中直接部署本部分内容可能会不能正常运行,在此必须脱离MyEclipse将两个工程直接部署到独立的JBoss服务器中。第一步:将两个工程导出a

17、、导出EJB工程。在工程列表中的MyEJB工程上点击右键,在弹出的快捷菜单中选择“”,弹出如下对话框:选择导出目标为“Java”-“JAR file”,点击“Next”按钮,显示如下:所有选择使用默认值,在“JAR file”中指明导出JAR文件的路径;点击“Finish”按钮,完成导出。b、导出Web工程同EJB工程,在工程名上点击右键,在快捷菜单中选择“Export.”,在弹出的对话框中选择目标为:“Java EE”-“WAR file(MyEclipse)”,点击“Next”按钮,显示如下:在“WAR file”中指明要导出的目标位置,点击“Finish”按钮完成导出。第二步:启动JBo

18、ss并进行部署执行JBoss的安装目录中bin目录下的run.bat,启动JBoss。在浏览器的地址栏中输入:localhost:8080,得到如下界面:点击“Administration Console”进入JBoss管理系统的登录界面,如图Username和Password均为“admin”,登录进入管理界面如下图:在左侧的栏目中选择“Applications”-“EJB3 JARS”,部署EJB工程MyEJB.jar,界面如图:点击“Add a new resource”,得到如下界面:点击“浏览.”选择上面导出的EJB工程的jar文件,然点击“Continue”按钮完成部署。成功后可看到下图:看到列表中出现了“MyEJB.jar”表示部署成功。然后点击“Applications”中的“Web Application (WAR)s”,看到如下图,进行Web工程的部署;点击“Add a new resource”按钮,得到和部署EJB时相似的界面,选择要部署的Web工程的导出文件cart.war,并点击“Continue”按钮完成部署,最后看到如下图:表示部署成功。第三部:测试在浏览器地址栏中输入:localhost:8080/cart4、扩展1、为Web工程cart添加删除购物车中指定商品的功能。2、将MyEJB和cart工程部署到两台服务器上。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1