在线网摘系统的设计与实现【毕业论文+文献综述+任务书+开题报告】.doc

上传人:文初 文档编号:45321 上传时间:2018-05-14 格式:DOC 页数:64 大小:780.27KB
下载 相关 举报
在线网摘系统的设计与实现【毕业论文+文献综述+任务书+开题报告】.doc_第1页
第1页 / 共64页
在线网摘系统的设计与实现【毕业论文+文献综述+任务书+开题报告】.doc_第2页
第2页 / 共64页
在线网摘系统的设计与实现【毕业论文+文献综述+任务书+开题报告】.doc_第3页
第3页 / 共64页
在线网摘系统的设计与实现【毕业论文+文献综述+任务书+开题报告】.doc_第4页
第4页 / 共64页
在线网摘系统的设计与实现【毕业论文+文献综述+任务书+开题报告】.doc_第5页
第5页 / 共64页
点击查看更多>>
资源描述

1、本科毕业设计论文届论文题目在线网摘系统的设计与实现所在学院专业班级信息管理与信息系统学生姓名学号指导教师职称完成日期年月日诚信声明我声明,所呈交的论文设计是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文设计中不包含其他人已经发表或撰写过的研究成果,也不包含为获得或其他教育机构的学位或证书而使用过的材料。我承诺,论文设计中的所有内容均真实、可信。论文设计作者签名签名日期年月日授权声明学校有权保留送交论文(设计)的原件,允许论文(设计)被查阅和借阅,学校可以公布论文(设计)的全部或部分内容,可以影印、缩印或其他复制手段保存论文(设计),学校必须严

2、格按照授权对论文设计进行处理,不得超越授权对论文(设计)进行任意处置。论文设计作者签名签名日期年月日在线网摘系统的设计与实现摘要长期以来,网上冲浪者在上网的时候都习惯了把感兴趣的网址用收藏夹收录起来。但是本地收藏夹没有标签,这样导致索引机制效果不佳。因此,随着用户在本地收藏夹中收录的网址越来越多,想要从中锁定特定收录网址成为了一件越来越困难的事。当人们想要分享信息和资源时,本地收藏夹的非共享存储机制的弊端就曝露无遗。于是,“网摘”这个概念就应运而生了。目前,在线网摘系统正处于一种成长阶段,因此开发设计一个在线网摘系统是非常有必要的。在线网摘系统的开发语言采用JSP,数据库采用MYSQL,开发工

3、具使用MYECLIPSE601。分析在线网摘系统的系统需求,完成概要设计、功能设计、数据库设计(ER图、数据流程图)、程序流程图等,利用面向对象以及代码分离思想开发系统。页面主要功能模块有系统主页面模块、网摘管理模块、网摘分类模块等等。经过测试,该网站能正常运行。关键词在线网摘;数据库;模块;网站DESIGNANDIMPLEMENTATIONOFONLINESOCIALBOOKMARKSYSTEMABSTRACTOVERTHEYEARS,WHENSURFINGTHEINTERNETTHEINTERNETUSERSAREACCUSTOMEDTOUSINGTHEFAVORITETORECORDUR

4、LSOFINTERESTHOWEVER,THEINDEXINGMECHANISMISINEFFECTIVEBECAUSEOFTHELOCALFAVORITESLACKINGOFLABELSO,WITHTHEGROWINGNUMBEROFUSERSRECORDWEBSITE,LOCKINGTHEPARTICULARSITEFROMTHEURLSWHICHINTHEFAVORITEISBECOMINGDIFFICULTWHENPEOPLENEEDTOSHAREINFORMATIONANDRESOURCES,FAVORITESOFTHEDRAWBACKSOFNONSHAREDSTORAGESYSTE

5、MISEXPOSEDCOMPLETELYTHEN,THE“TAGS“CONCEPTCAMEINTOBEINGCURRENTLY,THEONLINESOCIALBOOKMARKSYSTEMISINAGROWTHSTAGE,ANDDESIGNANDDEVELOPMENTOFONLINESOCIALBOOKMARKISVERYNECESSARYTHEDEVELOPMENTOFTHEONLINESOCIALBOOKMARKSYSTEMUSESTHELANGUAGEOFJSP,THEDATABASEUSESMYSQL,ANDDEVELOPMENTTOOLUSESMYECLIPSE601ITISNECES

