654523915毕业设计(论文)Web信息自动推荐系统设计_第1页
654523915毕业设计(论文)Web信息自动推荐系统设计_第2页
654523915毕业设计(论文)Web信息自动推荐系统设计_第3页
654523915毕业设计(论文)Web信息自动推荐系统设计_第4页
654523915毕业设计(论文)Web信息自动推荐系统设计_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖 南 科 技 大 学毕 业 设 计( 论 文 )题 目 web信息自动推荐系统设计 作 者 系 别 计算机科学与工程 专 业 计算机科学与技术 学 号 7 指导教师 目 录前言11. 课题的研究意义12. 论文目的、内容及主要贡献11 发展现状与设计目标21.1 web信息检索工具搜索引擎21.2 传统www信息检索服务的特点31.3 主动信息服务的必要性41.4 主动推送信息服务系统原理42 开发工具及关键技术介绍62.1 eclipse(myeclipse)62.2 java(jsp、j2ee)62.2.1 java62.2.2 jsp72.2.3 j2ee92.3 tomcat92.4

2、 mysql102.5 jdbc102.5.1 jdbc概述102.5.2 jdbc数据访问模型102.6 基于b/s模型的web应用程序102.7 google web api133 要解决的几个关键问题153.1 研究设计中要解决的问题153.2 具体实现中采用的关键技术及复杂性分析154系统结构与模型164.1 基于向量空间模型的信息自动推荐系统设计164.2 向量空间模型(vsm)系统处理流程图184.3 建立向量空间模型的关键中文分词184.4 汉语词法分析系统ictclas的介绍214.5 数据流图和系统结构图215 系统实现245.1 系统结构设计245.1.1 目标设计245.

3、1.2 设计思路245.1.3 系统功能分析与设计255.2 数据库结构设计265.2.1 数据库需求分析265.2.2 数据库逻辑设计265.3 整个系统连接数据库中心代码(连接到mysql)275.4 用户信息管理模块275.5 自动推荐系统模块275.6 系统管理模块326 性能测试与分析346.1 测试实例(测试集)的选择346.2 测试环境与测试条件346.3 测试步骤346.4 测试结果356.5 性能分析36结论37参考文献38致谢39附录 jsp开发运行环境的安装40web信息自动推荐系统设计专业:计算机科学与技术 作者:张慧 指导老师:廖祝华摘要:随着网络技术的应用与发展,互

4、连网已经成为信息的重要来源地。到1999年底,已经至少有1,600万台主机接入互连网,互联网上网页总数已达到10多亿页,并且以每月近千万的数目递增。搜索引擎以一定的策略在互联网中搜集、发现信息,对信息进行理解、提取、组织和处理,并为用户提供检索服务,从而起到信息导航的目的,互联网用户使用网络获取信息过程中,搜索引擎也成为必不可少的工具。调查表明,当前的所有互连网应用中,网络信息搜索是仅次于电子邮件的第二大应用,而这些搜索绝大多数是专门的,高度复杂的搜索引擎实现的。传统的www搜索引擎是“提问搜索”方式,通过一种简单的操作界面接受用户的提问,再把搜索到的结果返回给用户。使用这种方式去检索信息的缺

5、点有:对于所有用户给出同样的关键字得到的检索结果都是一样的,不能根据不同的用户的兴趣爱好给出相应的建议。其次,用户的兴趣的状态信息没有保留下来,用户每次查询是相互独立的。本文讨论了利用向量空间模型进行个性化搜索,实现web信息自动推荐。论文的主要工作集中在:1. 学习了与web搜索有关的网络技术。2. 了解和掌握了向量空间模型的原理和实现方法。3. 熟悉了基于j2ee开发平台的软件开发方法,初步掌握了jdk,eclipse等开发工具的使用。4. 设计和实现了一个基于向量空间模型的web信息自动推荐系统。5. 对向量空间模型检索出的信息与搜索引擎检索出来的信息进行了分析和比较,证明向量空间模型检

6、索信息的优越性、正确性、主动性、智能性。本文的组织结构主要包括:发展现状及设计目标,开发工具及关键技术介绍,要解决的关键问题,系统结构与模型,系统实现,性能测试与分析,结论。关键词:www搜索引擎;向量空间模型;自动推荐;j2eethe design of system automatic recommendation web informationmajor:computer science and technology author:zhang hui supervisor: liao zhuhuaabstract:along with the networking application

