基于个人喜好的消息推送网站.docx
《基于个人喜好的消息推送网站.docx》由会员分享,可在线阅读,更多相关《基于个人喜好的消息推送网站.docx(42页珍藏版)》请在冰豆网上搜索。
基于个人喜好的消息推送网站
本科生毕业设计(论文)
论文题目
:
基于个人喜好的消息推送网站
姓名
:
郭伟林
学号
:
1021113465
班级
:
10211112
年级
:
10级
专业
:
软件工程
学院
:
软件学院
指导教师
:
张军(副教授)
完成时间
:
2014年06月02日
作者声明
本人以信誉郑重声明:
所呈交的学位毕业设计(论文),是本人在指导教师指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。
文中引用他人的文献、数据、图件、资料均已明确标注出,不包含他人成果及为获得东华理工大学或其他教育机构的学位或证书而使用过的材料。
对本设计(论文)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本毕业设计(论文)引起的法律结果完全由本人承担。
本毕业设计(论文)成果归东华理工大学所有。
特此声明。
毕业设计(论文)作者(签字):
签字日期:
年月日
本人声明:
该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。
学位论文指导教师签名:
年月日
基于个人喜好的消息推送新闻网站
郭伟林
Message-pushedNewsWebsiteBasedonPersonalPreferences
WeilinGuo
2014年06月02日
摘要
基于个人喜好的消息推送新闻网站是在信息上提供资源共享、信息交流和协同工作的计算机网络信息系统。
随着计算机科学技术的发展,网络信息的快速传播已经成为人们日常生活中获取信息的重要途径,人们获取信息的快速途径主要是通过浏览新闻网站。
而各种新闻网站数量又比较多,需要找出用户自己喜欢的新闻进行查看又比较麻烦,为了满足用户的需要,现基于主流的消息推送功能,开发一个用户个人喜好的消息推送新闻网站。
本毕业设计主要是采用了B/S设计模式,基于JSP(JavaServerpage)技术和MicrosoftSQLServer2000数据库技术开发了一个用户喜好的消息推送新闻网站。
其开发主要包括后台数据库的建立和维和以及前端应用程序的开发两个方面。
采用MicrosoftSQLServer2000数据库作为后台数据库、JSP作为前台开发语言,主要完成各类新闻信息的浏览、检索查询各类新闻信息、新闻信息管理、用户管理、管理员管理、链接管理和消息推送等功能。
系统运行结果证明,本文所设计的基于个人喜好的消息推送新闻网站可以满足用户的需要,达到了设计要求。
本课题设计的意义和目标在于根据用户的兴趣定制用户喜欢的新闻,有利于增加用户对新闻网站的关注度和喜好度。
且能实现用户对系统网站的方便、简洁访问。
本毕业论文将对系统的开发过程和功能实现进行详细的阐述。
关键词:
新闻信息管理;SQLServer;消息推送;JSP
Abstract
Basedonpersonalpreferencestopushthenewswebsiteisprovidedontheinformationresourcesharing,informationexchangeandcollaborativeworkofcomputernetworkinformationsystems.Withthedevelopmentofcomputerscienceandtechnology,therapidspreadofnetworkinformationhasbecomeimportantwaypeoplegetinformationindailylife,peoplegetinformationfastwaymainlythroughbrowsingnewssites.Andallkindsofnewswebsitenumberismore,needtofindtheuser,whichseetheirfavoritenewsandmoretroublesome,inordertomeettheneedsofusers,basedonthemainstreamnewspushfunction,developauserpreferencestopushthenewswebsite.
ThisgraduationdesignmainlyadoptsB/Sdesignpattern,basedonJSP(JavaServerpage)technologyandMicrosoftSQLServer2000databasetechnologytodevelopauserpreferencestopushthenewswebsite.Itsdevelopmentmainlyincludesthebackstagedatabasetheestablishmentandpeacekeepinganddevelopmentoffrontapplicationprogramoftwoaspects.UsingMicrosoftSQLServer2000databaseasbackgrounddatabaseandJSPasthefrontdeskdevelopmentlanguage,mainlytocompleteallkindsofnewsandinformationbrowsing,searchallkindsofnewsandinformation,newsandinformationmanagement,usermanagement,administratormanagement,linkmanagementandmessagedelivery,andotherfunctions.Systemoperationresultsshowthatthisdesignisbasedonpersonalpreferenceinformationpushnewssitescanmeettheneedsofusers,hasreachedthedesignrequirements.
Thesignificanceofthistopicdesignandtargetisaccordingtotheuser'sinterestincustomuserlikenews,toincreaseuserinterestandpreferenceofnewswebsites.Usersofthesystemisabletobeconvenient,simpleaccess.Thisthesiswillbeonthesystemdevelopmentprocessandfunctionrealizationindetailinthispaper.
Keywords:
newsinformationmanagement;SQLServer;Messaged-pushed;JSP
目录
摘要I
AbstractII
1绪论1
1.1研究的背景1
1.2研究的目的和意义1
1.3研究的方法2
2关键技术介绍与系统开发环境3
2.1关键技术3
2.1.1Struts应用框架介绍3
2.1.2JDBC数据库访问技术3
2.1.3HTML+CSS技术4
2.2开发环境4
3系统分析6
3.1可行性分析6
3.2需求分析6
3.2.1功能需求6
3.2.2性能需求7
3.2.3数据流分析7
4系统概要设计10
4.1网站结构规划及设计目标10
4.2系统功能模块设计10
4.3系统逻辑结构设计11
4.4数据库与设计12
4.4.1数据库分析12
4.4.2数据库概念结构设计13
4.4.3数据库逻辑结构设计15
4.4.4数据库的物理实现17
5系统总体设计19
5.1网站总体架构19
5.1.1网站前台架构19
5.1.2网站后台架构20
5.2系统功能模块设计与实现21
5.2.1系统后台主要功能设计与实现21
5.2.1.1管理员登录模块设计21
5.2.1.2新闻信息管理模块和管理员设置模块设计16
5.2.1.3链接管理模块设计22
5.2.1.4查看新闻人物模块设计22
5.2.2网站前台主要功能模块设计24
5.2.2.1今日新闻的显示24
5.2.2.2输入新闻的关键字查询新闻24
5.2.2.3查看年度新闻人物与投票数量25
5.2.2.4消息推送26
5.2.2.5消息推送搜索前三29
结论31
致谢32
参考文献33
1绪论
1.1研究的背景
信息技术的发展给广大新闻用户带来了不少好处,其就是能够让用户知道世界各地的重大新闻。
由于各网站、媒体等是信息传播的媒介,这些传播媒介又存在大量新闻信息,而往往大多数人只能凭记忆力记住一些常常主动浏览的信息浏览网站。
由于各种基于用户兴趣、职业等网站的不断出现,使得用户可以选择访问的网站数量太多,这也正是为什么许多信息网站都少有人问津的根本原因。
由于广大用户往往花费了很少时间,来查找网站上的新闻信息,在发展的初期受到了广大用户的好评。
但是到了后期,随着信息量的急剧增加,使网站建设的规模变得越来越大,人们要查找新闻信息的难度也变得更大,也需要花费更多的时间和精力。
这就是目前传统网站信息传播的弊端,因此,为了改善此问题存在的局面,就需要对网站进行新的技术改造。
目前,许多信息传播网站研究出可以通过“消息推送机制”实现网站新闻信息的快速浏览。
消息推送机制就是在这样一个互联网背景下诞生的,它能使用户可以对自己喜好的新闻信息进行快速的查看。
针对用户对于目前浏览网站上存在的大量新闻信息耗时、耗力的情况,则开发出基于用户喜好的消息推送功能显得尤为重要。
所以说,为了解决目前用户遇到的各种新闻查找问题或其他一些问题,本系统网站可以利用目前许多新闻网站使用的消息推送机制,实现用户能轻易的得到想要查看的新闻。
1.2研究的目的及意义
由于网站信息量非常的多,使得用户寻找自己喜欢的新闻信息变得更加困难,为了增加用户对新闻网站的喜好度和关注度。
本系统开发出基于用户个人喜好的消息推送功能,来实现新闻信息的主动推送。
然而系统可以根据用户点击的浏览习惯,分析用户喜欢浏览的新闻信息,筛选出满足条件的新闻信息,定制出用户喜好的新闻信息主动推送给用户。
对此的话,用户也会感到本网站有比其他新闻网站所不具备的优点。
本毕业设计的开发意义在于将不同用户的个人喜好作为新闻信息推送的依据,满足各种不同用户的需要,解决他们访问新闻网站时遇到的各种问题,本网站建设的宗旨是为广大用户服务,实现用户对本网站的喜好度和关注度的增加。
1.3研究方法
本新闻消息推送新闻网站采用了B/S的体系结构来实现。
用户在浏览器端界面,可以实现各种类型的新闻信息查看、基于新闻关键字的查询和用户对新闻年度人物进行投票等操作。
管理员在服务器端通过对后台数据库的操作实现对新闻信息、新闻类型、普通管理员账号、新闻链接、新闻人物投票等的管理。
本系统开发使用到了目前JAVA开发中常用的JSP技术,能够实现用户与系统的动态互动。
所以本消息推送新闻系统采用JSP建立动态页面,使用了SQLServer2000创建和管理后台数据库,再通过其他的对象进行界面之间的转换,从而完成对各种新闻信息的管理、用户浏览新闻的数据分析,实现用户对于个人喜好消息的访问。
本系统的开发使用的是比较早的基于MVC模式下的Struts1框架开发技术进行开发的,属于早期使用的框架技术,目前使用最多的还是Struts2。
2关键技术简介与开发环境
2.1关键技术
2.1.1Struts应用框架介绍
Struts是一种基于MVC模式下的开源应用框架,对于开发者而言,此技术一定不陌生,为了能使基于在Web下开发的各种应用程序能够更好的被其他的开发者很快熟悉,使用框架技术来开发是比较可行的,下面我介绍下Struts主要包含Model部分、Controller部分和View部分。
下面讲解下个部分的含义或作用:
Model部分包含业务应用领域方面的相关逻辑对象;Controller部分是用来接收来自位于业务流程控制之处的用户互动信息;View部分则负责用来展现或接收用户输入的信息。
Struts包含以下技术特性:
(1)包含可以使用的各种标记库,运用灵活,能起到提高开发的效率的作用;
(2)是开源的系统开发软件;
(3)使用页面导航技术,用户来清楚的知道如何使用。
Struts框架可以使用如下一些其包含的组件:
actionServlet组件;
actionClass组件;
actionForm数据显示组件;
actionError存储和回收错误组件;
struts标记库组件;
actionMapping请求映射组件;
actionForward转移对象组件。
2.1.2JDBC数据库访问技术
JDBC就是java数据库连接的意思,是用于执行结构化查询语句SQL的Java驱动程序接口,可以用于对各种关系型数据库进行访问。
JDBC提供了各种由Java语言编写的类和接口组成的入口。
还提供了一种标准准则,用于构建更高级的接口,这样的话能使系统开发人员更方便的编写数据库应用程序代码。
JDBC包含有以下特点:
JDBC可以定义四种不同的驱动程序,本系统设计使用的是第四种驱动程序,叫做purejavadriver驱动程序。
它是通过执行脚本语言来执行的,能够实现快速的访问数据库的功能,能满足用户对数据库表数据的各种权限操作。
2.1.3HTML+CSS技术
1)HTML简介
HTML是ASP语言的重要组成部分,也是目前用于开发前端的页面技术语言。
HTML是由包含各种各样的HTML命令组成的,可用于说明文字和图片以及链接等内容的显示。
HTML语言结构包括Head和Body两部分,其中Head是用来说明浏览器标题信息,而Body则是说明需要说明的具体内容。
HTML的特点:
(1)简易性
(2)可扩展性
(3)与平台无关性
(4)灵活性
2)CSS简介
CSS 叫层叠样式表,主要是用来设计前端系统页面的结构布局。
CSS布局具有如下特点:
(1)语言简单易学
(2)网页访问速度
(3)SEO优化
(4)浏览器兼容性
(5)CSS+DIV网页布局模式
HTML+CSS技术就能实现对本网站前台页面的开发与建设,在开发建设本网站时应尽量注意使本网站简洁、美观和使用。
因此,对于CSS技术的熟悉非常重要,它是实现本网站开发建设要求的基础。
2.2开发环境
本系统是一个基于用户个人喜好的消息推送新闻网站,要满足用户访问的需求,无论在硬件或者软件都要选择得当。
要求系统可移植性较好,运行机器配置尽可能要高。
因此我选择的机器配置如下:
硬件平台:
CPU:
2.26GHz;
内存:
1GB及以上。
软件平台:
操作系统:
WindowsXP;
数据库:
SQLServer2000;
语言开发工具:
Myeclipse8.5
开发工具包:
JDKVersion1.4.0;
流程图软件:
MicrosoftofficeVisio
Web服务器:
Tomcat6.0;
浏览器:
IE6.0及以上,推荐使用IE8.0;
3系统分析
3.1可行性分析
经过大量的信息论证,我们知道在这个充满大量信息的时代,人们对信息的利用越来越频繁,则人们需要从大量信息数据中找到自己所想要的信息,从而推动了人们对消息推送功能的研究。
消息推送新闻网站对新闻进行了分类,网站首页以分类的形式显示新闻类型和新闻的详细信息,可以满足用户对新闻信息浏览的要求。
新闻网站提供了新闻信息的检索功能,可以通过输入关键字,查询与关键字相符的具体新闻信息。
系统后台能够通过其具有的总管理员设置和管理员添加的功能对管理员信息进行管理,保证了网站的可靠性和安全性。
因此,本网站可以通过分析用户的浏览习惯或对获取用户的IP地址数据进行分析,则可以分析出用户的个人喜好兴趣类型,从而实现对用户喜好的新闻消息进行推送。
3.2需求分析
3.2.1功能需求
通过对用户的调查访问,经分析得出本消息推送新闻网站应具有以下功能:
(1)新闻分类显示。
通过对其他新闻网站的分析得知,新闻信息以分类的形式,能够满足用户对自己喜好的新闻类
型进行快速的访问。
本网站新闻分类为以下六种:
政治生活、娱乐、军事、科学、法制、野生动物和体育等各类新闻。
(2)新闻信息检索查询。
为了满足用户对自己喜好的新闻信息的快速查找,用户可以按照新闻主题、新闻内容的关键字进行检索查询,故本网站提供了对各类新闻信息进行检索查询的功能。
(3)新闻人物查看与投票,并可以查看投票数量。
为了满足用户对自己喜欢的新闻人物进行投票,本网站为用户提供了一个用户对新闻人物查看与投票的功能。
(4)新闻消息推送。
根据用户的个人喜好类型,为了使用户能够方便、快捷的访问自己喜好的新闻类型,则需要把用户喜好的新闻信息推送给用户。
本网站则推出了新闻消息推送功能,这样能使用户更加喜欢或关注本新闻网站。
为了实现消息的推送,本网站是根据用户访问本网站的新闻信息的浏览习惯而实现的。
(5)其他新闻网站的友情链接。
为了解决本网站若是没有及时推出热点新闻的更新,而用户无法查看的功能缺陷,系统提供了对其他新闻网站的友情链接。
用户可以点击其他新闻网站的链接,去进行查看。
3.2.2性能需求
对于本网站的开发与建设,不仅对功能需求要做出详细的分析,而且对网站建设的性能需求也有以下要求:
(1)操作具有灵活性
(2)系统要有较高的可靠性、安全性和容错性
(3)快速响应性,能快速反应给用户
(4)在结构上应具有很好的可扩展性,便于将来的功能扩展和维护
3.2.3数据流分析
数据流程图(DFD)是用于描述系统结构的逻辑输入和逻辑输出之间的相互关系。
还能对其进行加工处理等操作。
下面我们来查看下本网站建设涉及到的系统数据流程图。
主要数据流程图如下所示:
系统数据流程图
图1系统数据流程图
系统功能说明,根据本网站的数据流图所示可知,本网站主要是分为用户和管理员两个实体。
因此对其进行说明。
用户访问本网站,则在网站首页,用户可以对分类的各种新闻信息进行点击查看。
能查看新闻所属新闻分类类型、新闻名字、详细新闻类型和创建日期,还能对网站推送的消息新闻进行查看和其他网站的链接。
对于后台管理来说,主要是管理员对网站前台页面具有的功能进行管理。
实现对网站的健康化、标准化管理。
4系统概要设计
4.1网站结构规划及设计目标
本消息推送新闻网站是一个功能完善的新闻类消息浏览、阅读和用户喜好的新闻消息推送的网站,由前台客户端进行新闻浏览界面显示、新闻信息查询以及新闻消息推送的展示和后台管理员进入等部分组成。
第一部分,前台客户端页面:
前台主要包括新闻分类、显示新闻详细信息、、新闻信息检索和确认查询、年度新闻人物投票、消息推送点击量前五、消息推送搜索前三、消息推送种类排名、消息推送分数排名、消息推送标记为喜欢排名、友情链接、提供后台登录口。
对于新闻本网站而言,在前台页面可以实现对各类新闻信息的查看以及基于用户喜好的新闻消息进行推送。
第二部分,后台系统管理设置:
后台系统管理设置主要是为了管理其具有的功能,如新闻信息管理、管理员权限管理、链接管理和其他管理等主要要实现的功能。
本网站是根据新闻信息的属性对其进行分类设计,根据设计要求主要要实现如下目标:
(1)分类展示各种类型的新闻。
(2)具体新闻信息的展示。
(3)新闻检索、查询功能的设置。
(4)设置新闻人物投票及投票数统计功能。
(5)实现用户个人喜好的消息推送功能。
(6)提供其他网站的友情链接。
(7)设置总管理员管理以及对普通管理员权限的管理。
4.2系统功能模块设计
网站由二大部分组成,其功能模块包括用户访问的前台页面模块和后台管理员新闻管理模块。
其模块设计功能流程图,如下功能结构图2和图3所示。
第一部分,消息推送新闻网站前台功能结构图,如下图5所示:
图2 网站前台功能结构图
第二部分,网站后台功能结图,如下图3所示:
图3 网站后台功能结构图
4.3系统逻辑结构设计
系统逻辑结构设计是根据用户需求,将整个系统划分成若干个逻辑数据单元,分别能够实现各自的功能。
一般在软件系统的开发过程中,逻辑结构一般是由系统架构师规划设计完成的。
系统逻辑结构在系统开发的过程中起着相当重要的作用,能使系统变得更加清晰。
本系统开发使用的逻辑结构包括以下几层:
表示层、业务逻辑层、数据层。
表示层(UI):
是指与用户进行交互的界面。
主要是用于接收用户输入的信息以及显示反馈给用户的信息。
业务逻辑层(BLL):
位于UI层和DAL层之间。
用于实现业务逻辑功能。
业务逻辑具体包括:
相关计算、数据验证和业务规则等。
系统架构中最核心的部分是BLL。
它的关注点主要是用于完成和业务需求有关的系统设计。
BLL在体系架构中处于重要的关键位置,位于表示层和数据访问层之间。
层是一种弱耦合的结构,层与层之间的相互关系是向下依赖的。
底层是不知道上层是如何设计的,要改变上层的设计对其调用底层来说不会有什么影响。
在分层结构设计的过程中,若是在不改变接口定义的条件下,分层式架构是一个支持可抽取、可替代的理想层式架构。
所以对于业务逻辑层的设计若能支持可扩展的架构显得尤为重要。
从数据访问层来讲,它是调用者;从表示层来讲,它却是被调用者。
数据层(DAL):
DAL与数据库打交道。
主要完成对数据的添加、修改、删除和查看操作。
它主要是将存储在数据库中的数据提取并提交给业务层,业务层将收到的数据保存到数据库中去。
4.4数据库设计
4.4.1数据库分析
根据系统用户需求分析,可以在数据库中划分以下实体:
tb_Link、tb_manager、tb_news、tb_newsType、tb_Vote和tb_Style,为了实现基于用户个人喜好的消息推送新闻网站的开发,需要对每个实体进行属性划分。
(1)tb_Link包含以下属性:
ID、Name、Address、IssueDate。
(2)tb_manager包含以下属性:
ID、Name、Password、RealName、IssueDate、Mark。
(3) tb_new包含以下属性s:
ID、Title、Content、Type、Style、Issu