精华内容
下载资源
问答
  • Applet

    2019-10-04 11:24:00
    Applet Java applet是能够被包含在HTML页面中并且能被启用了Java的客户端浏览器执行的程序。Applet主要用来创建动态交互的web应用程序。 Applet的生命周期 Init:每次被载入的时候都会被初始化。 Start:开始...

    Applet

    Java applet是能够被包含在HTML页面中并且能被启用了Java的客户端浏览器执行的程序。Applet主要用来创建动态交互的web应用程序。

    Applet的生命周期

    • Init:每次被载入的时候都会被初始化。
    • Start:开始执行applet。
    • Stop:结束执行applet。
    • Destroy:卸载applet之前,做最后的清理工作。

    当Applet被载入的时候,首先创建Applet控制类的实例,然后初始化Applet,最后开始运行。

    Applet和普通的Java应用程序的区别
    Applet是运行在启用了Java的浏览器中,Java应用程序是可以在浏览器之外运行的独立的Java程序。但是,它们都需要有Java虚拟机。
    进一步来说,Java应用程序需要一个有特定方法签名的main函数来开始执行。Java Applet不需要这样的函数来开始执行。
    最后,Java Applet一般会使用很严格的安全策略,Java应用一般使用比较宽松的安全策略。

    Java Applet的限制条件

    • Applet不能够载入类库或者定义本地方法。
    • Applet不能在宿主机上读写文件。
    • Applet不能读取特定的系统属性。
    • Applet不能发起网络连接,除非是跟宿主机。
    • Applet不能够开启宿主机上其他任何的程序。

    不受信任的Applet
    不受信任的Applet是不能访问或是执行本地系统文件的Java Applet,默认情况下,所有下载的Applet都是不受信任的。

    从网络上加载的Applet和从本地文件系统加载的Applet的区别
    当Applet是从网络上加载的时候,Applet是由applet类加载器载入的,它受Applet安全管理器的限制。
    当Applet是从客户端的本地磁盘载入的时候,Applet是由文件系统加载器载入的。
    从文件系统载入的Applet允许在客户端读文件,写文件,加载类库,并且也允许执行其他程序,但是,却通不过字节码校验。

    Applet类加载器
    当Applet是从网络上加载的时候,它是由applet类加载器载入的。类加载器有自己的Java名称空间等级结构。类加载器会保证来自文件系统的类有唯一的名称空间,来自网络资源的类有唯一的名称空间。
    当浏览器通过网络载入Applet的时候,Applet的类被放置于和Applet的源相关联的私有的名称空间中。然后,那些被类加载器载入进来的类都是通过了验证器验证的。验证器会检查类文件格式是否遵守Java语言规范,确保不会出现堆栈溢出(stack overflow)或者下溢(underflow),传递给字节码指令的参数是正确的。

    Applet安全管理器
    Applet安全管理器是给Applet施加限制条件的一种机制。浏览器可以只有一个安全管理器。安全管理器在启动的时候被创建,之后不能被替换覆盖或者是扩展。

    Applet和Servlet的区别
    Applet是运行在客户端主机的浏览器上的客户端Java程序。而Servlet是运行在web服务器上的服务端的组件。applet可以使用用户界面类,而Servlet没有用户界面,相反,Servlet是等待客户端的HTTP请求,然后为请求产生响应。

    展开全文
  • applet

    2019-09-28 00:30:52
    applet是一种Java程序。它一般运行在支持Java的Web浏览器内。因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序。 如下所示是独立的Java应用程序和applet程序之间重要的不同: Java中applet类...

    applet是一种Java程序。它一般运行在支持Java的Web浏览器内。因为它有完整的Java API支持,所以applet是一个全功能的Java应用程序。

    如下所示是独立的Java应用程序和applet程序之间重要的不同:

    • Java中applet类继承了 java.applet.Applet类
    • Applet类没有定义main(),所以一个 Applet程序不会调用main()方法,
    • Applets被设计为嵌入在一个HTML页面。
    • 当用户浏览包含Applet的HTML页面,Applet的代码就被下载到用户的机器上。
    • 要查看一个applet需要JVM。 JVM可以是Web浏览器的一个插件,或一个独立的运行时环境。
    • 用户机器上的JVM创建一个applet类的实例,并调用Applet生命周期过程中的各种方法。
    • Applets有Web浏览器强制执行的严格的安全规则,applet的安全机制被称为沙箱安全。
    • applet需要的其他类可以用Java归档(JAR)文件的形式下载下来。

    转载于:https://www.cnblogs.com/MapleDream/p/9246313.html

    展开全文
  • APPLET

    2018-04-17 10:25:00
    Java Applet 基础 Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。 如下所示是独立的 Java 应用程序和 applet 程序...

    Java Applet 基础

    Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API支持,所以Applet 是一个全功能的 Java 应用程序。

    如下所示是独立的 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)文件的形式下载下来。

    Applet 类

    每一个 Applet 都是 java.applet.Applet 类的子类,基础的 Applet 类提供了供衍生类调用的方法,以此来得到浏览器上下文的信息和服务。

    这些方法做了如下事情:

    • 得到 Applet 的参数
    • 得到包含 Applet 的 HTML 文件的网络位置
    • 得到 Applet 类目录的网络位置
    • 打印浏览器的状态信息
    • 获取一张图片
    • 获取一个音频片段
    • 播放一个音频片段
    • 调整此 Applet 的大小

    除此之外,Applet 类还提供了一个接口,该接口供 Viewer 或浏览器来获取 Applet 的信息,并且来控制 Applet 的执行。

    Viewer 可能是:

    • 请求 Applet 作者、版本和版权的信息
    • 请求 Applet 识别的参数的描述
    • 初始化 Applet
    • 销毁 Applet
    • 开始执行 Applet
    • 结束执行 Applet

    Applet 类提供了对这些方法的默认实现,这些方法可以在需要的时候重写。

    Applet 的调用

    Applet 是一种 Java 程序。它一般运行在支持 Java 的 Web 浏览器内。因为它有完整的 Java API 支持,所以 Applet 是一个全功能的 Java 应用程序。

    <applet> 标签的属性指定了要运行的 Applet 类。width 和 height 用来指定 Applet 运行面板的初始大小。Applet 必须使用 </applet> 标签来关闭。

    如果 Applet 接受参数,那么参数的值需要在 <param> 标签里添加,该标签位于 <applet> 和 </applet> 之间。浏览器忽略了 applet 标签之间的文本和其他标签。

    不支持 Java 的浏览器不能执行 <applet> 和 </applet>。因此,在标签之间显示并且和 applet 没有关系的任何东西,在不支持的 Java 的浏览器里是可见的。

    Viewer 或者浏览器在文档的位置寻找编译过的 Java 代码,要指定文档的路径,得使用 <applet> 标签的 codebase 属性指定。

    Applet的生命周期

    Applet 类中的四个方法给你提供了一个框架,你可以再该框架上开发小程序:

    • init: 该方法的目的是为你的 Applet 提供所需的任何初始化。在 Applet 标记内的 param 标签被处理后调用该方法。
    • start: 浏览器调用 init 方法后,该方法被自动调用。每当用户从其他页面返回到包含 Applet 的页面时,则调用该方法。
    • stop: 当用户从包含 Applet 的页面移除的时候,该方法自动被调用。因此,可以在相同的 Applet 中反复调用该方法。
    • destroy: 此方法仅当浏览器正常关闭时调用。因为 Applet 只有在 HTML 网页上有效,所以你不应该在用户离开包含 Applet 的页面后遗漏任何资源。
    • paint: 该方法在 start() 方法之后立即被调用,或者在 Applet 需要重绘在浏览器的时候调用。paint() 方法实际上继承于 java.awt。

    应用程序转换成 Applet

    将图形化的 Java 应用程序(是指,使用AWT的应用程序和使用 java 程序启动器启动的程序)转换成嵌入在web页面里的applet是很简单的。

    下面是将应用程序转换成 Applet 的几个步骤:

    • 编写一个 HTML 页面,该页面带有能加载 applet 代码的标签。
    • 编写一个 JApplet 类的子类,将该类设置为 public。否则,Applet 不能被加载。
    • 消除应用程序的 main()方法。不要为应用程序构造框架窗口,因为你的应用程序要显示在浏览器中。
    • 将应用程序中框架窗口的构造方法里的初始化代码移到 Applet 的 init() 方法中,你不必显示的构造 Applet 对象,浏览器将通过调用 init() 方法来实例化一个对象。
    • 移除对 setSize() 方法的调用,对于 Applet 来讲,大小已经通过 HTML 文件里的 width 和 height 参数设定好了。
    • 移除对 setDefaultCloseOperation() 方法的调用。Applet 不能被关闭,它随着浏览器的退出而终止。
    • 如果应用程序调用了 setTitle() 方法,消除对该方法的调用。applet 不能有标题栏。(当然你可以给通过 html 的 title 标签给网页自身命名)
    • 不要调用 setVisible(true),Applet 是自动显示的。

    事件处理

    Applet 类从 Container 类继承了许多事件处理方法。Container 类定义了几个方法,例如:processKeyEvent() 和processMouseEvent(),用来处理特别类型的事件,还有一个捕获所有事件的方法叫做 processEvent。

    为了响应一个事件,Applet 必须重写合适的事件处理方法。

    显示图片

    Applet 能显示 GIF,JPEG,BMP 等其他格式的图片。为了在 Applet 中显示图片,你需要使用 java.awt.Graphics 类的drawImage()方法。

    播放音频

    Applet 能通过使用 java.applet 包中的 AudioClip 接口播放音频。AudioClip 接口定义了三个方法:

    • public void play(): 从一开始播放音频片段一次。
    • public void loop(): 循环播放音频片段
    • public void stop(): 停止播放音频片段

    为了得到 AudioClip 对象,你必须调用 Applet 类的 getAudioClip() 方法。无论 URL 指向的是否是一个真实的音频文件,该方法都会立即返回结果。

    直到要播放音频文件时,该文件才会下载下来。

    安全限制

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

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

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

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

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

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

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

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

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

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

    10. Applet不能关闭JVM。

    开发步骤

    Applet程序开发主要步骤如下:

    1)选用EDIT或Windows Notepad等工具作为编辑器建立Java Applet源程序。

    2)把Applet的源程序转换为字节码文件。

    3)编制使用class 的HTML文件。在HTML文件内放入必要的<OBJECT>语句。

    参考来源:https://www.sogou.com/link?url=DSOYnZeCC_psXFayQllNlg29gBEIIasz91KWO6EzMSiicWcrIuuYMtKmVIrAXNLVIeZ8aQ291kY.

    转载于:https://www.cnblogs.com/12qw/p/8862142.html

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 88,821
精华内容 35,528
关键字:

applet