7、 and the development, the internet has already become an important source of the information. by the end of year 1999, at least some 1,600 ten thousand servers turn on interconnection network. on the internet the homepage total has already achieved more than 10 hundred million pages, and the number

8、increased to nearly 10 million monthly. the search engine collects and discovery information by certain strategy on the internet; to understand, extract, the organization and process the information; and provide the retrieval service for the users; thus get up the goal of information navigation. in

9、the process of using network to obtain information, the search engine also becomes the essential tool. the investigation indicated that, in all the network application at present, the network information search is only inferior to the email; but these searches are realized overwhelmingly by special,

10、 highly complex search engine. the traditional www search engine is “the inquiry - search” the way, accepting the user inquiry through one kind of simple operation surface, then return the result. using this way to retrieve the information has some shortcomings: give the retrieval result regarding a

11、ll users which the same key words; cannot give the corresponding suggestions according to the different users the interests. next, users information of interest condition has not retained, so the user inquiry is mutually independent each time. this article has carried on the personalized search usin

12、g the vector space model and the realization of automatic recommendation web information. article prime task concentrates in:1 learning network technology with web searches.2 understanding and mastering the principles and the realization of the vector space mode.3 be familiar with the software devel

13、opment platform based on j2ee development methods, such as the initial master jdk,eclipse development tools.4 the design and realization of a web-based vector space model for automatic information systems. 5 carry on the analysis of the information retrieved by the vector space model, and compare th

14、e information retrieved by the search engine, and proving that using vector space model to retrieve the information has several advantages: the superiority, the accuracy, the initiative, the intelligence. this articles structure as follows: the present situation of development and the design goal; i

15、ntroducing the tools development and the key technologies; several key questions need to solve; system structure and model; system realization; performance test and analysis; conclusion.keywords:www search engine; vector space model; automatic recommendation; j2ee前言1. 课题的研究意义随着信息技术的发展和社会信息化过程的快,作为全球

16、最大的信息载体国际互联网在给人们带来海量的信息资源,以及获取信息的方便性的同时,又带来诸多负面效应。网上的信息良莠不齐,又缺乏次序,各种无用的垃圾信息铺天盖地的传递给用户,用户往往为为获得需要的信息花费大量的时间和精力。1而传统的www搜索系统查询的结果往往会与用户真实的需求相差甚远,而且产生的无用信息量会非常大,许多用户希望的个性化查询无法实现(个性化查询就是将一般的查询结果根据用户的个性模型进行二次检索,以适应用户个人的需要)为此人们从许多方面对此技术进行了优化和改进,以期获得更高的查询精度和效率。而如何能够根据用户的兴趣特征更主动地向用户提供信息已成为网络信息服务提供商的发展均势之一。2

17、本文就采用向量空间模型来实现,设计一个基于b/s模型的web信息自动推荐系统(web网站系统)。本文首先介绍了搜索引擎及与其技术的原理,然后讨论了向量空间模型的原理和实现技术。web信息自动推荐系统设计的具体实现:用户使用前向系统注册兴趣信息(某一领域的知识,主要是文本信息),以后系统打开时自动利用其它搜索引擎搜索相关信息,然后利用向量空间模型检索出用户比较感兴趣的信息。2. 论文目的、内容及主要贡献(1) 论文目的:熟悉向量空间模型的原理,掌握向量空间模型的实现方法,利用用户兴趣信息和向量空间模型实现web信息的自动推荐。同时在论文工作过程中学会查阅文献资料,提高自我学习能力,动手能力,自我

18、思考能力。(2) 论文内容:分析搜索引擎的现状、主动服务机制,学习和掌握向量空间模型的原理与实现方法,设计面向web信息的自动推荐算法,实现web信息自动推荐系统等。(3) 主要贡献:对传统的www搜索机制做出了分析,提出了使用向量空间模型来实现个性化搜索,实现了自动推荐的服务机制。1 发展现状与设计目标1.1 web信息检索工具搜索引擎web给信息检索带来了新的挑战,web上的信息量快速增长,同时不断有毫无经验的新用户来体验web这门艺术,如何在浩瀚的信息海洋中准确、方便、快速地找到自己所需的信息,从1995年开始出现的信息检索工具搜索引擎(serach engines),并且它所提供的导航