6、SARYTOANALYZETHESYSTEMREQUIREMENTSOFTHEONLINESOCIALBOOKMARKSYSTEM,TOCOMPLETETHEOUTLINEDESIGN,FUNCTIONDESIGN,DATABASEDESIGNFIGUREER,FLOWCHARTSANDPROGRAMFLOWCHARTSTHEFUNCTIONSINCLUDEWEBHOMEPAGEMODULE,TAGSMANAGEMENTMODULE,TAGSCATEGORIESMODULEANDSOONITHASBEENTESTEDTHATTHEWEBSITERUNSNORMALLYKEYWORDSONLIN

7、ESOCIALBOOKMARKDATABASEMODULEWEBSITE目录1绪论111系统的背景简介112国内外研究现状213本课题研究的意义314本系统的目标42系统分析521需求分析5211系统需求分析5212系统总体构成522业务流程分析623数据流分析63系统设计831开发技术方案选择832数据库设计8321数据库技术概述8322数据库需求分析9323数据库概念结构设计10324数据表设计1333系统功能分析164系统实现1841用户注册、登录和注销模块18411数据连接实现18412用户登录模块19413用户注册模块23414用户注销模块2842网摘管理模块28421加入网摘模块2

8、8422添加书签模块355系统测试3851测试目的3852测试方案3853系统评价406总结41致谢42参考文献43本科生毕业论文(设计)11绪论11系统的背景简介长期以来,网上“冲浪者”在上网的时候都习惯使用收藏夹收藏感兴趣的网址。但本地收藏夹缺乏有效的索引机制,随着用户收藏的网址数量的逐渐增多,想要在收藏夹中锁定特定网址成了一件越来越困难的事情。此外,收录附属信息和评价系统的缺乏也使本地收藏夹仅仅停留在“收藏”而已,那些需要对信息进行注解的网址,用户不得不借助记事本等外部工具。有时候在面对重装系统,多操作系统、异地上机等情况时,用户不得不将收藏夹里面的数据一次又一次地手工进行转存。当人们需

9、要分享信息和资源时,本地收藏夹的非共享存储机制的弊端更是曝露无遗。于是,“网摘”这个概念就应运而生了。由于网摘是基于知识管理、分享、发掘的角度进行设计,所以上面提出的各个问题都得到了很好的解决方案1。网摘同样称为网页书签,英文原名是SOCIALBOOKMARK,直接翻译是“社会化书签”。JOSHUA发明网摘站点DELICIOUS是世界上第一个网摘站点。网摘是一种服务,它提供的是一种收藏、分类、排序、分享互联网信息资源的方式2。用户用网摘存储自己感兴趣的网址和相关信息列表,同时用标签(TAG)对网址进行索引,这样就可以使网址资源有序分类,同是使网址及相关信息的社会性分享成为可能。网站的价值在用户

10、分享网址的过程中被给予评估,挖掘有效信息的成本在通过群体的参与后得到有效的控制。具有相同兴趣的用户可以通过知识分类机制使彼此之间更容易分享信息和进行交流。同时,网摘站点也呈现出一种以知识分类的社群的景象。通俗地说,网摘就是一个网络上的海量收藏夹。网摘将网络上零散的信息资源进行有目的的汇聚整理后再向大众展现出来。网摘提供的功能有很多是本地收藏夹所不具备的,它的核心价值已经不仅仅是保存浏览的网页,而是成为一个能够真正做到“共享中收藏,收藏中分享”新的信息共享中心。如果每天有很多的用户使用网摘,用户每天提供大量的收藏链接,网摘网站就成了汇集各种信息链接的门户网站。网摘系统也称为社会化书签系统。社会化

11、书签系统为用户提供了基于标签(TAG)技术的信息组织和管理方式,这是自由分类法的运行环境,也提供分享和交流的平台,并帮助用户存储和管理个人信息资源。在社会化书签系统中,用户根据个人的需求对资源自由选择词汇进行标注,每一次添加一个词汇被称为对资源添加一个“标签(TAG)”。社会化书签系统的三个基本元素是用户、资源和标签,一个社会化书签系统可以用的三元组表示。三个元素及相互间的关系构成了社会化书签系统的内在结构,三者之间的互动使这一结构不断变化3。在社会化书签系统中,用户使用标签对资源进行标注,每个标签相当于用户对资源的一个分类,资源根据不同的标签被组织到不同的分类之下;所有用户的资源存在于一个共

