| | 用Jbuilder 2005开发Java Applet应用 |
| | | | | | [文章信息] | | | 作者: | 务实 | | 时间: | 2004-11-09 | | 出处: | 天极网 | | 责任编辑: | 方舟 | |
| [文章导读] | | | JBuilder 2005是JBuilder X的升级版,为开发者提供了全面的工具来减少Java开发的复杂性 | |
| |
|
| | | |
|
|
|
|
|
三、在JBuilder 2005中测试Applet程序
当Applet开发完毕后,我们可以直接在JBuilder 2005内测试Applet的执行结果是否正确,方式有下列两种:
● 利用JBuilder 2005的AppletTestBed。
● 利用Sun Microsystems的Applet Viewer。
1、使用JBuilder 2005的AppletTestBed
AppletTestBed是JBuilder 2005提供的Applet执行环境,当我们选取Run | Run Project时将会启动AppletTestBed,并执行JBuilder工程的“主要类”(main class)。我们可以依照下列方式将Applet设置为该工程的“主要类”:
1)选取Project | Project Properties,打开“Project Properties”对话框。
2)切换至Run窗格,按下[New]按钮建立新的“运行时期配置”;或是按下[Edit]按钮编辑既有的“运行时期配置”。
3)打开“New Runtime Configuration”对话框之后,我们可以在Main class字段内定义“主要类”是什么。
利用AppletTestBed执行Applet的结果,上方包含四个按钮:
Info:显示Applet的参数; Start:执行Applet; Stop:停止Applet; Exit:离开AppletTestBed。
2、使用Sun Microsystems的Applet Viewer
在JBuilder 2005内欲使用Applet Viewer执行Applet时,必须通过一个包含<applet>标签的HTML文件。只要在该HTML文件上点击鼠标右键,选取(Run using“运行时期配置名称”)即可启动Applet Viewer。
3、开发Applet时应注意的事项
Applet的主要执行环境为Web浏览器。为了让Applet能够正确执行于客户端浏览器,请确定客户端浏览器是否提供JDK的支持。此外,JDK版本也应该和Applet一致,否则Applet执行结果可能和预期的不同。
在开发Applet过程中,或许我们碰到过一些问题,明明Applet都可以顺利编译,但是却无法正确显示于HTML页面。问题发生的原因通常是<applet>标签的属性定义错误,例如:
1)忽略Java语言必须区分大小写
定义<applet>标签的code或archive属性时,其名称与大小写必须和服务器上的文件名称完全相同,否则Applet类文件将无法载入。
2)code属性并未指定完整的类名称
code属性所定义的Applet类文件必须包含套件(与子套件)名称。 3)codebase属性设置有误
如果Applet参照其他类文件或JAR文件,就必须将其路径定义在codebase属性。
4)遗漏archive属性
常见的Applet部署方式是将相关文件包装成JAR或ZIP文件,此时我们必须在 <applet>标签内定义archive属性。
如果以JBuilder 2005的Applet Wizard来开发Applet,我们可以选择是否由JBuilder自动产生此类型HTML文件。
以下两点是我们在开发Applet必须要考虑的要点:
1、浏览器所支持的JDK版本
随着Java技术的演进,光是JDK就分为好几个版本。某些开发人员偏好以较新的JDK来开发程序,但是他们往往忽略了一点:在一般情况下,用户通常不会自行更新浏览器的版本。
因此经常会发生某些人可以正常执行Applet,但是其他人却无法执行的窘境。针对上述问题,我们应该从两个地方着手:
1)要求或协助公司内所有员工的Web浏览器必须更新。
2)如果Applet应用程序可通过Intemet存取,不妨在网页内加上警告信息,例如“为达到最佳执行效果,请确定我们的浏览器版本为XXX以上”。
如果我们遭遇到浏览器JDK版本不合的问题,可参考下列几个解决方案:
1)使用Java外挂程序(plug-in):
大部分的JDK不相容问题都可以经由“Java外挂程序”来解决。举例来说,如果我们的Applet使用了Swing程序库,但是客户端浏览器的JDK版本太旧,无法支持Swing。
我们可以要求客户端更新浏览器版本,或是前往http://java.sun.com/products/plugin/寻找适当的外挂程序。
2)开发时期所使用的JDK版本尽量与客户端一致。
3)使用Java Web Start。
Java Web Start是Sun Microsystem公司所研发的一项新技术。用户可以在网页内点击某个链接,由此启动Applet或其他应用程序。这项技术能够有效解决JDK版本不合的问题,只要客户端浏览器事先安装Java Web Start外挂程序,就可以正确无误地执行Applet。
2、安全性议题
通过网络将应用程序传送到客户端执行----这点是Applet最为人诟病的地方。由于网络是一个开放式环境,任何在网络上传送的事物都有可能被人拦截、窃取甚至更改。因此,在开发Applet时必须格外重视应用程序的安全性。我们也必须有所了解,某些操作在一般的Java应用程序可以执行,但在Applet内却是不允许的。
为了避免Applet执行时因为不明原因(有可能是程序代码遭到篡改)破坏或窃取客户端电脑数据,所有Applet都会被放在一个安全环境下执行,我们称之为Sandbox。这个安全机制可以确保用户电脑不会遭受危险程序的影响。目前Applet能够安全地在网络上传输与使用,Sandbox机制居功甚伟!在此机制的保护下,Applet不能删除或更改主机内的文件名称、不能建立文件,也无法检查文件与目录名称。Java解释器也会严格检查Applet是否执行任何不合法的操作,一旦发生将立刻中断程序执行。此外,Applet只能和原来的Web服务器进行数据交换,无法将数据传送到其他电脑。这些特性都是在开发Applet时必须特别注意的。有了这些严密的保护措施,就可以将用户可能面临的安全性问题降到最低。
以下是与Applet安全性有关的开发技巧:
1)对Applet加上标记式
这个做法可以确保Applet在传送过程的完整性,然而它会有些缺点。以现阶段而言,还没有一套针对Applet制作标记式的标准。如果我们想获取更进一步的信息,请前往http://www.suitable.com/docs/signing.html。
2)考虑以其他技术来克服Applet的安全性限制
Applet的某些安全性限制可能导致特定动作无法执行,此时我们可以搭配其他Java技术来完成。举例来说,如果我们希望将数据回写至Web服务器,不妨利用Servlet来完成(因为Servlet是在服务器端执行的应用程序,不像Applet需要传送到客户端才执行,不会有程序代码遭到篡改的疑虑)。
|
|
|
|
|
|
|
|