19、服务已成为internet中最要的网络服务之一。目前搜索引擎已从一种单纯的it技术上升为搜索经济,有望成为继无线增值和游戏之后,互联网企业又一重要的利润增长点。3按照信息搜集方法和服务提供方式的不同,搜索引擎系统可以分为三大类:(1) 目录式搜索引擎,以人工方式或半自动方式搜集信息,由编辑员查看信息之后,人工形成信息摘要,并将信息置于事先确定的分类框架中,由于web信息的海量性和人工处理能力、经济代价的限制,这类搜索引擎信息的即时性和全面性难以保证它的优秀代表是yahoo等。(2) 机器人搜索引擎,由一个称为蜘蛛(spider)的机器人程序以某种策略自动地在互联网中搜集和发现信息,由索引器为搜

20、集到的信息建立索引,由检索器根据用户的查询输入检索索引库,并将查询结果返回给用户,这类搜索引擎实现较为复杂,但能很好的实现信息的全面获取和即时更新,它的优秀代表是google等,后文如非特别说明,都指这类搜索引擎。(3) 元搜索引擎,这类搜索引擎没有自己的数据,而是将用户的查询请求同时向多个搜索引擎递交,将返回的结果进行重复排除、重新排序等处理后,作为自己的结果返回给用户,这类搜索引擎兼集多个搜索引擎的信息,并且加入新的排序和信息过滤,可以很好的提高用户满意度,它的优秀代表是vivisino等。web搜索引擎的原理通常为:首先是用蜘蛛(spider)进行全网搜索,自动抓取网页;然后将抓取的网页

21、进行索引,同时也会记录与检索有关的属性,中文搜索引擎中还需要首先对中文进行分词;最后,接受用户查询请求,检索索引文件并按照各种参数进行复杂的计算,产生结果并返回给用户。基于上面的原理,下面将简要介绍web搜索引擎的实现。(1) 利用网络蜘蛛获取网络资源。这是一种半自动化的资源(由于此时尚未对资源进行分析和理解,不能成为信息而仅是资源)获取方式。所谓半自动化,是指搜索器需要人工指定起始网络资源url(uniform resource locator),然后获取该所url指向的网络资源,并分析该资源所指向的其他资源并获取。网络蜘蛛访问资源的过程,是对互联网上信息遍历的过程。在实际的蜘蛛程序中,为了

22、保证信息收集的全面性,及时性,还有多个蜘蛛程序的分工和合作问题,往往有复杂的控制机制。如google的在利用蜘蛛程序获取网络资源时,是由一个认为管理程序负责任务的分配和结果的处理,多个分布式的蜘蛛程序从管理程序活动任务,然后将获取的资源作为结果返回,并从新获得任务。(2) 利用索引器从搜索器获取的资源中抽取信息,并建立利于检索的索引表。当用网络蜘蛛获取资源后后,需要对这些进行加工过滤,去掉网控制代码及无用信息,提取出有用的信息,并把信息用一定的模型表示,使查询结果更为准确。其中信息的表示模型一般有布尔模型,向量模型,概率模型和神经网络模型等。web上的信息一般表现为网页,对每个网页,须生成一个

23、摘要,此摘要将显示在查询结果的页面中,告诉查询用户各网页的内容概要。模型化的信息将存放在临时数据库中,由于web数据的数据量极为庞大,为了提高检索效率,须按照一定规则建立索引。不同搜索引擎在建立索引时会考虑不同的选项,如是否建立全文索引,是否过滤无用词汇,是否使用meta信息等。索引的建立包括:分析过程,处理文档中可能的错误;文档索引,完成分析的文档被编码进存储桶,有些搜索引擎还会使用并行索引;排序,将存储桶按照一定的规则排序,生产全文存储桶。最终形成的索引一般按照倒排文件的格式存放。(3) 检索及用户交互。前面两部分属于搜索引擎的后台支持。本部分在前面信息索引库的基础上,接受用户查询请求,并