12、享的平台上,相同的标签还能够聚合不同用户相同分类下的资源4。在线网摘系统的雏形始于1998年,当时创始人美国人约舒亚沙科特(JOSHUASCHACHTER)只是用一个文件夹来保存手里大量的链接。随着保存的内容越来越多,为了能更快捷地找到某个链接,他开始在每个链接后面加上一个关键词来做备忘,这就是标签(TAG)。4年后他为这些保存的链接本科生毕业论文(设计)2创建了一个基于WEB的据库以供自己使用,1年后约舒亚想到要将这种工具提供给别人使用就重写了数据库使其支持多用户使用,形成了现在的DELICIOUS。DELICIOUS一经推出就大受欢迎,很快有一些网站效仿。它的模仿者FURLNET却青出于蓝

13、,在创立仅一年后就出售给著名的搜索引擎公司LOOKSMART。2004年10月,中文网站365KEYCOM开始向国内互联网用户提供网摘服务。在365KEY取得广泛关注后,“网摘”这个名词在365KEY站长曾登高、著名BLOGGER洪波等一批专业人士的推广下迅速传播开。半年后,“网摘”这个新创词已经在搜索引擎中从无到有地成了一个热门词,人们可以在GOOGLE上看到20多万个关于“网摘”的中文链接。国内提供与365KEY类似服务的网站已有上百家,甚至作为大型门户网站的新浪网也提供了自己的网摘服务新浪VIVI。12国内外研究现状随着WEB20技术的发展“可写网络”逐步变为现实5。这类应用都是由第三方

14、处理和保存数据,这些技术也在网摘系统中得到运用。伴随着多样的网摘工具的出现,使用网摘的用户也是越来越多了。例如,DELICIOUS网站显示,每天有超过一百万的用户在该网站上注册6。目前网摘网站有很多,如新浪VIVI收藏夹、百度搜藏、和讯部落、DIGGO等等。其中DIIGO(DIGESTOFINTERNETINFORMATION,GROUPSANDOTHERSTUFF)是以WEB20为平台开发出来的一款社会性软件,是社会化书签网站的一个典型代表。美国知名的IT专业媒体CNET2006年评出的互联网十大“最受欢迎研究工具”中,DIIGO排名第四,GOOGLE入选的四个工具都排在其后面7。社会化书签

15、是协作工具之一,人们可以将他们感兴趣的链接共享在网页上8。现在的网摘工具是又多又杂,给人们带来简单、方便的同时,也存在一些不足之处的。目前网摘工具存在的主要问题是1网摘贡献者集中度过高,影响网络书签质量。从BOOKMARKHEXUNCOM网摘者2006531的前20名排行数据可得出少数人贡献度过高,造成少数人影响收藏和推荐的结果。相反以HTTP/PSTATICXUNLEICOM/的前20名排行数据可看出下载推荐的前20名贡献度差别不大。在迅雷下载雷友下载统计中,用户不需额外进行点击动作,贡献度较为平均,而网摘工具需要用户完全义务地多一次点击。导致少数人点击贡献度高度集中。(2)用户的点击和推荐

16、比例太低,导致推荐网页质量下降。以ALEXA2006531全世界排名104位的WWWCMFUCOM前100名浏览作品数据统计可知,在有物质奖励情况下点击和推荐比为138,无物质奖励以BOOKMARKHEXUNCOM的2006531前100名浏览网页数据可以得出,使用网摘软件点击和推荐比例为11,点推比太低。从中可知,用户主动保存和推荐自己网址的比率过低,不利最大多数的用户积累自己感兴趣的地址资源。目前的网摘软件还不能够完全准确保存和推荐“懒惰”本科生毕业论文(设计)3用户关注的网页9。时代在发展,人们组织知识、利用知识、创造知识的方法也在发展和变化。网摘会随着需求的变化和网络的发展也会在功能上

17、不断改进与发展,应用的领域也会是越来越广泛,不过主要的应用领域还是知识管理方面。然而,序化、共享、交流、创新的主题不会改变,而这也是网摘系统的各个应用领域得以成功的先决条件。我们相信,未来的网摘系统的各个领域如个人知识管理将更加方便、有效,更加贴近我们普通人的生活。13本课题研究的意义社会化书签是一种网络上的海量收藏夹。网上“冲浪者”可将社会化书签用于对互联网中的信息和知识进行管理、分享和发掘,其主要特点是(1)提高了知识的重用度。网络上信息和知识很多,用户在网上浏览网页时,当阅读到的有收藏价值的信息和知识时,将其保存在社会化书签中,并对其作一些的描述和注解,这样长久之后就慢慢积累形成了一个丰

