Applet

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请求,然后为请求产生响应。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值