java的applet干什么,JAVA中的applet是什么
今天给各位分享java的applet干什么的知识,其中也会对JAVA中的applet是什么进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
简述Java Applet 程序的特点是什么
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程序开发步骤
Applet程序开发主要步骤如下:
1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序。
2)把Applet的源程序转换为字节码文件。
3)编制使用class的HTML文件。在HTML文件内放入必要的<APPLET>语句。
下面举一个最简单的HelloWorld例子来说明Applet程序的开发过程:
(1)编辑Applet的java源文件
创建文件夹C:\ghq,在该文件夹下建立 HelloWorld.java
文件的源代码如下:
import java.awt.*;
import java.applet.*;
public class HelloWorld extends Applet//继承Appelet类,这是Appelet Java程序的特点
{
public void paint(Graphics g)
{
g.drawString("Hello World!",5,35);
}
}
保存上述程序在C:\ghq\HelloWorld.java文件里。
(2)编译Applet
编译HelloWorld.java源文件可使用如下JDK命令:
C:\ghq\>javac HelloWorld.java<Enter>
注意:如果编写的源程序违反了Java编程语言的语法规则,Java编译器将在屏幕上显示语法错误提示信息。源文件中必须不含任何语法错误,Java编译器才能成功地把源程序转换为appletviewer和浏览器能够执行的字节码程序。
成功地编译Java applet之后生成响应的字节码文件HelloWorld.class的文件。用资源管理器或DIR命令列出目录列表,将会发现目录C:\ghq中多了一个名为HelloWorld.class的文件。
(3)创建HTML文件
在运行创建的HelloWorld.class之前,还需创建一个HTML文件,appletviewer或浏览器将通过该文件访问创建的Applet。为运行HelloWorld.class,需要创建包含如下HTML语句的名为HelloWorld.html的文件。
<HTML>
<TITLE>HelloWorld! Applet</TITLE>
<APPLET
CODE="JavaWorld.class"
WIDTH=200
HEIGHT=100>
</APPLET>
</HTML>
本例中,<APPLET>语句指明该Applet字节码类文件名和以像素为单位的窗口的尺寸。虽然这里HTML文件使用的文件名为HelloWorld.HTML,它对应于HelloWorld.java的名字,但这种对应关系不是必须的,可以用其他的任何名字(比如说Ghq.HTML)命名该HTML文件。但是使文件名保持一种对应关系可给文件的管理带来方便。
(4)执行 HelloWorld.html
如果用appletviewer运行HelloWorld.html,需输入如下的命令行:
C:\ghq\>appletviewer JavaWorld.html<ENTER>
可以看出,该命令启动了appletviewer并指明了HTML文件,该HTML文件中包含对应于HelloWorld的<APPLET>语句。
如果用浏览器运行HelloWorld Applet,需在浏览器的地址栏中输入HTML文件URL地址。
至此,一个Applet程序的开发运行整个过程结束了(包括java源文件、编译的class文件、html文件以及用appletviewer或用浏览器运行)。
(二) Applet类
Applet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。如下所示。
import java. applet.*;
public class OurApplet extends Applet
{
......
......
}
Applet类的构造函数只有一种,即:public Applet()
Applet实现了很多基本的方法,下面列出了Applet类中常用方法和用途。
public final void setStub(AppletStub stub)
//设置Applet的stub.stub是Java和C之间转换参数并返回值的代码位,它是由系统自动设定的。
public boolean isActive();//判断一个Applet是否处于活动状态。
public URL getDocumentBase();//检索表示该Applet运行的文件目录的对象。
public URL getCodeBase();//获取该Applet代码的URL地址。
public String getParameter(String name);//获取该Applet由name指定参数的值。
public AppletContext getAppletContext();//返回浏览器或小应用程序观察器。
public void resize(int width,int height);//调整Applet运行的窗口尺寸。
public void resize(Dimension d);//调整Applet运行的窗口尺寸。
public void showStatus(String msg);//在浏览器的状态条中显示指定的信息。
public Image getImage(URL url);//按url指定的地址装入图象。
public Image getImage(URL url,String name);//按url指定的地址和文件名加载图像。
public AudioClip getAudioClip(URL url);//按url指定的地址获取声音文件。
public AudioClip getAudioClip(URL url, String name);//按url指定的地址和文件名获取声音。
public String getAppletInfo();//返回Applet应用有关的作者、版本和版权方面的信息;
public String[][] getParameterInfo();
//返回描述Applet参数的字符串数组,该数组通常包含三个字符串:参数名、该参数所需值的类型和该参数的说明。
public void play(URL url);//加载并播放一个url指定的音频剪辑。
public void destroy();//撤消Applet及其所占用的资源。若该Applet是活动的,则先终止该Applet的运行。
(1) Applet运行状态控制基本方法
Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()
init()方法
这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。
start()方法
系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。
stop()方法
这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。
destroy()方法
与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。
(2) Applet应用的有关参数说明
利用Applet来接收从HTML中传递过来的参数,下面对这些参数作一简单说明:
* CODE标志
CODE标志指定Applet的类名;WIDTH和HEIGHT标志指定Applet窗口的像素尺寸。在APPLET语句里还可使用其他一些标志。
* CODEBASE标志
CODEBASE标志指定Applet的URL地址。Applet的通用资源定位地址URL,它可以是绝对地址,如www.sun.com。也可以是相对于当前HTML所在目录的相对地址,如/AppletPath/Name。如果HTML文件不指定CODEBASE标志,浏览器将使用和HTML文件相同的URL。
* ALT标志
虽然Java在WWW上很受欢迎,但并非所有浏览器都对其提供支持。如果某浏览器无法运行Java Applet,那么它在遇到APPLET语句时将显示ALT标志指定的文本信息。
* ALIGN标志
ALIGN标志可用来控制把Applet窗口显示在HTML文档窗口的什么位置。与HTML<LMG>语句一样,ALIGN标志指定的值可以是TOP、MIDDLE或BOTTOM。
* VSPACE与HSPACE标志
VSPACE和HSPACE标志指定浏览器显示在Applet窗口周围的水平和竖直空白条的尺寸,单位为像素。如下例使用该标志在Applet窗口之上和之下各留出50像素的空白,在其左和其右各留出25像素的空白:
* NAME标志
NAME标志把指定的名字赋予Applet的当前实例。当浏览器同时运行两个或多个Applet时,各Applet可通过名字相互引用或交换信息。如果忽略NAME标志,Applet的名字将对应于其类名。
* PARAM标志
通用性是程序设计所追求的目标之一。使用户或者程序员能很方便地使用同一个Applet完成不同的任务是通用性的具体表现。从HTML文件获取信息是提高Applet通用性的一条有效途径。
假设编制了一个把某公司的名字在屏幕上卷动的Applet。为了使该Applet更加通用,则可以使该Applet从HTML文件获取需要卷动的文本信息。这样,若想显示另一个公司的名字,用不着修改Java Applet本身,只需修改HTML文件即可。
PARAM标志可用来在HTML文件里指定参数,格式如下所示:
PARAM Name="name" Value="Liter"
Java Applet可调用getParameter方法获取HTML文件里设置的参数值。
JAVA中的applet是什么
Applet是一种特殊的Java程序。
它本身不能单独运行,需要嵌入在一个HTML文件中,借助浏览器或Appletviewer来解释执行,Applet可能通过网络传输,由浏览器自动装载并执行。
要浏览Applet需要将它嵌入在网页中,只需在HTML文件中插入<APPLET>标记即可。
扩展资料:
applet的常用方法如下:
applet的超类是panel。
public final void setStub(AppletStubstub)。
//设置Applet的stub.stub是Java和C之间转换参数并返回值的代码位,它是由系统自动设定的。
public boolean isActive();//判断一个Applet是否处于活动状态。
参考资料来源:百度百科-Applet
java applet的用途是谢谢
在传统的应用开发中,开发人员常常为了将为一种机器平台开发的程序移植到其它的平台上而感到头痛,Java的出现大大减轻了开发人员的这种负担,它的“一次编成,到处运行(Write Once,Run Anywhere)”的功能使开发人员能够开发出跨系统跨平台运行的应用程序。现在各种Java应用中都大量使用了Java applet,它是一种特殊的Java小程序,这些applet能够给人们带来更为活泼更具吸引力的Web页面。各种具有Java功能的浏览器,如Netscape Navigator、Microsoft Internet Explorer(MSIE)等,会自动下载并执行内嵌在Web页面中的 Java applet。然而,Applet在给人们带来好处的同时,也带来了潜在的安全隐患。它使applet的设计者有机会入侵他人的机器。实事求是的讲,这个世界上没有一个电脑系统是百分之百安全的,但由于现在Internet和Java在全球应用得越来越普及,因此人们在浏览Web页面的同时也会同时下载大量的Java applet,就使得Web用户的机器面临的安全威胁比以往任何时候都要大。上述问题到目前为止还没有一种完全的解决方法。好在现在Java的设计者已注意到了这一点,并尽其所能加以限制,例如,在 JDK1.1版中就采用逐渐流行的数字签名技术以减少applet可能造成的危险。尽管如此,目前Web用户的机器还是很容易受到applet的攻击,而且现在用户能够采取的对策并不多。在Java applet四处充斥的今天,人们使用具有 Java功能的浏览程序之时,对于浏览的网页的地点就不能不多加留意。 Web页面中的执行文件到底会带来什么样的潜在危险呢?大致上可分为四类∶更改系统、侵犯隐私权、非法入侵攫取资源、与使用者敌对。恶意之1∶更改系统像 Java这样功能强大的程序语言,不管是在电脑的硬盘上还是在文件系统中,都具有修改数据的能力。 Java中包含有许多预先定义好的类(class),其中的方法(method)可以删除或修改文件、更改使用中的磁盘内容、杀掉执行程序或其执行线程(thread)。这些功能很有可能会被applet的设计者滥用。更改系统可能是所有潜在危险中最严重的一种,Java的设计者对于限制此类危险已花费了很大的心思;相反的,ActiveX则对其引发的可能结果尚未加以限制。所谓的更改系统包括入侵系统。在不安全的使用 Java时,可能会被applet发现攻击的路径。由于黑客(hacker)们总是想方设法利用各种手段入侵他人的电脑系统(取得进入系统与使用权限),而我们用户能做的不过是小心使用Java而已,因此保证Java运行环境的安全最主要的还是Java设计者的责任,Java设计得必须保证在用户下载applet时没有其他进入系统的安全漏洞产生。由于Java可在多种操作平台上运行,因此恶意的applet只要在其中一种操作系统(例如Solaris)上攻击成功,在攻击其它作业系统(例如 Windows NT)时也能得逞。因此Java在带来应用程序跨平台执行的同时,也带来了恶意applet的这种跨平台攻击的可能性。利用 Java来入侵电脑系统并非不可能的事情。曾发现许多目前已知的 Java安全漏洞的美国普林斯顿大学安全Internet编程小组(Safe Internet Programming Team),就在实验室中展示了这种攻击型的 applet。虽然,目前针对已发现的一些安全漏洞已经提供了一些“补丁(patch)”程序,但其它更为复杂的攻击仍可能潜藏着而未被人们发现。在如今各种重要的电脑系统中,这种更改系统型的 applet攻击对数据造成的破坏是非常严重的。如它可能会破坏一些表面上看来很安全的数据库中的财务记录,导致公司财务损失而破产;或者是窜改医院中病人的病情数据,导致医疗不当,甚至因此导致病人死亡。所以在目前未能打到解决方案的情况下,对Java applet的使用要非常小心,不要让重要的数据系统暴露在这种新型的攻击危险中。 Internet这种全球最开放的系统几乎可以称得上是电脑黑客们的乐园,这从Internet上层出不穷的入侵事件便不难看出。因此如何使 Java不致于成为为他们的破坏工具,不管是对开发员来讲还是对用户来讲都是一个重要的课题。恶意之2∶侵犯隐私权第二种类型的攻击,就是暴露他人电脑主机的秘密数据。例如,在 Unix系统中如能访问/etc/passwd(记录系统中所有使用者的姓名与密码)这个文件,就有可能入侵整个系统。另外,电脑系统也可能会造成一些敏感性资料的泄露,例如必术不正的公司可以利用商业间谍偷取对手公司的业务计划。个人用户对于其私人的电子邮件或财务记录是否可以公开也要慎重考虑,任何可藉由电子邮件传送或经由网络传递的秘密资料,都有可能受到入侵。利用 Java的功能,会产生双重伪造的可能性,典型的电子邮件伪造(mail-forging)的情况会更加严重。Applet先使用系统送出假信息,以欺骗真的邮件。最后,目前许多系统中盛行的声音功能,也可能会导致窃听。如果攻击者能掌握系统的麦克风,就有可能进行窃听的行为。更隐秘的窃听是访问监视进程表(process table)和相关的文件。网页式的窃听,还可能包括追踪某一特定使用者所经过的网路连结。 Java对于某些形式的网络攻击可以成功的进行防卫。例如,文件系统的输入输出操作就受到严格的控制。不过,这又与 applet常需要一条通道以便传回数据的要求相违背,因为applet总是必须与原来的服务器一直相连。电子邮件的伪造防卫起来则比较困难。由于缺乏对客户端连接接口的限制功能,电子邮件的伪造不太可能杜绝。恶意之3∶拒绝系统服务拒绝系统服务式的攻击,会让系统资源无法正常使用。通常的做法是利用一个执行程序吸取超过正常系统所分配的资源,甚至是霸占整个系统。这类攻击还可分为几个小的类型,例如填满文件系统或用光所有可用的文件资源;调用所有系统的内存,产生数以千计的窗口,以便有效的阻止屏幕输出或找开新的窗口;产生许多高优先权的执行线程,以耗光 CPU的执行周期。虽然这一类危险的破坏作用也很大,但它们似乎并未引起Java的设计者的重视。人们对防止这种攻击的重要性还有些争议。在大部分情况下,拒绝系统服务式的攻击,比较接近与使用者敌对的攻击,因为从此类攻击中使系统恢复正常一般比较容易,只需要重新启动系统即可。不过,即使如此,在一些重要的系统中也可能会造成严重的后果,人们当然谁也不希望在与重要的系统连结时重新启动系统吧。例如,在处理股票交易的机器上蓄意拒绝系统服务,其造成的损失将难以想像的。拒绝系统服务式的攻击是 Java常见的安全问题之一。现在Internet上有一个专门介绍此类问题的站点,这就是Mark La Due的Hostile Applet主页( http://www.math.gatech.edu/~maladue/HostileApplets.htm)中,不兴趣的读者不妨一看,在这里面介绍了许多实际的例子。要制造这种类型的攻击实际上并不难,不过由于目前 Java的安全模型并没有提供很好的解决办法,因此对它的防范却比较困难。还有一种类型的 applet攻击,只是造成使用者的困扰,虽然与以上三种攻击相比危险性小得多,但也值得引起重视。例如,故意发出不经意的声音,或在屏幕上显示不雅的画面等等。另外,还有单纯的程序设计错误而引起的一些不良后果也属于此类。正如前面所讲的,某些类型的拒绝系统服务式攻击,也可以归类为单纯的敌对行为,例如,产生众多窗口的操作,可能只是令人困扰而已,并不会造成破坏系统的数据。 Java的安全机制 Java语言的安全模型与传统的安全方法有很大的不同。第一,以前绝大多数操作系统都允许应用程序访问大部分系统资源。管理者必须依靠用户来对系统资源进行保护(如为不同的人设置不同的访问权限等)。第二,在应用程序执行前依靠用户来对其进行安全处理(如进行消毒等)。这种安全方法有两个明显的缺点:它依靠用户来进行验证,而且要依赖于验证软件本身的可靠性。而Java则采取了许多新的安全措施,它的最主要的安全机制就是Java沙箱。为了抵抗这四种类型的 applet攻击,Java安全模型提供了三把利箭∶字节码验证器(Byte-Code Verifier)、applet类装载器(Class Loader)以及安全管理器(Security Manager)。这三者结合起来可在 applet的装载与执行阶段,对文件系统、网络与浏览程序的内部存取做进一步检查。这三者缺一不可,共同维护着Java applet的安全。
好了,关于java的applet干什么和JAVA中的applet是什么的问题到这里结束啦,希望可以解决您的问题哈!