18、富的个人知识库。社会化书签相当于人的大脑的扩充,帮助我们记住许多之前阅读过的信息和知识,这样就能使这些信息和知识能够方便地重用。(2)提供了一种基于知识分类的社交场所。用户通过知识分类,可以更快结交到具有相同兴趣和特定技能的人,形成交流群体;通过交流和分享互相增强知识,满足沟通、表达等社会性需要。(3)促进用户间彼此分享收藏的信息和知识。每一个人的视野和视角是有限的,加上空间和时间上的分割,所以一个人所能接触到的东西是非常有限的、片面的、成本代价比较高的。在社会化书签网站上,用户可以让自己的好友推荐好文章到自己的知识库中,这样可以把获得高质量信息和知识的成本大大降低了10。当前,国内外已经涌现

19、出许许多多的网摘站点,在这些网站上面,用户可以分享和收藏自己感兴趣的网址。尽管网摘是一种社会行为,但也为用户进行真正意义上的个人知识管理提供了一种可能。通过网摘,用户可以在网络上保存一些在阅读互联网信息过程中感兴趣的有收藏机制的信息,并对其做出必要的描述和注解,这样慢慢积累就形成个人知识体系。同时,用户可以使用网摘进行彼此之间分享收藏信息。这样降低了所有参与用户获取信息的成本,并且可以使用户更轻松地得到更多、多角度的信息。用户可以通过知识分类,更快地结交到具有相同兴趣和特定技能的人,彼此形成交流群体,通过交流和分享可以彼此互相增强知识,满足沟通、表达等社会性需要。此外,网摘更新及时,因此用户可

20、以及时、有效地得到所需要的信息;网摘是在网络上的,不论用户身处何时何地,只要能上网均可获取本科生毕业论文(设计)4从以上角度可以看出,网摘是注重分类、系统、更新、交流、创新,很好体现了个人知识管理的核心精神和内在要求11。14本系统的目标本次毕业设计就是开发在线网摘系统,通过网站来保存自己感兴趣的网站链接,便于以后能更好的检索,以达到节约时间为目的。本系统的目标是1尽量能利用所学知识提出一些实际的信息管理问题,并设计计算机化的解决方案,从而达到促进网络资源的合理组织和有效利用的目标。2系统应符合广大用户的要求,能够轻松地实现把网摘资源添加到自己的收藏夹中并与好友分享的功能,特别是那些不太懂得系

21、统操作的会员用户也能比较容易地学会操作。3系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维修人员补充和维护。本科生毕业论文(设计)52系统分析21需求分析在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。211系统需求分析在线网摘系统的设计主要包括加入网摘模块、用户注册登录模块、书签和标签添加模块。加入网摘需要在网摘网站注册一个账号,然后就

22、可以在线添加喜欢的内容了。为了方便起见,可以在浏览器快捷链接栏或者在属性栏上放置一个网摘的按钮,这样就可以随时点击按钮把正在查看的网页保存到网摘。(1)加入网摘模块该功能模块用于当用户看到感兴趣的网站时,可以对其添加到自己的网摘管理系统中。(2)用户注册登录模块该功能模块是一个系统所必须的,是陌生用户首次进入该系统,并且想是用该系统的功能时所要操作的。(3)书签和标签添加管理该功能模块是让用户根据自己的喜好进行添加一些链接,也可以加入标签,这样以后便于查找。212系统总体构成本系统的使用者分为两类新用户和老用户。这两者要使用的功能是一样的。差别就是新用户首次进入本系统的时候,能看到本系统的信息

23、,但是没有权限运用其他功能。只能看到系统中信息的一个标题。新用户一旦注册账号了,并且登录后就享有和老用户一样的权限,可以拥有添加网摘等操作的权利。用户可以通过浏览其他网站上的信息,当看到自己感兴趣的信息时,可以复制网址加入网摘这一操作来保存它。这样就能方便于以后想要这一信息的时候,我们能简单、方便地找到这一信息。书签和标签也同样可以添加,书签也是可以链接的,这样我看到书签后,只要点击网址,就可以在一个新的浏览器窗口中看到我想要看到页面。这样为我们带来一些方便,就像浏览器的收藏夹一样。本系统的系统总体构成如图21所示本科生毕业论文(设计)6图21系统总体构成22业务流程分析业务流程图(TRANS

24、ACTIONFLOWDIAGRAM,简称TFD),就是用圆圈、矩形和箭头等各种图形进行连接来说明一个系统的业务过程。本系统主要的业务流程图如下图所示。图22用户业务流程图23数据流分析数据流程分析把数据在组织内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作等,单从数据流动过程来考察实际业务的数据处理模式。现有的数据流程分析多是通过分层的数据流程图(DATAFLOWDIAGRAM,简称DFD)来实现的。本系统的几个数据流图如下所示。图23在线网摘系统TOP数据流图系统主页面用户登录功能选择书签添加标签添加网摘添加新用户注册用户浏览新闻其他网页网摘管理书签管理标签管理网摘信息书

