Java对Internet的贡献

Internet帮助Java走到了程序设计的前台,而Java也对Internet产生了深远的影响.除了从整体上简化了Web变成任务之外,Java还创造了一种全新的网络程序类型–applet,applet改变了在线世界对于内容的看法.Java还解决了与Internet相关的棘手问题:可移植性和安全性.下面分别进行详述讨论.
1.Java applet
applet是一种特殊的Java程序,用于在Internet上传输,由兼容Java的Web浏览器自动执行.而且可以根据需要下载applet,无须和用户进一步交互.如果用户点击一个包含applet的链接,applet就会在浏览器自动下载并运行.他们通常用来显示服务器提供的数据,处理用户输入,或者提供在本地而非服务器上执行的简单功能(例如计算器).也就是说,applet支持在一些功能从服务器转移到客户端.
applet的产生改变了Internet的编程方式,因为他是的对象可以在网络空间自由的移动.一般而言,由两种主要的对象类别可以在服务器和客户端之间传递:被动信息和动态的活动程序,例如,当读取电子邮件时,就是在查看被动数据.即使是在下载程序,程序的代码在执行之前也是被动的数据.于此不同的是,applet是动态的,自执行程序.这样的程序是客户端计算机上的活动代理,但是由服务器初始化.
尽管人们很需要动态网络程序,但是他们在安全性与可移植性领域带来了严重问题.很明显,要在客户端计算机上自动下载并且执行的程序必须保证不会带来危害.他还要能够在各种不同环境和不同操作系统上运行.Java高效完美的解决了该问题,下面将逐一详细介绍.
2.安全性
正如你可能意识到的,每次下载一个”普通”程序都可能会感染病毒,木马或者其他有害代码.问题的核心在于恶意代码获得对系统资源未授权的访问,因此可能会带来危害.例如,病毒程序可能会通过搜索计算机的本地文件系统获取私人信息,例如信用卡号,银行账户余额及密码.Java为了让applet安全在客户端上下载并执行,必须防止applet发动类似的攻击.
Java实现这种保护功能的方法是将applet限制于java执行环境中,不允许他访问计算机的其他部分.很多人认为Java最重要的创新就是能够在下载applet的时候确信对客户端无害,没有安全隐患.
3.可移植性
可移植性是Internet要考虑的主要问题之一,因为与Internet连接的计算机和操作系统有多种类型.如果Java程序要运行在于Internet链接的任何计算机上,就需要某种机制确保程序能够在不同的系统中执行.例如,对于applet而言,同样的applet必须能够由各种与Internet链接的不同CPU,操作系统和浏览器下载和执行.对不同计算机采用不同版本的applet是一种不可行的做法.相同的代码必须能够在所有的计算机上工作,因此需要有某种机制来生成可移植的可执行代码.正如你稍后会看到的,确保安全性的机制同时也有助于确保创建可移植的代码.