当前位置:文档之家› 基于Java的浏览器的设计与实现(含源文件)

基于Java的浏览器的设计与实现(含源文件)

基于Java的浏览器的设计与实现摘要本课程设计主要运用java语言在Eclipse编程环境下设计一个Web浏览器,从而在Windows 98/2000/XP程序运行平台上来实现它的一些基本功能,本课程设计基本实现了预定目标。

浏览器的设计包括了图形界面设计和底层设计,在整个设计过程中需要首先构建好图形界面,然后再编程来实现组件以完成相应的功能,浏览器图形界面作为系统和用户之间反馈信息的平台,起着尤为关键的作用。

1 引言当今世界是一个以计算机网络为核心的信息时代,互联网为人们快速获取、发布和传递信息提供了便捷,而浏览器作为互联网上查找信息的重要工具,给人们提供了巨大而又宝贵了信息财富,受到了大家的高度重视。

网页浏览器是显示网页服务器或档案系统内的文件,并让用户与这些文件互动的一种软件。

它用来显示在万维网或局域网内的文字、影像及其他资讯。

浏览器作为重要的系统应用软件是不可或缺的。

但目前,浏览器产品的市场被少数国外大公司垄断,众多的小型浏览器也尚处于发展期,而国内的自主技术的浏览器更屈指可数,刚刚进入实用阶段。

迫切需要更多的人来关注浏览器技术,开发中国自主知识产权的浏览器产品。

1.1 项目设计目的此次课程设计的目的首先是让我们了解信息产业的多元性,把学到的知识运用到实际中,培养学生的综合模拟和实际操作能力,提高学生理论联系实际的能力,开拓创新;其次是掌握使用Eclipse工具设计一个简单的Web浏览器的方法,从而实现对资源的有效访问;掌握Java语言编程,并可综合运用这些知识解决一定的实际问题,使我们在所学知识的综合运用能力上以及分析问题、解决问题能力上得到一定的提高;认识到团队精神的重要性,能够通过良好的分工合作来完成既定目标。

1.2 项目设计内容(1)熟悉超文本传送协议(HTTP)进行通信;(2)熟悉Eclipse编程环境及Swing、网络编程方法;(3)理解B/S工作模式;(4)实现简单的浏览器程序;1.3 项目设计要求(1)按要求编写课程设计报告书,能正确阐述设计结果。

(2)通过课程设计培养学生严谨的科学态度、认真的工作作风和团队协作精神。

(3)学会文献检索的基本方法和综合运用文献的能力。

(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

2所用开发环境Eclipse是一个开放源代码的、基于Java 的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。

它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——Eclipse Platform、JDT、CDT和PDE.JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。

它提供建造块和构造并运行集成软件开发工具的基础。

Eclipse是著名的跨平台的自由集成开发环境(IDE)。

最初主要用于Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。

Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse 拥有其他功能相对固定的IDE软件很难具有的灵活性。

许多软件开发商以Eclipse 为框架开发自己的IDE。

[1]2.2 JDK简介JDK(Java Development Kit)是Sun Microsystems针对Java开发员的产品。

自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software development kit)。

JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Environment),Java工具和Java基础的类库(rt.jar)。

不论什么Java应用服务器实质都是内置了某个版本的JDK。

掌握JDK是学好Java的第一步。

最主流的JDK是Sun公司发布的JDK。

JDK包含的基本组件包括:·javac –编译器,将源程序转成字节码·jar –打包工具,将相关的类文件打包成一个文件·javadoc –文档生成器,从源码注释中提取文档·jdb – debugger,查错工具·java –运行编译后的java程序(.class后缀的)appletviewer:小程序浏览器,一种执行HTML文件上的Java小程序的Java浏览器。

Javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。

Javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。

Jconsole: Java进行系统调试和监控的工具3设计原理3.1 JAVA语言简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。

用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。

从此,Java 被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。

另一方面,Java技术也不断更新。

Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。

Java 应用编程接口为Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。

在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。