25、签信息标签信息注册用户用户信息P0网摘系统用户用户操作信息用户用户操作结果本科生毕业论文(设计)7图24在线网摘系统细化流程图P1网摘操作系统F1用户选择F2用户操作信息F3用户操作结果网摘信息D2书签信息表书签信息D1网摘信息表D2标签信息表标签信息本科生毕业论文(设计)83系统设计本系统的设计阶段主要解决系统如何实现问题,也叫做概要设计。就是根据之前的系统分析,将系统划分为几个模块,实现怎么把现实中的业务用其他模型来体现出来。主要是将现实的业务模型转化成数据模型。将系统分为几个模块分别实现后在组合在一起就能成为一个系统了。系统设计主要是确定将系统分成哪些模块并如何实现。31开发技术方案选择

26、本系统选择的开发技术语言为JSP,开发平台为MYECLIPSE601,链接数据库的是JDBC,选择的数据库为MYSQL。下面分别对JSP编程环境以及数据库MYSQL做一个简单的介绍。JSP是由SUN公司为创建动态WEB内容而定义的一种技术,它是与JAVA相关的一种HTML文档,JAVA提供动态内容。JSP是服务端应用,它们接受请求并生成响应,此请求通过通常产出于一个WEB客户端,而响应则生成一种HTML文档,需要返回给WEB客户端。由于JSP是服务器端应用,它们拥有对服务器端资源的访问,诸如SERVLET、JAVABEAN、EJB和数据库。JSP数据库编程是JSP技术的核心,当前所有的电子商务

27、网站都是对数据库进行操作的。要进行基于数据库系统的JSP开发,首先必须学习数据库知识和JSP与数据库之间的交互操作。JSP动态编程中,离不开数据库的支持。JDBC使得在JSP程序中可以方便地操作数据库不管是企业级的ORACLE、SYBASE、DB2还是最简单的ACCESS、MYSQL。JDBC(JAVADATABASECONNECTIVITY,JAVA数据库连接)是一种用于执行SQL语句的JAVAAPI,可以为多种关系数据库提供统一访问,它由一组用JAVA编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯J

28、AVAAPI编写数据库应用程序。本系统的开发选择的数据库为MYSQL,MYSQL是一个小型关系型数据库管理系统,开发者为瑞典MYSQLAB公司。目前MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。32数据库设计321数据库技术概述数据库,是按照数据结构来组织、存储和管理数据的仓库,是用于查询的大量数据的存储区域。使用数据库可以带来许多好处如减少了数据的冗余度,从而大大地节省了数据的存储空间,实现数据资源的充分共享等等。总的来说,数据库的设计对系统的经济

29、性、功能性和效率有很大的影响,一个好的数据库,要本科生毕业论文(设计)9求在设计时尽量避免数据的多余,另外,还要尽可能提高数据的存取速度。数据库设计时速度与空间在范式上是相互矛盾的。一方面按规范化理论的要求,关系模式应尽量取高级范式,尤其对记录数较多的关系,低级范式将会造成存储的大量重复,使空间遭受严重浪费;另一方面从存取速度上考虑,应该尽量做到一个模式涉及的属性越多越好,相互运算越少越好,这样,又应取低级范式。因此我们在涉及数据库时要严格地探讨它的使用环境,充分了解用户的需求,清楚地掌握数据库系统的特点。经过综合的评价和分析后设计出的数据库应满足以下要求(1)数据库信息要能充分体现出用户使用

30、系统的需求。(2)能够只吃用户对数据进行的所有处理。(3)能够容易被数据库管理系统运行维护。(4)数据一致性、完整性好,无更新异常。322数据库需求分析用户的需求具体表现在对各种信息的提供、保存、更新和查询,这就要求数据库能满足各种信息的输出和输入。通过对上述系统功能的分析,针对网摘系统的需求,总结出如下需求信息(1)用户分普通用户和管理员用户。(2)管理员是对新闻信息管理、网站链接管理、网摘管理。(3)普通用户可以浏览其他新闻、网站链接等信息,可以加入网摘、修改网摘、删除网摘。(4)用户浏览网摘是过程也是被记录下来,可以统计出热门的网摘。(5)一个用户对于多个的网摘。经过对上述系统功能的分析

