Java Applet 介绍

一、Java Applet的生命周期 

        1.Applet被嵌入到HTML页面中,并由applet的容器(appletviewer或者Web浏览器)执行. 

        2.Applet的运行由浏览器控制,不由Applet中的代码控制.当浏览器载入包含由Applet的Web页面时,它将生成一个 Applet类的对象,然后利用  Applet类对象的五个public的void方法控制Applet的执行,这五个方法如下:init,start,paint,stop,destory; 

        3.Applet有5个public的void方法(Applet的生命周期): 

        init() 

        启动Applet,浏览器总是调用Applet类的默认构造器生成对象,然后调用init()方法经行初始化.一般在这个方法中生成Applet运行所需的对象并初始化Applet类的所有数据成员. 

        start() 

        由浏览器调用.启动或者重新启动Applet.当Applet第一此启动时,start方法将紧跟init()方法后被浏览器调用.如果用户离开当前的 HTML页面后,在重新返回到当前HTML页面时,start()方法也会调用.start()方法一般用来启动applet需要的人和附加线程 

        paint(Graphics g) 

        在init()方法执行结束,start()方法启动之后,就调用此方法画图.另外,每次需要重新绘制Applet时,也将调用此方法.本方法的典型应用,包括是使用Applet容器传递给paint()方法Graphics对象g画图. 

        stop() 

        当用户离开包含该Applet的HTML页面时,浏览器调用此方法.stop方法被调用后,将立即停止所有在start()方法中启动的操作. 

        destory() 

        在终止Applet运行时,调用destory()方法,以便释放Applet占用的,由本地操作系统管理的任何系统资源.此方法执行之前,总是先调用stop()方法. 



 

二、Java Applet的运行原理

 首先需要明确的一点是Applet不是由服务器端来执行的, 他是从服务器端下载类文件(可能位于JAR包中)到本地, 并由本地的Web浏览器通过用以执行Applet的Plug-in插件来执行Applet. 此插件的启动会连带着启动JVM, 因此不安装JVM是不行的, 至少要安装JRE才能在Web浏览器中运行Applet. 所谓的解释执行并不是由Web浏览来完成, 而是由JVM(.class文件肯定都是由JVM来解释的), Web浏览器只是起到了一个发起这一系列动作的功能.Java Applet 是用Java 语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE 或 Nescape)解释执行能够产生特殊效果的程序。它可以大大提高Web页面的交互能力和动态执行能力。包含Applet的网页被称为Java-powered页,可以称其为Java支持的网页。 

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

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

  含有Applet的网页的HTML文件代码中必须带有<applet>和</applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小程序代码并在本地计算机上执行该Applet小程序。

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

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

  2)字节码文件的地址

  3)在网页上显示Applet的方式。

  一个HTML文件增加Applet有关的内容只是使网页更加富有生气,如添加声音、动画等这些吸引人的特征,它并不会改变HTML文件中与Applet无关的元素。

三、安全性限制

在缺省的情况下,大多数浏览器在Applet安全方面受到诸多的限制,几乎不能对系统进行任何“读”或“写”的操作:

1. 不允许Applet访问本地文件系统

2. Applet不能执行任何本地计算机上的程序

3. 不允许Applet尝试打开除提供Applet的服务器之外的任何系统的Socket

4. 不允许Applet访问用户名、电子邮件地址等与本地系统有关的信息

5. 对于Applet而言,Java环境中的某些标准系统属性是只读的

6. Applet不能创建或装载Applet的机器的网络连接

7. Applet不能充当网络服务器,监听或接收来自远程系统的连接请求

8. 不允许Applet装载动态库或定义本地方法调用

9. Applet不能操纵不在自己线程组中的任何线程

10. Applet不能关闭JVM。

猜你喜欢

转载自gaojingsong.iteye.com/blog/2319095
今日推荐