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. 群晖搭建webssh

    拷贝工程到系统根,然后需要赋予权限 sudo chmod 777 -R WebSSH2/ git clone https://github.com/zhaocundang/WebSSH2.git de ...

  2. Springboot中如何在Utils类中使用@Autowired注入bean

    Springboot中如果希望在Utils工具类中,使用到我们已经定义过的Dao层或者Service层Bean,可以如下编写Utils类: 1. 使用@Component注解标记工具类Statisti ...

  3. MTK NTP和NITZ更新时间的问题

    NITZ(Network Identity and Time Zone,网络标识和时区),是一种用于自动配置本地的时间和日期的机制,同时也通过无线网向移动设备提供运营商信息.NITZ是自从PHASE ...

  4. linux系统搜索文件中关键字的位置

    grep -Irn “ubuntu”-------即查出文件的目录路径

  5. jstat命令详解

    Jstat是JDK自带的一个轻量级小工具.全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令 ...

  6. String 类型的值能够被反射改变从而引发的意外事件

    今天刷技术文章,遇到了一个问题,用 Java 反射机制去修改 String 变量的值,出于深入研究,就发现了一个问题,即,用初始值比较修改后的值,用 == or .equals() 方法,出现了相等的 ...

  7. hbase region still in transition

    1,删除hbase中的 hbase:meta表中相应的region的row 如; get 'hbase:meta','kylin_metadata,,1481101316881.f3b4c7c1148 ...

  8. 接口自动化测试 (三)request.post

    上一节介绍了  requests.get()  方法的基本使用,本节介绍  requests.post()  方法的使用: 本文目录: 一.方法定义 二.post方法简单使用 1.带数据的post 2 ...

  9. 有关vue开发的小经验

    注册登录已经成为布局的常事,这里为大家推荐两种超级好用的布局display:flex;justify-content:center;这个可以解决水平居中的疑难杂症 align-center:cente ...

  10. hadoop伪分布环境快速搭建

    1.首先下载一个完成已经进行简单配置好的镜像文件(hadoop,HBASE,eclipse,jdk环境已经搭建好,tomcat为7.0版本,建议更改为tomcat8.5版本,运行比较稳定). 2安装V ...