24、到索引库检索相关内容,返回给用户。这部分的主要内容包括:用户查询(query)理解,即最大可能贴近的理解用户通过查询串想要表达的查询目的,并将用户查询转换化为后台检索使用的信息模型;根据用户查询的检索模型,在索引库中检索出结果集;结果排序:通过特定的排序算法,对检索结果集进行排序。现在用的的排序因素一般有查询相关度,google发明的pagerank计术,baidu的竞价技术等。由于web数据的海量性和用户初始查询的模糊性,检索结果集一般很大,而用户一边不会有足够的耐性逐个查看所有的结果,所以怎样设计结果集的排序算法,把用户感兴趣的结果排在前面就十分重要。搜索引擎的评价指标有响应时间、查全率、

25、查准率和用户满意度等。其中响应时间是从用户提交查询请求到搜索引擎给出查询结果的时间间隔,响应时间必须在用户可以接受的范围之内。查全率是指查询结果集信息的完备性。查准率是指查询结果集中符合用户要求的数目与结果总数之比。用户满意度是一个难以量化的概念,除了搜索引擎本身的服务质量外,它还和用户群体,网络环境有关系。在搜索引擎可以控制的范围内,其核心是搜索结果的排序,即前文提到的如何把最合适的结果排到前面。而当前搜索引擎服务提高的挑战主要来之两方面,一个是用户初始查询请求描述的不准却性,用户往往难以清楚的表达其信息需求。所以,当前以及今后一段时间内,对如何根据用户模糊的查询请求,较为准确、全面的理解用

26、户的实际信息需求的研究,将是搜索引擎技术研究的一个重要方面。目前这方面的研究主要集中于查询结果文档的信息挖掘,这方面的努力已经取得很多的成果。另一方面,挖掘用户的个性化信息,将是一个能产生突破性成果的方法:根据用户的背景信息,如知识水平,专业方向,职业和兴趣等,将极大的促进用户初始查询理解的准确性和全面性。另外,对用户网络使用的日志分析,也能提供准确的用户网络行为,从而为用户信息需求分析提供重要依据。综上所述,对个性化搜索引擎的实现的研究,将成为近段时间研究的重点和突破点。1.2 传统www信息检索服务的特点基于www的信息检索服务是interent最主要的功能之一,用户只要拥有一台接入int

27、erent的计算机就可以在网上遨游,检索几乎任何方面的知识。但是由于技术或者理念的原因,这种信息检索服务也存在诸多缺点:4(1) 传统www信息检索是“提问搜索”方式,通过一种简单的操作界面接受用户的提问,再把搜索到的结果返回给用户。缺点:对于所有用户给出同样的关键字得到的检索结果都是一样的,不能根据不同的用户的兴趣爱好给出相应的建议。(2) 用户的兴趣的状态信息没有保留下来,用户每次查询是相互独立的。(3) 网上www服务器一般使用公共网关接口(common gateway interface,cgi)来查询数据库,cgi结构简单形式单一,不能和用户进行很好的交互,很难根据用户的反应调整检索

28、策略。(4) cgi程序与后数据库耦合度圈套,不易移植,导致多个数据库之间无法互操作。提高查全率和查准率一直是网上检索系统追求的目标,但是传统的检索模型却同时被不准确、完全的查询结果和不一致的文档相关性所困扰。出现这种矛盾的主要原因是现存的信息服务模式及相应的服务支持技术不能满足海量信息环境和多样化客户需求的要求。现有的信息服务模式的主要特征是信息服务方是被动式服务,即信息的所有者(如情报所) 拥有大量的信息,被动地等待信息使用者的访问,并且对信息使用者历史资料也不保留或未加以分析利用。信息使用者(如高新技术企业、高等院校、研究机构等) 也是被动地使用信息,通常是在项目立项、鉴定、技术攻关等特

29、定时期,有信息检索需求时,才自己去检索资料。为解决上述问题,必须改进服务模式,改变过去的被动服务方式,采用主动信息服务。1.3 主动信息服务的必要性在当今信息社会,主动信息服务系统有很重大的意义。首先是重大的社会意义。对于企业而言,他们必然要关心竞争对手、合作伙伴、市场变换等企业外部环境,因此,及时高效地获得企业所需信息是企业提高效益的前提之一;对于高等院校或研究机构而言,及时把握科技发展新动态,获取最新的、来自世界范围的和自己所感兴趣的情报信息,经常进行课题查新,可促进其研究走在科学研究的前列。主动服务信息系统必将推动情报机构信息服务的水平,会为企业、高校、研究机构及科技工作者个人及时地提供

