Applet

定义

  Applet是一种运行于Web客户端环境下的Java程序组件。

工作原理

  Applet以代码的形式嵌入Web页面中,用标签<applet></applet>标明,当支持Java的网络浏览器遇到这对标记时,就下载相应的应用程序代码,并在本地计算机上执行Applet。

作用优势

  Applet可以提高Web页面的交互能力和动态执行能力

开发步骤

  (1)编辑Applet的java源文件
  (2)编译Applet
  (3)创建HTML文件
  (4)访问HTML页面,执行Applet

生命周期

  Applet类中的四个方法提供一个框架,用户在此框架上开发小程序
  init: 此方法的目的是为Applet程序提供所需的任何初始化。在Applet标记内的param标签被处理后调用此方法。
  start: 浏览器调用init方法后,此方法被自动调用。每当用户从其他页面返回到包含Applet的页面时,则调用此方法。
  stop: 当用户从包含Applet的页面移除的时候,此方法自动被调用。因此,可以在相同的Applet中反复调用此方法。
  destroy: 此方法仅当浏览器正常关闭时调用。
  paint: 此方法在start()方法之后立即被调用,或者在Applet需要重绘在浏览器的时候调用。paint方法实际上继承于java.awt

安全性限制

  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

独立的Java应用程序和Applet程序之间的不同:

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

参考源:https://baike.baidu.com/item/Applet
    http://www.runoob.com/java/java-applet-basics.html

AJAX

定义

  AJAX即Asynchronous JavaScript and XML(异步的JavaScript与XML技术),指的是一套综合多项技术的浏览器端网页开发技术。
  类似于DHTML或LAMP,AJAX不是指一种单一的技术,而是有机地利用了一系列相关的技术。虽然其名称包含XML,但实际上数据格式可以由JSON代替,进一步减少数据量,形成所谓的AJAJ。

表单缺陷

  传统的Web应用允许用户端填写表单(form)。当提交表单时向网页服务器发送一个请求,服务器接收并处理传来的表单,然后送回一个新的网页。
  而在前后两个页面中的大部分HTML代码往往是相同的,由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。导致用户界面的回应比本机应用慢得多。

AJAX优势

  AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应,因为在服务器和浏览器之间交换的数据量大量减少,服务器回应更快。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少。
  使用AJAX的最大优点,就是在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免在网络上发送没有改变的信息。

应用

  (1)运用XHTML+CSS来表达信息
  (2)运用JavaScript操作DOM(Document Object Model)来运行动态效果
  (3)运用XML和XSLT操作数据
  (4)运用XMLHttpRequest或新的Fetch API与网页服务器进行异步数据交换
  注意:AJAX与Flash, Silverlight和Java Applet等RIA技术有区分

关于回退的问题

  在动态更新页面的情况下,用户无法回到前一个页面状态,因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙,用户通常希望单击后退按钮,就取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。

解决方案

  HTML5之前的方法是在用户单击后退按钮访问历史记录时,通过创建或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态)。

关于无法将状态加入收藏或书签的解决方法

  HTML5之前的一种方式是使用URL片断标识符(通常被称为锚点,即URL中#后面的部分)来保持追踪,允许用户回到指定的某个应用程序状态。(许多浏览器允许JavaScript动态更新锚点,这使得Ajax应用程序能够在更新显示内容的同时更新锚点。)
  HTML5 以后可以直接操作浏览历史,并以字符串形式存储网页状态,将网页加入网页收藏夹或书签时状态会被隐形地保留。
  上述两个方法也可以同时解决无法后退的问题。

兼容性

  AJAX支持的浏览器有Internet Explorer、Chrome、Firefox、Opera、Konqueror及Mac OS的Safari。但是Opera不支持XSL格式对象,也不支持XSLT。

参考源:https://zh.wikipedia.org/wiki/AJAX

Applet程序组件与AJAX技术的更多相关文章

  1. Java EE开发技术课程第五周(Applet程序组件与AJAX技术)

    1.Applet程序组件 1.1.定义: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同.含有Apple ...

  2. Web应用程序开发,基于Ajax技术的JavaScript树形控件

    感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用, ...

  3. AJAX技术主要包含的四个组件

    1.XMLHttpRequest:使用AJAX技术都是从XMLHttpRequest开始的. 2.JavaScript:实现XMLHttpRequest对象相关功能. 3.CSS 4.DOM

  4. Ajax技术(WEB无刷新提交数据)

    (转自:http://www.jb51.net/article/291.htm) Ajax内部交流文档一.使用Ajax的主要原因 1.通过适当的Ajax应用达到更好的用户体验: 2.把以前的一些服务器 ...

  5. 特定场景下Ajax技术的使用

    ajax介绍 jax技术包含了几种技术:javascript.xml.css.xstl.dom.xhtml和XMLHttpRequest七种技术,所以ajax就像是粘合剂把七种技术整合到一起,从而发挥 ...

  6. Java基础96 ajax技术的使用

    本文知识点(目录): 1.ajax的概念   2.使用ajax技术获取服务端的数据_实例   3.使用ajax技术检查用户名是否已存在_实例   4.使用ajax技术验证登录页面的用户名和密码_实例 ...

  7. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  8. Ajax技术

    1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...

  9. Java之Ajax技术

    ajax(asynchronouse javascript and xml) 异步的javascript 和 xml(现在常把xml换成json): ajax是2005年提出的,在2006,2007年 ...

随机推荐

  1. js和jquery获取textarea输入的内容

    document.getElementById('textarea').value; $("#textarea").val()

  2. Python类和实例方法和属性的动态绑定

    python中实例创建后可以给实例绑定任何属性和方法 class Student(object): pass 给实例绑定一个属性: s=Student() s.name='Michel' print ...

  3. js---根据指定的顺序进行排序

    有一个数据列表,我需要根据根据ID依次来取里面的第9,3,8,4项,具体的实现方法. var arr = [ {id:1,title:'我是第一个'}, {id:2,title:'我是第二个'}, { ...

  4. js substr和substring

    substr(start[,end]) 字符串截取 start从那里裁,end裁切为数 substring(start[,end = str.length]) // start和end会先处理数值较大 ...

  5. ES6(六) --- Symbol

    概述: ES5 中属性名都是字符串,这容易就造成命名的冲突,特别是在混入模式(mixin模式)下.为解决这个问题ES6 引入了Symbol, Symbol是一种新的基本数据类型,表示独一无二的值!   ...

  6. php三级联动(html,php两个页面)

    <!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...

  7. 关于ie浏览器信任站点的代码

    1检测用户当前浏览器是否将域名的ip添加信任站点 js代码 //域名ip的获取 var hostname = window.location.hostname;       var WshShell ...

  8. 2^n算法

    题目描述: 如题…… 那么,可以用c++自带快速幂:pow: #include<cstdio> using namespace std; int n; int main() { scanf ...

  9. 最全的MonkeyRunner自动化测试从入门到精通(7)

    jython-installer-2.5.3.jar安装步骤步骤一:Jython的安装比较简单,Jython的安装程序本身就是一个Java应用程序,因此,在安装之前,你必须具备Java运行的环境. 步 ...

  10. 《Mysql 数据类型》

    一:整型 - 常用类型 类型 占用(字节) 范围 无符号范围 无符号范围 TINYINT 2的8次方 - — — SMALLINT 2的15次方 - — 6553 5 INT 2的31次方 - — 4 ...