31、和需求总结,设计如下数据项(1)管理员信息管理员用户名、密码、邮箱。(2)书签信息书签编号、用户编号、链接网址、书签、备注。(3)IP信息编号、IP地址、用户ID。(4)网站链接信息链接编号、网站名称、网址。(5)用户信息用户编号、用户ID、用户名、密码、邮箱、注册时间、用户登录时间、网摘数量、国家。(6)新闻信息新闻编号、标题、内容、关键词、更新时间。(7)标签信息标签编号、用户ID、标签内容、点击数量、分类编号、是否私有标签。(8)类别信息类别编号、类别名称。(9)浏览信息浏览编号、网摘编号、用户ID、浏览者IP、浏览链接、浏览次数。(10)网摘信息网摘编号、用户ID、标题、来源网址、简介

32、、标签、评分、分类编号、添本科生毕业论文(设计)10加时间。323数据库概念结构设计(1)各实体ER图根据对数据项与数据结构的分析,设计出能够满足系统需求的各种实体,及它们之间的关系,为后面的逻辑结构设计打下基础。根据设计规划得出的实体有管理员信息实体、普通用户实体、IP信息实体、网站链接信息实体、书签信息实体、新闻信息实体、标签信息实体、类别信息实体、浏览信息实体、网摘信息实体。图31管理员实体ER图图32普通用户实体ER图图33书签实体ER图管理员用户名密码邮箱普通用户用户编号用户ID用户姓名名密码邮箱注册时间登录时间网摘数量地区书签书签编号用户ID链接网址书签内容备注本科生毕业论文(设计

33、)11图34IP实体ER图图35网站链接实体ER图图36新闻实体ER图图37标签实体ER图IPIP编号IP地址用户ID网站链接网站名称网址链接编号新闻新闻编号内容更新时间标题关键词标签标签编号点击数量用户ID标签内容类别编号是否私有标签本科生毕业论文(设计)12图38类别实体ER图图39浏览实体ER图图310网摘实体ER图(2)各实体之间的关系总ER图类别类别编号类别名称浏览编号用户ID网摘编号浏览链接浏览者IP浏览次数网摘网摘编号用户ID标题来源网址简介标签评分添加时间类别编号本科生毕业论文(设计)13图311各实体关系总ER图324数据表设计本系统创建的MYSQL数据库称为WANGZHAI

34、。包含如下几个表。表31管理员(ADMIN)表字段名称类型长度主键说明允许空USERVARCHAR112用户名NOPWDVARCHAR112密码NOEMAILVARCHAR127邮箱YES表32书签(BOOKMARK)表字段名称类型长度主键说明允许空IDINT14YES书签编号NO用户加入网摘浏览浏览记录表添加添加网摘标签书签IP信息表类别属于属于NN11N1NMN1M11新闻网站链接添加、删除、修改管理员1NNMM本科生毕业论文(设计)14USERIDVARCHAR30用户IDYESURLVARCHAR127链接网址YESBOOKMARKVARCHAR127书签内容YESREMARKTEXT

35、备注YES表33IP(IP)表字段名称类型长度主键说明允许空IDINT11非主键IP编号NOIPVARCHAR127IP地址NOUSERVARCHAR82用户IDYES表34网站链接(LINKS)表字段名称类型长度主键说明允许空IDBIGINT40YES链接编号NOLINKNAMEVARCHAR50网站名称NOLINKURLVARCHAR127网址YESINCOUNTINT12入库数量YES表35普通用户(MYUSER)表字段名称类型长度主键说明允许空IDBIGINT40YES用户编号NOUSERIDVARCHAR25非主键用户IDNOUSERNAMEVARCHAR50用户姓名YESPSWVA

36、RCHAR50密码NOEMAILVARCHAR50邮箱YESREGTIMETIMESTAMP注册时间NOLOGONTIMETIMESTAMP登录时间NOZHAINUMINT10网摘数量NOSTATEVARCHAR50地区YES表36新闻(NEWS)表字段名称类型长度主键说明允许空本科生毕业论文(设计)15IDINT10YES新闻编号NOTITLEVARCHAR64标题YESCONTENTMEDIUMTEXT内容YESKEYWORDSVARCHAR32关键词YESADDTIMETIMESTAMP更新时间NO表37标签(TAGS)表字段名称类型长度主键说明允许空IDINT12YES标签编号NOUS