30、最新理论、技术、产品、发展新动向,会逐渐增强他们的科技竞争力,从而推动科技、产业的发展,最终对经济、文化发展产生重要影响。其次是将产生直接经济效益。直接经济效益体现在两个方面:对信息服务机构而言,现在信息大多是有偿使用,组织或机构用重金购来的信息资源,只有在为社会提供更多的有效服务时,才能节约资金、减少浪费,因此为了信息服务机构的自身发展,必须改变被动服务模式,选择主动服务模式;对信息使用者而言,及时的信息服务会为信息的使用者带来相当多的直接经济效益。5发现有用户需求的信息时,应当能自动将信息通过interent等方式,运用信息推送(push)方法,及时将信息发送给用户。于是基于push技术的

31、主动信息服务模式被提出来并用于实践。主动推送服务是通过http、ftp传输协议,在获取了挖掘或是定制的用户需求后,定期主动传送用户需信息的计算机通讯技术。可以由agent完成信息的推送,也可以也通过email和人工参与的主动信息推送等。1.4 主动推送信息服务系统原理主动推送技术(push)是1996年底在美国兴起的一项新的网上信息获取技术。这种方式通常需要一个中间的服务模块用来搜集、分类、整理将要推送出去的信息内容,并将信息推送出去。用户可以先行向系统注册兴趣信息,以后用户登录时,系统自动利用搜索引擎检索与用户相关的兴趣信息并存入索引数据库。使用这种push技术可大大提高用户获取信息的能力,

32、如用户可根据自己的兴趣信息进行修改与删除,希望每天能收到他感兴趣的信息,而不像报纸样包含很多个人不感兴趣的信息,从而满足了网上信息服务的个性化和主动性要求。这种主动推送信息服务系统原理可以用图1来表示。6用户索引数据库浏览器检索接口资源接收用户注册/登录搜索引擎因特网用户特征数据库用户特征识别 服务器端浏览器端图1 主动推送系统结构意图该系统采用browser/server(浏览器/服务器)结构。浏览器端用户工作分为:用户向系统提交自己需要的信息特征。服务器端的工作包括两部分:一部分是搜索引擎自动根据用户信息特征从因特网上搜索信息并将信息写入索引数据库;另一部分是从用户注册系统中取得用户的个性

33、特征建立用户特征数据库。与传统的信息检索机制不同,我们设计了一个用户特征识别模块,将用户的特征值与检索的结果结合起来进行相关性判断,提供更高精度的检索结果。由主动推送信息服务系统的结构图可以看出,要实现主动推送功能最重要的模块之一是将索引数据库与用户特征库进行相关性判断。在本文中,我们采用了向量空间模型来实现这一功能。我们将在以后的章节中介绍向量空间模型的原理与实现技术。1.4 web信息自动推荐系统的设计目标web信息自动推荐系统是基于主动推送机制而实现的,具体实现:用户可以注册兴趣信息然后提交,则以后系统打开时自动利用搜索引擎搜索相关信息,最后利用向量空间模型检索出用户比较感兴趣的信息。在

34、windowsxp环境下利用eclipse3.1 + myeclipse4.1+ tomcat5.0 + j2sdk5.0 搭建j2ee开发环境,用mysql数据库做后台完成一个基于b/s模式的web信息自动推荐系统。2 开发工具及关键技术介绍2.1 eclipse(myeclipse)2001 年11 月 ibm 宣布捐出了价值 4 千万美金的开发软件给开放源码的 eclipse 项目。如此受青睐的 eclipse 是什么样子呢,如何使用呢?通过介绍将会使你对eclipse有一个初步的认识。并且,eclipse这个号称未来能进行任何语言开发的ide集大成者,又将如何实现它的这一宏伟目标?其次

35、介绍的eclipse3.1的特性。7eclipse 是替代ibm visual age for java(以下简称ivj)的下一代ide开发环境,但它未来的目标不仅仅是成为专门开发java程序的ide环境,根据eclipse的体系结构,通过开发插件,它能扩展到任何语言的开发,甚至能成为图片绘制的工具。目前,eclipse已经开始提供c语言开发的功能插件。更难能可贵的是,eclipse是一个开放源代码的项目,任何人都可以下载eclipse的源代码,并且在此基础上开发自己的功能插件。也就是说未来只要有人需要,就会有建立在eclipse之上的cobol,perl,python等语言的开发插件出现。同

