基于java的浏览器的设计与实现-学位论文.doc
《基于java的浏览器的设计与实现-学位论文.doc》由会员分享,可在线阅读,更多相关《基于java的浏览器的设计与实现-学位论文.doc(35页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于Java的浏览器的设计与实现后台功能子系统软件工程学 院: 专 业: 指导教师: 2014年9月基于Java的浏览器的设计与实现后台功能子系统摘 要当今世界是一个以计算机网络为核心的信息时代,互联网为人们快速获取、发布和传递信息提供了便捷,而浏览器作为互联网上查找信息的重要工具,给人们提供了巨大而又宝贵的信息财富,受到了大家的高度重视。网页浏览器是显示网页服务器或档案系统内的文件,并让用户与这些文件互动的一种软件。它用来显示在万维网或局域网内的文字、影像及其他资讯。浏览器作为重要的系统应用软件是不可或缺的。但目前,浏览器产品的市场被少数国外大公司垄断,众多的小型浏览器也尚处于发展期,而国内
2、的自主技术的浏览器更屈指可数,刚刚进入实用阶段。迫切需要更多的人来关注浏览器技术,开发中国自主知识产权的浏览器产品。本文围绕着浏览器的编程与开发,讲述了在JDK5.0中进行浏览器开发的一些技术和笔者的一些心得,着重讲解了笔者在毕业设计中所实现的一个浏览器程序Brower。本文用软件工程的开发过程,详细论述了浏览器的分析、设计及代码实现,最终实现一个具有能同时浏览多个网页,可查询历史浏览记录,可以实现超链接监听并响应,以及对非法网站的过滤等基本功能的浏览器。 本文以一个实际运作的浏览器 Browser 为主轴介绍浏览器的设计理念与方法,同时讲述浏览器中各个模块如何互相协同运作,来完成一个呈现网页
3、的工作。HTML词法分析是本文着重讨论的技术问题,给出了详尽的数据结构,程序流程,并且还介绍了一些基于Java的HTML解析器。另外,Java Swing技术也是本文介绍的浏览器所使用的一种主要的技术,通过使用各个组件,并增加监听器和事件处理等操作,最终形成一个具有一定事物处理能力的浏览器的界面部分。关键字:浏览器,Java Swing,HTML词法分析,事件The Design And Implementation Of A Browser Based On JavaAbstractNowadays is a computer network as the core of the infor
4、mation age. The Internet provides a convenient for people to quickly get the release and transfer information. And the Browser as a impartment tool for us to search information, provides people with a huge and valuable the wealth of information. the Homepage Browser, which becomes one of the essenti
5、al software for surf online, has already obtained widely application. Under the leading position of IE, all kinds of domestic and foreign browser software have appeared like mushroom growth breeding lives. The homepage browsers development and the application have become a computer domain big hot sp
6、ot in recent years.This article revolves Browsers programming and development, narrated some technologies and authors attainments of carrying the browser in JDK5.0 development, explained browser procedureBrower which emphatically in the achievement of graduation project.This article uses software en
7、gineerings performance procedure, elaborated Browsers analysis, design and code achievement, finally achieved the Browser which has simultaneously glances over many homepages. It can inquire the history to glance over the record, realize opens and preserves the homepage, the ultra connection monitor
8、s and responds, with to illegal website filtration and so on. This article take actual operations browserBrowser as the main axle,introduced browsers design idea and method, simultaneously narrated how each module does coordinate the operation mutually in the browser, completes one to present the ho
9、mepage the work. The HTML lexical analysis is the technical question which discusses emphatically, has given the exhaustive construction of data, the procedure flow, and also introduced some based on the Java HTML revolver. One kind of main technology which moreover, this article is also introduces
10、the Swing technology of JAVA, through uses each module, and increases operations and so on monitor and event processing, final had certain thing handling ability browsers contact surface part to form. Keywords: Browser, Java Swing, HTML Lexical Analysis, Event目 录1 前言11.1系统概述11.2 Browser浏览器的组成和各部分功能说
11、明21.2.1词法分析21.2.2语法分析21.2.3 GUI及软件界面31.2.4布局算法31.3开发的前期策划41.3.1平台的选取41.3.2确定要实现的基本功能42 系统需求分析52.1需求分析52.1.1设计目的52.1.2功能需求52.1.3其他需求52.1.4其他说明63 系统概要设计73.1功能结构图73.2开发环境73.3系统时序图83.3开发技术和开发工具简介83.3.1开发技术83.3.2开发工具简介134 系统详细设计与实现154.1子系统154.1.1子系统的划分154.1.2子系统间的协作关系154.2各子系统功能的实现164.2.1GUI的实现164.2.2控制子
12、系统的实现174.2.3网页获取子系统的实现184.2.4网页显示子系统的实现184.2.5数据管理子系统的实现184.3主要功能阐述194.3.1地址栏的实现194.3.2收藏夹的实现204.3.3工具栏的实现204.3.4阻止IE打开弹出窗口204.4编码204.4.1数据结构214.4.2处理按钮动作的方法225 测试255.1测试与调试的基本概念255.2测试内容266 结论27参 考 文 献28致 谢29第II页 共II页1 前言在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,从而倍受人们的重视,而互联网上信息的查找又要通过浏览器的浏览来实现,所以
13、本文通过对当下流行的浏览器的模拟设计和实现来让大家对网络及网络资源的认识,以及浏览器的各个功能的实现有一个大概的认识。浏览器是一个基于C/S架构的应用软件,其最基本的功能,就是能够将因特网上的众多资源,例如网页上的内容与信息或是在线服务等,呈现给使用者并让使用者得以使用存在于因特网上的各项服务。因此透过网络传输数据对浏览器来说,是相当重要且必备的一项能力。浏览器作为重要的系统应用软件是不可或缺的。但目前,浏览器产品的市场被少数国外大公司垄断,众多的小型浏览器也尚处于发展期,而国内的自主技术的浏览器更屈指可数,刚刚进入实用阶段。迫切需要更多的人来关注浏览器技术,开发中国自主知识产权的浏览器产品。
14、为了进一步了解浏览器的工作原理,本课题完成模拟浏览器的开发,实现浏览互联网上的资源以及本地资源,可查询历史浏览记录等功能的浏览器。本文阐述了浏览器开发的关键技术,并详细说明本课题Browser的实际开发过程,和技术细节。1.1系统概述蒂姆伯纳斯李(Tim Berners-Lee)是第一个使用超文本来分享资讯的人,他于1990年发明了首个网页浏览器WorldWideWeb。在1991年3月,浏览器的发展就和网络的发展联系在一起了。当时,网页浏览器被视为能够处理CERN庞大电话簿的实用工具。在与用户互动的前提下,网页浏览器根据gopher和telnet协议,允许所有用户能轻易地浏览别人所编写的网站
15、。可是,其后在浏览器中加插图像的举动,使之成为了互联网的“杀手级应用”。NCSA Mosaic使互联网得以迅速发展。它最初是一个只在Unix运行的图像浏览器;很快便发展到在Apple Macintosh和Microsoft Windows亦能运行。1993年9月发表了1.0版本。网景公司在1994年10月发布了他们的旗舰产品网景导航者。但第二年Netscape的优势就被削弱了。错失了互联网浪潮的微软在这个时候匆促的购入了Spyglass公司的技术,改成Internet Explorer。1998年,网景公司创造了Mozilla,至2002年,它已发展成一个稳定而强大的互联网套件。Mozilla
16、 1.0的出现被视为其里程碑。同年,衍生出Phoenix(后改名Firebird,最后又改为Firefox)。Firefox 1.0于2004年发表。及至2008年,Mozilla及其衍生产品约占20%网络交通量。Opera是一个灵巧的浏览器。它发布于1996年。目前它在手持电脑上十分流行。它在个人电脑网络浏览器市场上的占有率则稍微较小。2003年,微软宣布不会再推出的独立的Internet Explorer,但会变成视窗平台的一部分;同时也不会再推出任何Macintosh版本的Internet Explorer。不过,于2005年初,微软却改变了计划,并宣布将会为Windows XP、Win
17、dows Server 2003和Windows Vista操作系统推出Internet Explorer 7。2011年3月15日,微软推出了Internet Explorer9的正式版,2011年4月11日,Internet Explorer9才推出1个月,微软又推出了Internet Explorer10的首个预览版本。本系统模拟现有的浏览器,实现简单的网页浏览,包括本地网页和远程网络网页,添加收藏夹等功能,目的在于使我们了解并掌握浏览器的工作原理,充分利用已经学到的知识实现功能!1.2 Browser浏览器的组成和各部分功能说明1.2.1词法分析HTML(HyperText Marku
18、p Language,超文本标记语言)词法分析是浏览器设计的基础环节之一,也是整个设计过程中重要的前端工作,其数据结构的拟定与接下来的语法分析和布局算法密切相关,词法分析的效率与准确性、容错性也关系到整个浏览器设计的质量。Browser采用了JDK(Java Development Kit,Java开发包)附带的HTML解析器解析从服务器返回的HTML数据。1.2.2语法分析在大型的浏览器中,语法分析通常是独立的模块,但在某些小型的浏览器中,语法分析通常是与布局混合在一起的,即一边进行语法分析,一边布局,不设立相应的数据结构来存储语法分析的结果。本文所讲述的Browser也是采用这种设计思想。
19、另外,语法分析对布局的算法有直接的指导意义。1.2.3 GUI及软件界面图形用户界面(Graphical User Interface,简称 GUI)是指采用图形方式显示的计算机操作用户接口。与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。浏览器无疑是一个图形界面的大需求者,选择好的GUI环境非常重要,为了能够实现专有的功能,浏览器开发者往往还要对基础的GUI库进行包装、改写,甚至写自己的控件。所有这些,是需要有专业的GUI库开发经验的专职人员来完成。GUI的功劳第一在于软件的操作界面,如窗口、菜单、工具条、滚动条等。第二在于主浏览窗体中的图形元素的输出(通常以自画控
20、件的方式)。前者通常直接使用GUI库中的已有控件,编程难度很小,后者主要利用基本的点线函数,编程难度比较大。在JavaWebBrower中使用Java Swing技术编写浏览器的图形界面,而做图形界面首先要考虑的就是选择一个合适的布局管理器。JDK没有表单设计器,需要通过代码来定制布局管理器来放置用户界面组件所在的位置。GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用。人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。而嵌入式GUI具有下面几个方面的基本要求:轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
21、1.2.4布局算法布局算法的好坏直接关系到界面的输出效果,但布局算法也是要根据GUI所能实现的输出效果来设计的,所以,GUI往往成为系统的关键,如果GUI提供的支持有限,即使有再好的布局算法,也是很难实现预想功能的。在Java Swing中有以下几种简单的布局管理器:(1)BorderLayout边界布局管理器BorderLayout为在容器中放置组件提供了一个稍微复杂的布局方案。BorderLayout把容器分为五个区域:东、南、西、北和中。东占据容器的右侧,南占据容器的下侧,以此类推。(2)FlowLayout流式布局管理器FlowLayout是最简单的布局管理器,按照组件的添加次序将它们
22、从左到右地放置在容器中。当到达容器边界时,组件将放置在下一行中。(3)GridLayout网格布局管理器GridLayout将容器分割成许多列和行,组件被填充到每个网格中。添加到容器中的组件首先放置在左上角的网格中,然后从左到右放置其他组件,直至占满该行的所有网格,接着继续在下一行中从左到右放置组件。(4)CardLayout卡片式布局管理器CardLayout将界面看作一系列的卡片,在任何时候只有其中一张卡片是可见的,这张卡片占据容器的整个区域。当某个容器被创建后,就会有一个默认的布局管理器。Window、Frame和Dialog的默认布局管理器是BorderLayout,Panel和App
23、let的默认布局管理器是FlowLayout。可以调用容器的setLayout()方法来设置容器的布局管理器。1.3开发的前期策划1.3.1平台的选取Microsoft开发的Windows是目前世界上用户最多,且兼容性最强的操作系统。最早的Windows操作系统从1985年就推出了,当时推出的操作系统windows1.0是基于DOS内核的操作系统。windows1.0改进了微软以往的命令、代码系统Microsoft Disk Operating Systerm(简称MS-DOS)。Microsoft Windows是彩色界面的操作系统,支持键鼠功能。Windows操作系统已被广大用户接受,并且
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 浏览器 设计 实现 学位 论文
限制150内