现在Java 平台已经嵌入了几乎所有的操作系统。

这样Java程序可以只编译一次,就可以在各种系统中运行。

Java分为三个体系JavaSE(Java2 Platform Standard Edition,java 平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。

Java主要特性:Java语言是简单的、面向对象的、分布式的、健壮的、安全的、体系结构中立的、可移植的、解释型的、高性能的、多线程的、动态的。

3.2 图形用户界面(GUI)图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户介面。

与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

如Windows是以图形界面方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观。

GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

GUI由桌面、视窗、单一文件界面、多文件界面、标签、菜单、图标、按钮这几部分组成。

[2]3.3 Java Swing概述Swing是一个用于开发Java应用程序用户界面的开发工具包,并以此为基础使跨平台应用程序可以使用任何可插拔的外观风格。

Swing开发人员只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。

Swing是建立在AWT之上的,包括大多数轻量组件的组件集。

除提供了AWT 所缺少的、大量的附加组件外,Swing还提供了替代AWT重量组件的轻量组件。

Swing还包括了一个使人印象深刻的、用于实现包含插入式界面样式等特性的图形用户界面的下层构件。

因此,在不同的平台上,Swing组件都能保持组件的界面样式特性,如双缓冲、调试图形和文本编辑包等。

还具有以下特点:(1)拥有一个丰富、便捷的用户界面元素集合。

(2)对底层平台依赖的很少,因此与平台相关的bug很少。

(3)给予不同平台的用户一致的感官效果。

3.4抽象窗口工具箱(AWT)AWT(Abstract Windowing Toolkit),中文译为抽象窗口工具包,是Java提供的用来建立和设置Java的图形用户界面的基本工具。

AWT由Java中的java.awt 包提供,里面包含了许多可用来建立与平台无关的图形用户界面(GUI)的类,这些类又被称为组件(components)。

抽象窗口工具包(Abstract Windowing Toolkit)(AWT)是Java的平台独立的窗口系统,图形和用户界面器件工具包。

AWT是Java基础类(JFC)的一部分,为Java程序提供图形用户界面(GUI)的标准API。

AWT可用于Java的applet和applications中。

它支持图形用户界面编程的功能包括:用户界面组件;事件处理模型;图形和图像工具,包括形状、颜色和字体类;布局管理器,可以进行灵活的窗口布局而与特定窗口的尺寸和屏幕分辨率无关;数据传送类,可以通过本地平台的剪贴板来进行剪切和粘贴。

3.5布局算法本文中的布局应理解为界面输出前的预演和处理位置等信息的算法,而不是具体的画图和界面输出。

布局算法的好坏直接关系到界面的输出效果,但布局算法也是要根据GUI所能实现的输出效果来设计的,所以,GUI往往成为系统的瓶颈,如果GUI提供的支持有限,即使有再好的布局算法,也是纸上谈兵,无用武之地。

在Swing中有以下几种简单的布局管理器:(1)FlowLayout流式布局管理器FlowLayout是最简单的布局管理器,按照组件的添加次序将它们从左到右地放置在容器中。

当到达容器边界时,组件将放置在下一行中。

(2)BorderLayout边界布局管理器BorderLayout为在容器中放置组件提供了一个稍微复杂的布局方案。

BorderLayout把容器分为五个区域:东、南、西、北和中。

东占据容器的右侧,南占据容器的下侧,以此类推。

(3)GridLayout网格布局管理器GridLayout将容器分割成许多列和行,组件被填充到每个网格中。

添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其他组件,直至占满该行的所有网格,接着继续在下一行中从左到右放置组件。

(4)CardLayout卡片式布局管理器CardLayout将界面看作一系列的卡片,在任何时候只有其中一张卡片是可见的,这张卡片占据容器的整个区域。

当某个容器被创建后,就会有一个默认的布局管理器。

Window、Frame和Dialog的默认布局管理器是BorderLayout,Panel和Applet的默认布局管理器是FlowLayout。

相关主题