36、时可以通过开发新的插件扩展现有插件的功能,比如在现有的java开发环境中加入tomcat服务器插件。可以无限扩展,而且有着统一的外观,操作和系统资源管理,这也正是eclipse的潜力所在。eclipse3.1的新特性:(1) 速度更快,效率更高。我们打开eclipse3.1一看,包括启动,开发的速度都 比3.0快很多了,我大约测试一下,同一个环境下,比3.0启动快了几十秒。(2) 组件功能更强大,并带有非常强大图形编辑功能,支持可视化的applet,swing,awt等图形组件的开发。(3) 支持ejb3.0。(4) 支持uml2.0,并带有uml2.0模型编辑器。(5) 带有商业智能的报表项

37、目和报表开发。(6) 支持新版的aop插件用于可视化的开发aop应用程序和调试aop的应用程序。(7) 不像3.0一定需要jdk5.0的jre,它只需要jdk1.4.1以上就可以了。myeclipse为eelipse开发j2ee提供的一个整合开发环境,可以开发web,ejb,java运用程序等。它为eclipse提供了一个大量私有和开源的java工具的集合,这解决了各种开源工具不一致的缺点。2.2 java(jsp、j2ee)2.2.1 javajava是一种简单的、面象对象的、分布式的、解释的、键壮的、安全的,结构的、中立的,可移植的、性能很优异的、多线程的、动态的语言。目前,java 2平

38、台有3个版本,它们是适用于小型设备和智能卡的java 2平台micro版(java 2 platform micro edition,j2me)、适用于桌面系统的java 2平台标准版(java 2 platform standard edition,j2se)、适用于创建服务器应用程序和服务的java 2平台企业版(java 2 platform enterprise edition,j2ee)。最初java当时仅仅被用来为网站制作一些动态应用,诸如动画图片之类,但这仍然引起了很多web开发者们的注意,他们非常渴望有一种安全的语言,可以在静态的html网页上制作动画图片。sun最终把java

39、集成到netscape浏览器。同时因为它具有“只写一次,随处运行”的特性,而引起了很多开发者的注意,他们可以再也不用为了使程序能够在不同型号的硬件上运行而耗费大量的时间来编译代码了。8j2se 5.0(代号project tiger)于2004年9月底发布。它是java平台标准版多年来的重大更新之一。java社区为其新增功能欢呼不已,然而这些新增功能还无法全面地描述此版本的特色。与以往任何版本相比,这一平台更能满足高水平的测试要求,更适合于任务关键型产品的开发。 java特点有如下:(1) 平台无关性平台无关性是指java能运行于不同的平台。java引进虚拟机原理,并运行于虚拟机,实现不同平台

40、的java接口之间。使用java编写的程序能在世界范围内共享。java的数据类型与机器无关,java虚拟机(java virtual machine)是建立在 硬件和操作系统之上,实现java二进制代码的解释执行功能,提供于不同平台的接口的。 (2) 安全性 java的编程类似c+,学习过c+的读者将很快掌握java的精髓。java舍弃了c+的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指 针侵入系统。java对程序提供了安全管理器,防止程序的非法访问。 (3) 面向对象java 吸取了c+面向对象的概念,将数据封装于类中,利用类的优点,实现了程序的简洁性和

41、便于维护性。类的封装性、 继承性等有关对象的特性,使程序代码只需一次编译,然后通过上述特性反复利用。程序员只需把主要精力用在类和接口的设计和应用上。java提供了众多的一般对象的类,通过继承即可使用父类的方法。在java 中,类的继承关系是单一的而非多重的,一个子类只有一个父类,子类的父类又有一个父类。java 提供的object 类及其子类的继承关系如同一棵倒立的树形,根类为 object 类,object 类功能强大,经常会使用到它及其它派生的子类。(4) 分布式java建立在扩展tcp/ip网络平台上。库函数提供了用http和ftp协议传送和接受信息的方法。这使得程序员使用网络上的文件和

42、使用本机文件一样容易。(5) 键壮性java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。java可以自己操纵内存减少了内存出错的可能性。java还实现了真数组,避免了覆盖数据的可能。这些功能特征大大提高了开发java应用程序的周期。2.2.2 jsp 在介绍jsp之前,我们先看看servlet。servlet是也是sun公司推出的,它提供的功能包含了cgi(common gateway interface)之类的功能,它相对于在clent端执行的applet。发展至今,servlet api的最新版本为2.4。jsp(javaserverpages)是由sun