37、ERIDVARCHAR50用户IDYESTAGVARCHAR127标签内容NONUMINT12点击次数NOTYPEIDINT12类别编号YESISPASSVARCHAR6是否私有标签NO表38类别(TYPE)表字段名称类型长度主键说明允许空IDINT10YES类别编号NOTYPENAMEVARCHAR50类别名称NO表39浏览记录(VISIT)表字段名称类型长度主键说明允许空IDBIGINT40YES编号NOZHAIIDINT14网摘编号YESUSERIDVARCHAR50用户IDYESVISITIPVARCHAR25浏览者IPYESVISITURLVARCHAR127浏览链接YESVISIT

38、TIMEINT14浏览次数YES表310网摘(ZHAI)表字段名称类型长度主键说明允许空本科生毕业论文(设计)16IDINT12YES网摘编号NOUSERIDVARCHAR50用户IDYESTITLEVARCHAR50标题NOFROMURLVARCHAR127来源网址YESINTROTEXT简介YESTAGSVARCHAR127浏览次数YESRANKINT12评分NOPOSTTIMETIMESTAMP添加时间NOTYPEIDINT10类别编号NO33系统功能分析经过对系统的需求分析,将整个系统分为两部分,管理员系统和普通用户系统。(1)管理员系统功能分析管理员主要包括新闻信息模块、网站链接模块

39、。管理员系统功能模块如图312所示图312管理员系统模块图管理员系统模块的主要功能分别为新闻信息模块管理员在这个网站上为普通用户提供一些新闻信息。主要是对新闻信息的添加、修改、删除等操作。网站链接模块管理员在这个网站上为普通用户提供一些网站链接。主要是对网站链接的添加、修改、删除等操作。类别模块类别模块是管理员为网摘、标签分类提供一个大类分类方法。管理员可以添加、修改、删除类别信息。(2)普通用户系统功能分析普通用户系统可分为浏览模块、网摘管理模块、书签管理模块和标签管理模块。普通用户系统如图313所示。管理员系统新闻信息模块网站链接模块添加修改删除添加修改删除类别模块添加修改删除本科生毕业论

40、文(设计)17图313普通用户系统模块图普通用户系统模块的主要功能分别为网摘管理模块用户当看到自己感兴趣的信息的时候,可以进行添加网摘这一个操作,事后也可以对其进行修改、删除等操作。书签管理模块用户当看到自己感兴趣的网站链接的时候,可以进行添加书签这一个操作,事后也可以对其进行修改、删除等操作。标签管理模块是用户对网摘进行加入标签,这样就能更好的管理网摘,而且可以根据点击数量来统计热门的网摘内容。浏览模块是用户对新闻信息和网站链接的浏览过程。普通用户系统网摘管理模块书签管理模块添加修改删除添加修改删除标签管理模块添加修改删除浏览模块本科生毕业论文(设计)184系统实现在概要设计阶段,已将系统划

41、分为多个模块,并将它们按照一定的原则组装起来,同时确定了每个功能及模块之间的外部接口。到了详细设计阶段,将确定每个模块具体执行的过程。在处理过程设计时我采用的是结构化程序设计(简称SP)方法。详细设计的结果基本决定了最终程序的质量,为软件的质量、延长软件的生存期、软件的可测试性、可维护性提供重要的保障。41用户注册、登录和注销模块411数据连接实现本系统是使用MYSQL数据库,数据库连接是JDBC。在每个需要连接数据库的页面都会输入以下代码,但是连接数据库的函数是在类FUNCTIONS中。REQUESTSETCHARACTERENCODING“GB2312”STRINGMYSQLDRIVER“

42、COMMYSQLJDBCDRIVER”/数据库驱动STRINGMYSQLURL“JDBCMYSQL/LOCALHOST3306/CH13_WANGZHAI”/数据库连接字串STRINGMYSQLUSER“ROOT”/数据库用户名STRINGMYSQLPSW“1234567”/数据库密码FUNCTIONS类中连接数据库函数代码如下PUBLICCONNECTIONINITSTRINGDRIVER,STRINGMYSQLURL,STRINGUSER,STRINGPASSWORDCONNECTIONCONNNULLTRYCLASSFORNAMEDRIVERSTRINGDBURLMYSQLURL“USE

43、R”USER“SYSTEMOUTPRINTLNDBURLCONNDRIVERMANAGERGETCONNECTIONDBURLRETURNCONNCATCHEXCEPTIONEXCEPTIONEXCEPTIONPRINTSTACKTRACERETURNNULL本科生毕业论文(设计)19PUBLICVOIDCLOSEDBCONNECTIONCONN/关闭数据库IFCONNNULLTRYCONNCLOSECATCHSQLEXCEPTIONE/TODO自动生成CATCH块EPRINTSTACKTRACE412用户登录模块本页是本站的登录页面,为了确保网站与数据库的安全,对进入的人员进行身份验证是十分

