您的位置:

javaapplet,java applet window

本文目录一览:

java 里applet 是什么意思

小应用程序用Java语言编写的程序叫做“Applet”(小应用程序),用编译器将它编译成类文件后,将它存在WWW页面中,并在HTML档上作好相应标记

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主页 ( ) 中,不兴趣的读者不妨一看,在这里面介绍了许多实际的例子。要制造这种类型的攻击实际上并不难,不过由于目前 Java 的安全模型并没有提供很好的解决办法,因此对它的防范却比较困难。 还有一种类型的 applet 攻击,只是造成使用者的困扰,虽然与以上三种攻击相比危险性小得多,但也值得引起重视。例如,故意发出不经意的声音,或在屏幕上显示不雅的画面等等。另外,还有单纯的程序设计错误而引起的一些不良后果也属于此类。正如前面所讲的,某些类型的拒绝系统服务式攻击,也可以归类为单纯的敌对行为,例如,产生众多窗口的操作,可能只是令人困扰而已,并不会造成破坏系统的数据。 Java的安全机制 Java语言的安全模型与传统的安全方法有很大的不同。第一,以前绝大多数操作系统都允许应用程序访问大部分系统资源。管理者必须依靠用户来对系统资源进行保护(如为不同的人设置不同的访问权限等)。第二,在应用程序执行前依靠用户来对其进行安全处理(如进行消毒等)。这种安全方法有两个明显的缺点:它依靠用户来进行验证,而且要依赖于验证软件本身的可靠性。而Java则采取了许多新的安全措施,它的最主要的安全机制就是Java沙箱。 为了抵抗这四种类型的 applet 攻击,Java安全模型提供了三把利箭∶字节码验证器(Byte-Code Verifier)、applet类装载器(Class Loader)以及安全管理器(Security Manager)。 这三者结合起来可在 applet 的装载与执行阶段,对文件系统、网络与浏览程序的内部存取做进一步检查。这三者缺一不可,共同维护着Java applet的安全。

Java Applet怎么运行

1.首先编写java文件,如下:

import java.awt.*;

import java.applet.*;

public class Java_Graphics extends Applet {

public void paint(Graphics g) {

g.drawString("用Graphics写字和画图的基本方法", 20,40);

g.drawOval(100, 100, 30, 30);

g.drawOval(200, 100, 40, 25);

g.drawLine(20, 140, 200,140);

g.drawRect(20, 160, 50, 80);

g.drawRoundRect(110, 160, 100, 100, 25, 18);

}

}

1

2

3

4

5

6

7

8

9

10

11

12

javac Java_Graphics.java 编译完成后生成 java_Graphics.class

这将是在浏览器中执行的程序(.class文件)

2.其次,编写对应的Html文件:

!doctype html

html

head

meta charset="UTF-8"

meta name="Generator" content="EditPlus®"

meta name="Author" content=""

meta name="Keywords" content=""

meta name="Description" content=""

titleMy First Java Applet/title

/head

body

Here's my First Java Applet:

applet code= "Java_Graphics.class" width = "300" height = "300"

/body

/html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

想来大家都知道,最重要的当然这句applet code= "Java_Graphics.class" width = "300"

height = "300",加载了.class文件

1

2

3.浏览器解释执行:

点击html文件,你可以看到你想看到的效果,(paint()所画)~~

简述:Java中applet程序的运行机制

java中的applet不是直接运行的,他是通过.class文件进行调用的。.class是跨平台文件,所以在运行applet的时候实际上是在调用编译好的.class文件进行显示。我这给你举个例子:

1.在开发环境编译要执行的文件,例如hellow.java,编译成功后生成了hellow.class

2.再新建一个网页文件 敲入代码段: applet code="welcome.class" width=320 height=180/applet(其他html脚本照常存在!) (这个时候applet code 在调用的是class文件了,看见没?)

3.这时用你的开发环境运行你的网页就能看见答案了!

希望能解决你的问题!

什么是JAVA Applet

Applet或Java小应用程序是一种在Web环境下,运行于客户端的Java程序组件。它也是1990年代中期,Java在诞生后得以一炮走红的功臣之一。通常,每个Applet的功能都比较单一(例如仅用于显示一个舞动的Logo),因此它被称作“小应用程序”1。

Applet必须运行于某个特定的“容器”,这个容器可以是浏览器本身,也可以是通过各种插件,或者包括支持Applet的移动设备在内的其他各种程序来运行。与一般的Java应用程序不同,Applet不是通过main方法来运行的(参见Java的Hello World程序和Java Applet的Hello World程序)。在运行时Applet通常会与用户进行互动,显示动态的画面,并且还会遵循严格的安全检查,阻止潜在的不安全因素(例如根据安全策略,限制Applet对客户端文件系统的访问)。

注释

Applet是由英语“应用程序”Application的缩写App和代表“小”的后缀let组成。Servlet(Server-let)、MIDlet(Mobile Information Device-let)和JSP中的Scriptlet的命名也是基于同样原理。

在JAVA applet中paint办法为什么会自动执行?

Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy()在start()方法里,会调用paint方法。这是applet的运行机制。\x0d\x0a init()方法\x0d\x0a 这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。\x0d\x0a start()方法\x0d\x0a 系统在调用完init()方法之后,将自动调用start()方法。而且,每当用户离开包含该 Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。\x0d\x0a stop()方法\x0d\x0a 这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法。\x0d\x0a destroy()方法\x0d\x0a 与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。 Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy() 方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法。