43、microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。该技术为创建显示动态生成内容的web页面提供了一个简捷而快速的方法。jsp技术的设计目的是使得构造基于web的应用程序更加容易和快捷,而这些应用程序能够与各种web服务器、应用服务器、浏览器和开发工具共同工作。jsp规范是web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。在传统的网页html文件(*.htm,*.html)中加入java程序片段(scriptlet)和jsp标记(tag),就构成了jsp网页(*.jsp)。web服务器在遇到访问jsp网页的请求时,首先执行其中的程序片段,然后将执

44、行结果以html格式返回给客户。程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无plugin,无activex,无javaapplet,甚至无frame。jsp技术是能够让网页人员轻易建立起功能强大、有弹性的动态内容。类似其他的技术标准,如asp、php或是coldfusion,等等。9jsp技术有下列优点:(1) 将内容的生成和显示进行分离使用jsp技术,web页面开发人员可以使用html或者xml标识来设计和格式化最终页面。使用jsp标识或者小脚本

45、来生成页面上的动态内容。生成内容的逻辑被封装在标识和javabeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和beans中,那么其他人,如web管理人员和页面设计者,能够编辑和使用jsp页面,而不影响内容的生成。在服务器端,jsp引擎解释jsp标识和小脚本,生成所请求的内容,并且将结果以html(或者xml)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于html的web浏览器的完全可用性。(2) 强调可重用的组件绝大多数jsp页面依赖于可重用的,跨平台的组件(javabeans或者enterprisejavabeanstm组件)来执

46、行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。(3) 采用标识简化页面开发web页面开发人员不会都是熟悉脚本语言的编程人员。java serverpage技术封装了许多功能,这些功能是在易用的、与jsp相关的xml标识中进行动态内容生成所需要的。标准的jsp标识能够访问和实例化javabeans组件,设置或者检索组件属性,下载applet,以及执行用其他方法更难于编码和耗时的功能。jsp技术很容易整合到多种应用体系结构

47、中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用java技术家族的一部分,以及java2(企业版体系结构)的一个组成部分,jsp技术能够支持高度复杂的基于web的应用。由于jsp页面的内置脚本语言是基于java编程语言的,而且所有的jsp页面都被编译成为javaservlet,jsp页面就具有java技术的所有好处,包括健壮的存储管理和安全性。作为java平台的一部分,jsp拥有java编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将jsp支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与java2平台,j

48、2ee和enterprisejavabean技术整合时,jsp页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于web的应用是必需的。jsp的运作模式将在2.6节介绍。2.2.3 j2eej2ee是一种利用java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。j2ee技术的基础就是核心java平台或java 2平台的标准版,j2ee不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的jdbc api、corba技术以及能够在internet应用中保护数据的安全模式等等,同时还提供了对 ejb(enterprise javabeans)、j

49、ava servlets api、jsp(java server pages)以及xml技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 j2ee体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j2ee降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持enterprise javabeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。j2ee使用多层分布式的应用模型,这个多层通常通过三层或四层来实现:(1) 客户层,运行在

50、客户计算机上的组件。(2) web层,运行在j2ee服务器上的组件。(3) 业务层,同样是运行在j2ee服务器上的组件。(4) 企业信息系统层(eis),是指运行在eis服务器上的软件系统以上层次一般也指三层应用,因分布在三个不同位置:客户计算机、j2ee服务器及后台的数据库或过去遗留下来的系统,j2ee体系结构图如图2所示。图2 j2ee体系结构图2.3 tomcattomcat的目前的版本为5.0.30,它是javasoft 和apache开发团队共同提出合作计划(apache jakarta project)下的产品。tomcat严格意义上并不是一个真正的web服务器(app serve

51、r),它只是一个可以支持运行serlvet/jsp的web容器,不过tomcat也扩展了一些app server的功能,如jndi,数据库连接池,用户事务处理等等。tomcat运行稳定、性能可靠,被非常广泛的应用在中小规模的java web应用中。2.4 mysql mysql目前的版本为5.0,它是完全网络化的跨平台关系型数据库系统,一个真正的多用户、多线程sql数据库服务器,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问mysql数据库的程序,对于中、小型应用系统是非常理想的。除了支持标准