44、必要的。界面如图41所示。本页获得用户名和密码信息,并对其进行验证。如果正确,则把这些信息放入COOKIE,在页面的上方会显示该用户名。如果用户名或者密码错误,则会弹出错误警告。图41用户登录页面登入界面页面是LOGINJSP,其主要代码如下REQUESTSETCHARACTERENCODING“GB2312”STRINGUSERID1REQUESTGETPARAMETER“USERID”STRINGPSWREQUESTGETPARAMETER“PSW”STRINGTOURLREQUESTGETPARAMETER“TOURL”本科生毕业论文(设计)20STRINGIFLOGIN”1”IFUSE

45、RID1NULLUSERUDBMGETUSERBYNAMECONN,USERID1IFUNULLHAVEUGETIDIFLOGIN“3”IFHAVE0USERID1UGETUSERIDSTRINGPSW1UGETPSWIFPSWNULL/SETCOOKIECOOKIECOOKIENEWCOOKIE“WANGZHAI”,JAVANETURLENCODERENCODEUSERID1,”UTF8”COOKIESETPATH“/”/VERYIMPORTANTCOOKIESETMAXAGE1RESPONSEADDCOOKIECOOKIEELSEIFLOGIN“2”以上代码是将获取的用户名和密码与数据库的

46、中的进行比较,针对不用的结果对IFLOGIN赋予不用的值,后面的是根据IFLOGIN的不同取值将不同的结果反馈给用户。LOCATIONREPLACEMYZHAIJSP本科生毕业论文(设计)21”ELSEIF“MYSETUP”EQUALSTOURLOUTPRINTLN“LOCATIONREPLACEMYSETUPJSP”ELSEIF“ERR”EQUALSTOURLOUTPRINTLN“LOCATIONREPLACEERRHTML”ELSEOUTPRINTLN“LOCATIONREPLACEINDEXJSPUID”USERID1”ELSE密码错误无此用户以上的代码是实现获取用户名和密码,并对其进行

47、验证,如果错误的话会根据相应的错误给出提示“密码错误”或者“无此用户”。如果正确的话就会将正确的用户名和密码放入COOKIE,本科生毕业论文(设计)22这样就能系统就能记住该用户,而且也能在页面的上方显示出其用户名。显示其用户名就是读取COOKIE中的信息,并显示出来。其关键代码如下FUNCTIONGETCOOKIEVALOFFSETVARENDSTRDOCUMENTCOOKIEINDEXOF“”,OFFSETIFENDSTR1ENDSTRDOCUMENTCOOKIELENGTHRETURNDECODEURIDOCUMENTCOOKIESUBSTRINGOFFSET,ENDSTRFUNCTIO

48、NGETCOOKIENAMEVARARGNAMEVARALENARGLENGTHVARCLENDOCUMENTCOOKIELENGTHVARJ0WHILEJ”DOCUMENTWRITEGETCOOKIE“WANGZHAI”DOCUMENTWRITE“|“DOCUMENTWRITE“配置|“本科生毕业论文(设计)23DOCUMENTWRITE“注销|“DOCUMENTWRITE“添加|“DOCUMENTWRITE“管理|“ELSEDOCUMENTWRITE“免费注册|“DOCUMENTWRITE“登陆”413用户注册模块用户注册模块是针对新用户来说的。为了系统的安全性,只有本站的用户才能拥有网摘

49、、书签、标签添加的功能。其界面如图42所示。用户注册的页面是REGJSP,在运行新用户注册的过程中需要调用DBMANAGER类中的CHECKUSEREMAIL、CHECKUSERNAME和USRREG三个函数。其主要代码如下图42用户注册页面REQUESTSETCHARACTERENCODING“GB2312”STRINGUSERID1REQUESTGETPARAMETER“USERID”STRINGUSERNAME1REQUESTGETPARAMETER“USERNAME”本科生毕业论文(设计)24STRINGPSWREQUESTGETPARAMETER“PSW”STRINGEMAILREQUESTGETPARAMETER“EMAIL”INTOOLEAN0INTCHECKEMAIL0STRINGISSUCCESS“NO”IFUSERID1NULL/检测用户名CHECKEMAILDBMCHECKUSEREMAILCONN,EMAIL/检测用户EMAILIFOOLEAN0IFREG/SETCOOKIECOOKIECOOKIENEWCOOKIE“WANGZHAI”,JAVANETURLENCODERENCODEUSERID1,”UTF8”C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。