Applet程序组件与AJAX技术
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技术的更多相关文章
- Java EE开发技术课程第五周(Applet程序组件与AJAX技术)
1.Applet程序组件 1.1.定义: Applet是采用Java编程语言编写的小应用程序,该程序可以包含在HTML(标准通用标记语言的一个应用)页中,与在页中包含图像的方式大致相同.含有Apple ...
- Web应用程序开发,基于Ajax技术的JavaScript树形控件
感谢http://www.cnblogs.com/dgrew/p/3181769.html#undefined 在Web应用程序开发领域,基于Ajax技术的JavaScript树形控件已经被广泛使用, ...
- AJAX技术主要包含的四个组件
1.XMLHttpRequest:使用AJAX技术都是从XMLHttpRequest开始的. 2.JavaScript:实现XMLHttpRequest对象相关功能. 3.CSS 4.DOM
- Ajax技术(WEB无刷新提交数据)
(转自:http://www.jb51.net/article/291.htm) Ajax内部交流文档一.使用Ajax的主要原因 1.通过适当的Ajax应用达到更好的用户体验: 2.把以前的一些服务器 ...
- 特定场景下Ajax技术的使用
ajax介绍 jax技术包含了几种技术:javascript.xml.css.xstl.dom.xhtml和XMLHttpRequest七种技术,所以ajax就像是粘合剂把七种技术整合到一起,从而发挥 ...
- Java基础96 ajax技术的使用
本文知识点(目录): 1.ajax的概念 2.使用ajax技术获取服务端的数据_实例 3.使用ajax技术检查用户名是否已存在_实例 4.使用ajax技术验证登录页面的用户名和密码_实例 ...
- 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
- Ajax技术
1.ajax技术的背景 不可否认,ajax技术的流行得益于google的大力推广,正是由于google earth.google suggest以及gmail等对ajax技术的广泛应用,催生了ajax ...
- Java之Ajax技术
ajax(asynchronouse javascript and xml) 异步的javascript 和 xml(现在常把xml换成json): ajax是2005年提出的,在2006,2007年 ...
随机推荐
- eclipse输入中文为繁体字
今天上班在java类中写注释,发现是繁体字,于是切换到文本编辑器,简体字,于是百度发现, 原来是搜狗输入放和eclipse的快捷键ctrl+shift+F冲突,因为使用了eclipse的格式化,结果切 ...
- 用google map实现周边搜索功能
项目要实现根据经纬度获取附近的建筑,由于项目在海外运营,谷歌地图首当其冲. 首先说明的是,该功能需要在服务端实现,也就是安卓的SDK不适用. api文档地址: https://developers.g ...
- Centos7 安装系统服务、开机自启动
Centos7 安装系统服务 1 编写可执行程序 * 这里可以是任意编程语言(C.C++.Java.PHP.Python.Perl ...)编写的程序: 当前假设此程序的执行目录为: /myservi ...
- Ionic异常及解决
1. 编译时提示: ERROR: In <declare-styleable> FontFamilyFont, unable to find attribute android:fontV ...
- csrf 攻击和防御
CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解: 攻击者盗用了你的身份,以你的名义发送恶 ...
- linux如何添加telnet服务
一.安装telnet 1.检测telnet-server的rpm包是否安装 [root@localhost ~]# rpm -qa telnet-server 若无输入内容,则表示没有安装.出于安全考 ...
- Spring Security http标签的use-expressions="true"属性
如果声明为true,那么在access属性要用hasRole()这样写: <intercept-url pattern="/secure/extreme/**" access ...
- 在elementUI中使用 el-autocomplete 实现远程搜索的下拉框
参考;https://blog.csdn.net/qq_37746973/article/details/78402812?utm_source=blogxgwz1 https://blog.csdn ...
- php框架中,try,catch不能用的问题(转载)
本文转自:http://blog.csdn.net/sangjinchao/article/details/71436557 最近再用laravel框架发现,try catch用了没有效果,依然不能阻 ...
- ubuntu下搭建LAMP环境
本文参考:http://www.linuxdiyf.com/linux/21265.html 请支持原创. 步骤一:安装apache root@mrwang:~$ sudo apt install a ...