52、的ansi sql语句,更重要的是,它还支持多种平台,而在unix系统上该软件支持多线程运行方式,从而能获得相当好的性能。对于不使用unix的用户,它可以在windows nt系统上以系统服务方式运行,或者在windows 98/2000/xp系统上以普通进程方式运行。而在unix/linux系统上,mysql支持多线程运行方式,从而能获得相当好的性能,而且它是属于开放源代码软件。 2.5 jdbc 2.5.1 jdbc概述jdbc(java database connectivity)是sun基于x/open sql cli的数据库技术,它是一种能够通过java语言访问结构化数据库的应用程序

53、接口(jdbc api),对于一些使用结构化查询语言的关系型数据库尤为有效。jdbc不但提供了标准的api连接数据源,而且还为数据库互生产厂家提供了标准的驱动程序,使得用户可方便地使自己的java应用程序与数据库互相通信。jdbc最大的特点是:对下,jdbc封装了各种底层数据源之间的差异;对上,jdbc提供标准的sql界面。这使得上层应用对底层数据源的访问完全透明,大大地简化了访问底层数据源的复杂性,真正做到了无障碍沟通。2.5.2 jdbc数据访问模型sun公司定义了4种数据库驱动程序类型,它们分别是:(1) 本地api部分java驱动程序(2) jdbc-net纯java驱动程序(3) 本

54、地协议java驱动程序(4) jdbc-odbc桥驱动程序在本论只介绍使用广泛的模型即本地api部分java驱动程序,这种驱动程序将jdbc的命令转换成数据管理系统指定的本地调用,然后由本地调用直接操作数据库(如图3所示)。这种两层模型比jdbc-odbc桥驱动程序要快,但是每个客户端需要装载必要的文件。现在大多数的数据库厂商都在其数据库中提供该驱动程序。本系统使用的是mysql数据库。 mysql提供的驱动程序称为connect/j,且是支持jdbc3.0的版本为:3.1.7。102.6 基于b/s模型的web应用程序(1) 定义:动态的网页有着网页的外观,而实质上是建立在b/s模型上的服务

55、器web应用程序。也就是说,一幅浏览器端的显示的网页,是一段服务器程序运行的结果。所以应该从编程的角度理解、构思网页的结构和功能。java运行环境厂商专用api数据库data basejava应用程序jdbc驱动程序图3 本地api部分java驱动程序(2) 工作原理:www(world wide web)技术作为internet 上信息资源共享的解决方案,它是构建在浏览器/服务器(b/s)模型以及http的基础上的,其运作模式可以描述为:请求处理应答。b/s模型的构成及关系示意图,如图4所示。从浏览器提交的请求通过web服务器给应用程序服务器,由它调用相关的网页应用程序进行处理,处理结果网页

56、交给web服务器,web服务器把这个网页作为请求的应答发送给浏览器。至于对提交的信息如何处理,就交由网站的开发人员编写相关的网页应用程序来决定反馈到浏览器的内容;如果需要对数据库进行访问,开发人员还可以利用应用程序服务器所提供的接口对其进行操作。如前所示,网页内容的动态发布是web应用程序的主要实现方法,通常这种方法同服务器端提供的www服务技术密不可分。一般来说,在internet服务器上可以通过多种途径实现动态发布,最常见的技术包括jsp、cgi、isapi和asp等。jsp的运行模式,如何在b/s模型上动作的?图5所示即为jsp运作原理模型。当web服务器招收到一个后缀是.jsp页的请求

57、时,触发jsp引擎。jsp引擎首先检查jsp文件是否修改过,如果是则将其转换成java servlet源程序,然后编译成扩展名为.class的servlet字节代码,再由servlet引擎运行该文件,最后将运行结果返回web服务器,web服务器将其返回浏览如果没修改,则直接运行。web服务器web应用程序1web应用程序2数据库url地址及参数表单提交的请求请求交由应用程序服务器分析处理处理的结果-web页返回web服务器应用程序服务器如需访问数据库则由dbms处理将web页反馈至浏览器返回访问结果服务器端图4 b/s模型示意图浏览器1浏览器2浏览器端web服务器web应用程序1web应用程序2数据库url地址及参数表单提交的请求请求交由应用程序服务器分析处理处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论