首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 图形图象
J2EE编程起步(二)-JSP教程,J2EE/EJB/服务器
作者:网友供稿 点击:12
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
创建j2ee应用

你不能够直接将企业组件(ejb)部署到j2ee服务器,必须将组件加到一个j2ee 应用中然后再部署。在本节,你将创建一个叫做converterapp的新j2ee应用并保存为converterapp.ear。

1. 在命令行提示符下启动j2ee服务器:

j2ee ?verbose
(停止服务器命令 j2ee -stop.)

2. 在另一个终端窗口运行部署工具:

deploytool
(按f1获取部署工具帮助)

3. 创建新的j2ee应用

a. 在部署工具中选择“文件”菜单
b. 从“文件”菜单中选择“新应用”
c. 点击浏览
d. 在文件选择框中定位存放.ear文件的目录
e. 文件命名为converterapp.ear.
f. 点击“新应用”
g. 点击“确定”

企业组件(ejb)打包

本部分你将运行部署工具的创建ejb向导来完成下述任务:

·创建组件部署描述符
·将描述符和组件类打包为.jar文件
·将ejb.jar文件打包到j2ee应用converterapp.ear 文件

从“文件”菜单中选择创建ejb来开始创建新的ejb,这个向导将显示下面的对话框:

介绍对话框:

a. 阅读向导特性说明文档
b. 点击“下一步”

ejb jar 对话框:

a. 在标有"enterprise bean will go in," 的组合框中选择converterapp.
b.在jar display name域输入converterjar,声明ejb .jar文件包含该组件,该名字会在树形应用结构中呈现。
c. 点击增加内容文本域
d. 在内容编辑对话框顶部,输入包含.class文件的目录
e. 选择该目录下相关.class加入:converter.class, converterejb.class, 和converterhome.class.
f. 点击确定
g. 点击下一步

综合对话框:

a. 在组件类型中选择“会话”
b. 选择“无状态”
b. 在ejb类组合框中选择converterejb.
c. 在本地接口组合框中选择converterhome.
d. 在远程接口组合框中选择converter.
e. 在企业组件命名域中输入converterbean.
f. 点击下一步

环境入口对话框:

因为你可以跳过后面的对话框,所以可以点击完成结束创建ejb应用任务。

部署j2ee应用

现在j2ee应用中已经包含企业组件(ejb)了,可以对其进行部署。

1.指定企业组件的jndi名字
a. 在应用部署波农工具中,在应用树形结构中选择converterapp
b. 选择jndi名字标签
c. 在jndi 名字域中,输入myconverter并确认。 客户端将使用该名字来定位本地接口。

2.部署j2ee应用
a. 从工具菜单中选择“部署”
b. 在第一个对话框中选择converterapp为部署对象,localhost为目标服务器
c. 选择标有"return client jar." 的选择框
d. 在文本域中敲入converterappclient.jar的确切目录,如j2ee的例子目录doc/guides/ejb/examples/converter
e. 点击下一步
f. 在第二个对话框中,核实converterbean 的jndi命名为myconverter.
g.点击下一步
h. 在第三个对话框中点击结束
i. 在部署进程对话框中,点击ok完成部署

开发客户端

客户端程序converterclient是一个独立运行的java应用,创建converterclient主要包括以下步骤:

1. 客户端编码
2. 客户端编译

客户端编码

converterclient.java 源码展示了ejb客户端最基本的任务实现,即:

·定位本地接口
·创建企业组件(ejb)
·调用商业方法

定位本地接口

converterhome接口定义了ejb声明周期方法如create,在中converterclient 可以调用create方法之前converterhome对象必须被实例化,包括三个步骤:

1. 创建jndi命名上下文
context initial = new initialcontext();

2. 查找与jndi命名myconverter绑定的对象
java.lang.object objref = initial.lookup("myconverter");

3. 限定指向converterhome对象的参考
converterhome home =
(converterhome) portableremoteobject.narrow(objref,
converterhome.class);

创建企业组件(ejb)实例

客户端通过调用本地接口converthome对象的create方法创建converterejb类对象, create 方法返回组件converter类型的对象。然后,远程方法定义的在converterejb实现的商业方法可以被客户端调用。当客户端调用create 方法时,ejb容器将实例化converterejb,然后调用converterejb.ejbcreate 方法。

converter currencyconverter = home.create();

调用商业方法

完成上述任务后,调用商业方法就比较简单了。你调用converter对象的方法, ejb容器将相应的调用运行在j2ee服务器中的converterejb 实例的方法。客户端调用商业方法dollartoyen的代码如下:

double amount = currencyconverter.dollartoyen(100.00);

converterclient源码

下面是converterclient.java的完整源码:

import javax.naming.context;
import javax.naming.initialcontext;
import javax.rmi.portableremoteobject;

import converter;
import converterhome;

public class converterclient {

public static void main(string[] args) {
try {
context initial = new initialcontext();
object objref = initial.lookup("myconverter");

converterhome home =
(converterhome)portableremoteobject.narrow(objref,
converterhome.class);

converter currencyconverter = home.create();

double amount = currencyconverter.dollartoyen(100.00);
system.out.println(string.valueof(amount));
amount = currencyconverter.yentoeuro(100.00);
system.out.println(string.valueof(amount));

currencyconverter.remove();

} catch (exception ex) {
system.err.println("caught an unexpected exception!");
ex.printstacktrace();
}
}
}



编译客户端代码

unix:

1. 在下面脚本compileclient.sh, 对 根据j2ee实际安装目录作相应改动。

#!/bin/sh
j2ee_home=
cpath=.:$j2ee_home/lib/j2ee.jar


javac -classpath "$cpath" converterclient.java

2. 运行脚本文件compileclient.sh

windows:

1. 在下面批处理文件compileclient.bat中,对根据实际j2ee安装目录进行修改。

set j2ee_home=
set cpath=.;%j2ee_home%\lib\j2ee.jar

javac -classpath %cpath% converterclient.java

2. 运行批处理文件compileclient.bat

运行客户端

运行客户端你需要converterappclient.jar文件,该文件包含允许客户端与ejb容器中ejb实例通信所需的存根类, converterappclient.jar 文件在部署j2ee应用过程中创建。

unix:

1. 在下面脚本testclient.sh, 对 根据j2ee实际安装目录作相应改动。

#!/bin/sh
j2ee_home=
cpath=$j2ee_home/lib/j2ee.jar:converterappclient.jar:.
java -classpath "$cpath" converterclient

2. 运行脚本文件testclient.sh

windows:

1. 在下面批处理文件testclient.bat中,对根据实际j2ee安装目录进行修改。

set j2ee_home=
set cpath=.;%j2ee_home%\lib\j2ee.jar;converterappclient.jar
java -classpath "%cpath%" converterclient

2. 运行批处理文件 testclient.bat

常见问题处理

当运行converterclient 时发现下面错误:

1. java.lang.classcastexception
可能无法找到converterappclient.jar文件。

2. java.lang.noclassdeffounderror: converterclient
无法定位converterclient.class 文件。

3. java.lang.noclassdeffounderror: javax/naming/context
无法找到所需的j2ee.jar 文件,确认classpath设置。

4. javax.naming.namenotfoundexception: lookup of name myconverter failed.
j2ee服务器无法定位jndi名字myconverter所绑定的组件。

5. javax.naming.namingexception: error accessing repository: cannot connect to orb at . . . .
j2ee服务器没有运行。

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·通信机房ups供电系统设计方案探讨
·在图片上写字 (C#)-.NET教程,C#语言
·.NET平台下带权限控制的TreeView控件节点生成算法-.NET教程,组件控件开发
·J2ME打包--解决移动平台api 问题-JSP教程,J2EE/EJB/服务器
·Java程序员的存储过程-JSP教程,Java技巧及代码
·如何使用FindControl查找内容页上的某个控件?-ASP教程,组件开发
·jsp页面的例外处理-JSP教程,Jsp/Servlet
·XP 风格的可拖动列、排序的DataGrid的例子-.NET教程,数据库应用
·jasperreport中的demo学习-JSP教程,Java技巧及代码
·锂离子电池碳负极研究新动向
最新文章
·站长如何做好自己的客服中心_站长心得
·windows vista sp1新增创建恢复盘功能_windows vista
·fireworks cs3切片工具的使用简述_fireworks教程
·个人网站到底应该做什么样的广告?_网赚技巧
·不用google adsense的84个赚钱方法_网赚技巧
·新站如何迅速的被收录的技巧绝版_站长心得
·为网站上的图片进行搜索引擎优化的研究_站长心得
·photoshop初学者轻松绘制螺旋漩涡特效_photoshop教程
·网站推广研究之url的优化_站长心得
·初学网站制作须知道什么是静态网页_站长心得
相关主题
  • J2EE编程起步(二)-JSP教程,J2EE/EJB/服务器
  • J2EE编程起步(一)-JSP教程,J2EE/EJB/服务器
  • J2EE编程起步(一)-JSP教程,J2EE/EJB/服务器
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