java applets_web学习--java applets

1.什么是java Applet?

Applet是一种采用java语言编写的小应用程序,它可以被嵌入网页中,当用户访问这样的网页时,Applet被下载到用户的计算机上运行,但前提是具有让applet运行的环境。Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素。

2.java应用程序和Applet程序的区别

Java 中 Applet 类继承了 java.applet.Applet 类。

Applet 类没有定义 main(),所以一个 Applet 程序不会调用 main() 方法。

Applet 被设计为嵌入在一个 HTML 页面。

当用户浏览包含 Applet 的 HTML 页面,Applet 的代码就被下载到用户的机器上。

要查看一个 Applet 需要 JVM。 JVM 可以是 Web 浏览器的一个插件,或一个独立的运行时环境。

用户机器上的 JVM 创建一个 Applet 类的实例,并调用 Applet 生命周期过程中的各种方法。

Applet 有 Web 浏览器强制执行的严格的安全规则,Applet 的安全机制被称为沙箱安全。

Applet 需要的其他类可以用 Java 归档(JAR)文件的形式下载下来。

3.Applets的工作原理

当用户访问带有Applets的网页时,Applet被下载到用户的计算机上执行,由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产生的多媒体效果。

在Java Applet中,可以实现图形绘制,字体和颜色控制,动画和声音的插入,人机交互及网络交流等功能。 Applet还提供了名为抽象窗口工具箱(Abstract Window Toolkit, AWT)的窗口环境开发工具。 AWT利用用户计算机的GUI元素,可以建立标准的图形用户界面,如窗口、按钮、滚动条等等。目前,在网络上有非常多的Applet范例来生动地展现这些功能,读者可以去调阅相应的网页以观看它们的效果。

Applet 小应用程序的实现主要依靠java.applet包中的Applet类。与一般的应用程序不同,Applet应用程序必须嵌入在HTML页面中,才能得到解释执行;同时Applet可以从Web页面中获得参数,并和Web页面进行交互。

Applet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行。也可以通过java开发工具的appletviewer来运行。Applet 程序离不开使用它的HTML文件。这个HTML文件中关于Applet的信息至少应包含以下三点:

字节码文件名(编译后的Java文件,以.class为后缀)

字节码文件的地址

在网页上显示Applet的方式。

4.Applets的生命周期

Applet类为Applet执行提供了一个框架,定义了当事件发生时系统调用的方法。大多数applet会覆盖一些或所有这些方法以适当地响应事件。

①init:为Applet提供初始化。Applet通常不具有构造函数的原因是,在调用init方法之前,它们不能保证有完整的环境。保持init方法的简短,以便applet能够快速加载。

②start:浏览器调用 init 方法后,该方法被自动调用。每当用户从其他页面返回到包含 Applet 的页面时,则调用该方法。

③stop:大部分重写了start方法的也应该重写stop方法。当用户没有停留在含有Applet的页面时,应该停止Applet,以免占用资源。

④destroy:大部分applet不需要重写destroy方法,因为它们的stop方法(在销毁之前调用)将执行关闭Applet执行所必需的所有任务。但是,对于需要释放额外资源的applet来说是必要的。

5.创建一个Applet

①编写源文件

②打包

③部署

这里我使用的官方的实例,下载地址:https://docs.oracle.com/javase/tutorial/deployment/applet/examplesIndex.html#ComponentArchDynamicTreeDemo

7467ac56718d731ea86baff3a3fa1a3f.png

详细步骤:

1.编译applet的Java代码,并确保所有类文件和资源(例如图像)都位于一个单独的目录中。在DynamicTree演示applet的例子中,编译的类放在 build/classes/appletComponentArch目录中。

2.对于DynamicTree演示Applet,创建一个名为mymanifest.txt的文件。在build/classes目录中,添加Permissions、Codebase和Application-Name属性。Applet不需要访问用户的系统资源,因此可以使用 sandbox 来获得权限。使用你为代码库加载样例的域,例如,myserver.com。将以下属性添加到mymanifest.txt文件。

3.创建一个包含applet类文件和资源的JAR文件。在mymanifest中包含清单属性。在前一步中创建的txt文件。例如,下面的命令在build/classes/appletComponentArch目录中创建了一个JAR文件,并在build/classes中创建了清单文件。

0a3529d1d06c0fb318b0fb5eb6a74ddd.png

4.使用已签名的JNPL文件给JAP包签名,并在打包前将该文件包含在JAR文件中。

6048a888ad8d89554b39018c337abf1a.png

5.创建将显示applet的HTML页面。调用部署工具箱函数来部署applet。

8011c4d266dd7f919e584036f1a7fd85.png

最后,将你的JAR包,JNPL签名文件,还有AppletPage放在同一个目录下,可以运行在本地,但最好放在web服务器上。如果无法访问,选择支持运行的浏览器。这里特别说明一下,本地的一般无法运行,因为官方原话:

a0c7dab085a5c19edafbc9656e858a3c.png

然而,进入java的控制面板

e322c13aedeaa168f24a18b5b2425818.png

只能以http和https开头,无果,只能直接放在web服务器上了,官方也推荐放在web服务器上。

最后运行效果:

b0711ada61ab2a06022dcc1cc680c58b.png

参考文档:https://docs.oracle.com/javase/tutorial/deployment/applet/examplesIndex.html#ComponentArchDynamicTreeDemo

http://www.runoob.com/java/java-applet-basics.html

https://baike.baidu.com/item/Applet/2723730?fr=aladdin

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值