10.1浏览器怎样显示网页:
浏览器打开网页文件其实同我们用记事本打开的过程是一样的,只是浏览器会对这个网页文件中的内容用特殊的方式显示。浏览器除了可以在本地硬盘上可以打开网页文件外,还可以打开网络上的WWW服务器上的文件。
10.2浏览器处理网页脚本代码的过程:
当浏览器解释执行一段代码的时候,如果发现一段VBSCRIPT代码的时候,就会使用内嵌在浏览器上的VBSCRIPT解释器来解释,如果VBSCRIPT解释器不存在,这段代码就不能执行了。
10.3浏览器怎么处理Applet
与通常的java程序不同,一个Applet小应用程序的执行不是从main()函数开始的。同浏览器解释执行script脚本一样,浏览器要正确显示并运行Applet必须内嵌有Applet的解释器。Applet的引用语句嵌入到HTML页面中,Applet在浏览器解释这段代码时被下载到客户端。
10.4Applet类及其方法
Applet不是一个任意的java类,必须是java.applet.Applet的子类。WWW浏览器中内嵌的Applet解释器解释Applet的过程如下:WWW浏览器装载网页并解释其中的内容,碰到Applet标签后,下载标签中指定的Applet类的字节码文件,并创建该类的实例对象。经过WWW浏览器中的Java解释器的处理,浏览器就可以正常运行Applet小程序了。
大多数的Applet小应用程序都重载一套方法,这些方法提供了浏览器或Applet小哦应用程序阅读器与Applet小应用程序之间的接口以及前者对后者的执行进行控制的机制。其中的四个方法:init(),start(),stop(),destroy()都是由Applet所定义的。paint()是由AWT组件类定义的。
init()方法:Applet对象建立后,java就会立即调用该对象的init()方法,以通知Applet对象进行初始化。这个方法在Applet对象的生存期间只会被调用一次。
Start()方法:java在调用了init()方法后,会接着调用这个方法。在WWW浏览器每次离开创建此Applet对象的页面后,java所创建的Applet对象不会消失,当WWW浏览器再回到创建此Applet对象的页面时又会调用这个方法。
Stop()方法:在WWW浏览器每次离开创建此Applet对象的页面后,去访问令一个页面时,java会调用Applet的stop()方法,当stop()被调用时,小应用程序还在运行,使用stop()来停止只有网页当前被显示时才要保持运行的功能。
Destroy方法:当维护该Applet对象的WWW浏览器关闭时,Applet对象也将被销毁。在Applet对象被销毁之前,destroy方法就会被调用,该方法通常用于释放在init方法中初始化的内容,调用该方法之前肯定已经调用了stop方法。
URL(Uniform Resource Locator)是WWW资源统一资源定位器的简写。它规范了WWW资源网络定位地址的表示方法。WWW资源包括Web页、文本文件、图形文件、声频片段等等。URL类描述了WWW资源的特征及读其内容的方法。URL的基本表示格式是: protocol://hostname:/resourcename#anchor。
URL类的构造方法有四种: URL(URL absoluteURL)利用绝对URL地址,创建一个URL对象。参数:absoluteURL 绝对URL地址
URL(URL url ,String relativeURL)利用已建立的URL对象和相对URL地址,创建一个URL对象。
URL(String protocol,String host,String resourcename )利用protocol、host、resourcename创建一个URL对象。
URL(String protocol,String host,int port,String resourcename )利用protocol、host、port、resourcename创建一个URL对象。
URL类的构造函数中的参数如果无效就会抛出MalformedURLException异常。一般情况下程序员需要捕获并处理这个异常。
URL类提供个方法主要包括对URL类对象特征(如:协议名、主机名、文件名、端口号和标记)的查询和对URL类对象的读操作。
URL的一个重要方法是 InputStream openStream()。这个方法的作用是打开一个输入流,返回类型是InputStream,而这个输入流的起点是URL对象所代表的资源位置处,终点则是使用了该URL对象及方法openStream()的进程。在输入流建立之后,就可以从输入流中读取数据了,而这些信息数据的实际来源,则是输入流起点的网上文本文件。
下面继续研究java applet的开发细节。Applet与Application的区别主要是执行的方式不同。Application从其中的main()函数开始运行,而Applet是无法单独运行的,必须在HTML页面中被引用,由WWW浏览器下载并调用其中的方法。
Applet 小应用程序的实现主要依靠java.applet 包中的Applet类。与一般的应用程序不同,Applet应用程序必须嵌入在HTML页面中,才能得到解释执行;同时Applet可以从Web页面中获得参数,并和Web页面进行交互。 含有Applet的网页的HTML文件代码中必须带有<applet>和</applet>这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小程序代码并在本地计算机上执行该Applet小程序。
Applet是一种Java的小程序,它通过使用该Applet的HTML文件,由支持Java的网页浏览器下载运行。也可以通过java开发工具的appletviewer来运行。Applet 程序离不开使用它的HTML文件。这个HTML文件中关于Applet的信息至少应包含以下三点:
1)字节码文件名(编译后的Java文件,以.class为后缀)
2)字节码文件的地址
3)在网页上显示Applet的方式。
Applet类是所有Applet应用的基类,所有的Java小应用程序都必须继承该类。Applet类的构造函数只有一种,即:public Applet()。
在编写动画过程时,遇到最常见的问题是屏幕会出现闪烁现象。闪烁有两个原因:一是绘制每一帧花费的时间太长(因为重绘时要求的计算量大);二是在每次调用Pain()前,Java 会用背景颜色重画整个画面,当在进行下一帧的计算时,用户看到的是背景。有两种方法可以明显地减弱闪烁:重载 update()或使用双缓冲。
重载 update():当AWT接收到一个applet的重绘请求时,它就调用applet的 update(),默认地,update() 清除applet的背景,然后调用 paint()。重载 update(),将以前在paint()中的绘图代码包含在update()中,从而避免每次重绘时将整个区域清除。
使用双缓冲技术:另一种减小帧之间闪烁的方法是使用双缓冲,它在许多动画Applet中被使用。其主要原理是创建一个后台图像,将需要绘制的一帧画入图像,然后调用DrawImage()将整个图像一次画到屏幕上去;好处是大部分绘制是离屏的,将离屏图像一次绘至屏幕上比直接在屏幕上绘制要有效得多,大大提高做图的性能。
Applet标记被用来从HTML文件和小应用程序阅读器中启动一个小的应用程序。Applet标记有一系列属性:
Width Applet在Html页面上的宽度
Height Applet在Html页面上的高度
Name Applet在Html页面上的名称,用于区名一个Html页面上的多个Applet
Code Applet类名,必须带后缀”class”当没有属性archive时,直接写类名当有属性archive时,必须带包名
Codebase Applet的类相对路径,相对于Html页面位置
Archive Applet所在Jar包的文件名
标签< PARAM>的属性介绍
Name Applet传入的参数名
Value Applet传入的参数值
当Applet 为一个Class类文件嵌入的写法
属性Code ==========Applet类名,必须带后缀名
属性CodeBase ---------------Class类文件相对于Html页面的相对路径
object标记用来在网页中插入系统物件(系统模块)。其中有一个 classid属性用来指明系统物件(系统模块)的地址标号。这个属性指定了java解释器插件本身,这个插件其实就是一个IE浏览器专用的ActiveX控制,并不是网页中的Applet小程序,而是执行Applet小程序的解释器,Applet小程序作为Object标记的一个参数指定。