最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

毕业设计(新闻管理与发布系统)

来源:动视网 责编:小OO 时间:2025-09-29 23:39:27
文档

毕业设计(新闻管理与发布系统)

海南大学毕业论文(设计)题目:新闻管理与发布系统学号:********B100姓名:周xx年级:2008级学院:信息科学技术学院系别:计算机科学与技术专业:计算机科学与技术指导教师:xxxx完成日期:年月日摘要网络技术的飞速发展,促进信息传播的速率,拓展了信息的覆盖面。我们每天都会轻易的接受到大量的新闻资讯。然而,快速更新、数量巨大的新闻数据,给新闻信息管理者带来了新闻管理工作的巨大压力;同时对于新闻受体,在浏览信息前不得不花大量的时间进行筛选,才能得到对自己有效的信息,传播新闻的速率提高了,
推荐度:
导读海南大学毕业论文(设计)题目:新闻管理与发布系统学号:********B100姓名:周xx年级:2008级学院:信息科学技术学院系别:计算机科学与技术专业:计算机科学与技术指导教师:xxxx完成日期:年月日摘要网络技术的飞速发展,促进信息传播的速率,拓展了信息的覆盖面。我们每天都会轻易的接受到大量的新闻资讯。然而,快速更新、数量巨大的新闻数据,给新闻信息管理者带来了新闻管理工作的巨大压力;同时对于新闻受体,在浏览信息前不得不花大量的时间进行筛选,才能得到对自己有效的信息,传播新闻的速率提高了,
海 南 大 学

毕业论文(设计)

题    目:新闻管理与发布系统      

学    号:********B100            

姓    名:周   x   x               

年    级:2008级                  

学    院:信息科学技术学院        

系    别:计算机科学与技术        

专    业:计算机科学与技术        

指导教师:xx    xx                

完成日期:      年     月     日  

摘    要

网络技术的飞速发展,促进信息传播的速率,拓展了信息的覆盖面。我们每天都会轻易的接受到大量的新闻资讯。然而,快速更新、数量巨大的新闻数据,给新闻信息管理者带来了新闻管理工作的巨大压力;同时对于新闻受体,在浏览信息前不得不花大量的时间进行筛选,才能得到对自己有效的信息,传播新闻的速率提高了,但针对性、有效性却下降了。本课题针对这一问题,使用JavaWeb技术、MySQL数据库、Tomcat服务,通过MCV架构实现了一套基与B/S结构的新闻管理与发布系统。论文介绍了该系统的设计与实现过程,主要包括系统概述、使用的相关技术简介、需求分析、系统总体设计、系统详细设计、数据库设计、系统实现等八个部分内容。绪论部分概述本系统问题的提出,开发目的;技术介绍部分简要的介绍开发本系统用到的技术;需求分析部分包括对本系统开发的总体需求分析及功能需求分析等;系统总体设计包括对本系统的数据流的分析图和系统总体功能模块图;系统详细设计是针对每一个功能模块的设计说明;系统数据库设计部分是系统数据库的设计与实现说明;系统实现部分包括系统实现过程的描述。

关键词: 新闻信息管理;针对性;JSP;MVC;

Abstract

The rapid development of network technology is making great contribution in promoting the dissemination of information rate and expanding the coverage of the informatio-n. Every day we received a lot of news and information easily. However, the huge amount of rapidly updating data of news has brought much work pressure to the news and information managers, at the same moment to get the valid information It was inevitable for the news consumer to take a long time in information filtering, for this reason it is better to say the decline of relevance and effectiveness better than the rate increase of news broadcasting; For this issue above, this project use Java Web technology, MySQL database, the Tomcat service, discuss how to implement a B / S structure based information management and publishing system by MCV architecture. This paper intr-oduces the system design and implementation process, including a summary of the system, the use of technology introduction, requirements analysis, system design, system detailed design, database design, system implementation in eight parts. Introduction summarize an overview of the problem proposed, the development purposes; technical description is part of a brief introduction to the technology used in developing the system; needs analysis is part of the overall and function analysis; system design including the system analysis of data flow diagrams and overall functional module diagram; detailed design of the system for the design of each function module; the design portion of the system database is the description of system database design ;system implementation section includes a description of the system achieve process. 

Keywords: news information management; relevance; JSP;MVC Design Pattern

1.系统概述

1.1.问题提出

21 世纪是信息化的时代。随着信息技术, 特别是网络技术、通信技术和多媒体技术的飞速发展,极大提高了现实生活中新闻信息的传播速率、拓展了信息的覆盖面。只要我们一打开电脑,连上网络,便可以在第一时间接收到全球各地、各个时段的财政资讯、实时报道、娱乐活动等各个方面的各种类的巨量信息。网络的发展,拓展了信息的传播渠道,提高信息传播速率、增广覆盖面的同时,也导致了网络信息的日益膨胀,同时夹杂在新闻报道的各类商业广告、不良信息充斥着我们的眼球。对于信息接受者而言,虽然通过各类新闻浏览网站便可接触到最新的时讯,但往往巨量的新闻其实并不全是自己感兴趣的信息,所以在浏览新闻时不得不花掉大量的时间进行筛选,才能得到自己想要的有效信息。新闻的快速更新、新闻量的不断增大,也给新闻管理的工作者带来新闻组织、信息分类上的工作压力。

新闻传播不能只是在传播速度上的提高,也要关注新闻信息发布的有效性,将新闻信息传播给需要它的受体。提高新闻发布的针对性、准确性。

因此,为了方便人们快速的获取自己关注的新闻消息,促进新闻传播的有效性,提高新闻系统的管理者在管理、发布新闻上工作的效率,必须开发一个功能完善、使用方便的新闻管理与发布系统来满足人们的需求。

1.2.项目目的

本课题是为了实现一套比较完整的新闻管理与发布系统。方便前台用户通过系统接收有效的新闻时讯,快速浏览到用户关注的实时报道。而新闻管理人员可以通过系统对进行编辑、发布、审核等工作,提高工作效率。

1)前台系统总体目标:

⏹页面布局结构清晰、合理色调统一,提高用户体验效果。

⏹新闻信息的按不同的板块模式显示,方便普通浏览用户浏览站点新闻。

⏹前台包含用注册功能,每个注册用户拥有自己的个人新闻中心。

⏹注册用户可以订阅新闻消息,系统根据用户订阅栏目,显示相关栏目的信息。

⏹系统注册用户可以对自己喜爱的新闻进行收藏条目,方便再次浏览新闻内容。

⏹系统根据用户浏览的信息、用户收藏内容、订阅栏目自动提供新闻推荐(用户关注、感兴趣的栏目)。

2)后台系统总体目标:

⏹管理员登陆时验证用户名和密码,通过后可以使用后台系统。系统根据管理员权限,分配管理员的操作。

⏹系统超级管理员可以对整个系统的信息进行更新,对前台用户进行增、删、改管理,给系统的普通管理员进行权限的修改。

⏹系统普通管理员通过验证后可以,使用后台系统对网站的新闻条目进行增加、编辑、审核等功能, 以及对新闻评论评论进行统一管理。

1.3.可行性分析

由于开发此新闻管理与发布系统需要的环境有Windows 2000及以上系统,基于WEB的网络编程开发语言Java,需要操作人员熟练使用Java语言进行网络编程。MySQL数据库的熟悉,需要操作人员熟练使用进行相关数据库的操作,具有一定的数据库开发功底及编程能力。使用的网页设计开发工具Drameweaver和Photoshop相结合,优美的界面设计。再加上Windows 2003或WindowsXp稳定的运行环境的支持和开发人员的过硬技术,从功能和性能上完全都满足系统的要求,因此从技术方面来讲开发此新闻管理系统是可行的。

2.Jsp及相关技术简介

2.1.关于Jsp技术

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 

  Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 

  JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 

  JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。 

  JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 

  自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。

2.2.JavaScript

JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言。你可以利用JavaScript轻易的做出亲切的欢迎信息、漂亮的数字钟、有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间。让这些特殊效果提高网页的可观性。

2.3.B/S结构

B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对c/s结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过www浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。B/S结构,主要是利用了不断成熟的www浏览器技术,结合浏览器的多种Script语言(VBScript,JavaScript)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的c/s结构应用程序将是巨大的进步。B/S结构的系统一般由浏览器、Web服务器和数据库服务器组成,其结构如 图2.3.1

图2.3.1 B/S结构的系统的体系结构

2.4.MVC框架

MVC是一个设计框架,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

MVC架构的特点:

1)低耦合性

 视图层和业务层分离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用的业务流程或者业务规则的改变只需要改动MVC的模型层即可。因为模型与控制器和视图相分离,所以很容易改变应用程序的数据层和业务规则。

2)高重用性和适用性

 随着技术的不断进步,现在需要用越来越多的方式来访问应用程序。MVC模式允许你使用各种不同样式的视图来访问同一个服务器端的代码。它包括任何WEB(HTTP)浏览器或者无线浏览器(wap),比如,用户可以通过电脑也可通过手机来订购某样产品,虽然订购的方式不一样,但处理订购产品的方式是一样的。由于模型返回的数据没有进行格式化,所以同样的构件能被不同的界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要的命令是改变视图层的实现方式,而控制层和模型层无需做任何改变。

3)较低的生命周期成本

 MVC使开发和维护用户接口的技术含量降低。

4)快速的部署

 使用MVC模式使开发时间得到相当大的缩减,它使程序员(Java开发人员)集中精力于业务逻辑,界面程序员(HTML和JSP开发人员)集中精力于表现形式上。

5)可维护性

 分离视图层和业务逻辑层也使得WEB应用更易于维护和修改。

6)有利于软件工程化管理

 由于不同的层各司其职,每一层不同的应用具有某些相同的特征,有利于通过工程化、工具化管理程序代码。

3.系统需求分析

3.1.总体需求描述

新闻管理与发布系统主要分为前台和后台两大部分,呈现给用户浏览器的是前台的网站部分,这一部分提供给用户系统内的新闻资讯供用户浏览和使用;后台部分一般不与用户打交道,由管理员对后台的信息进行管理。它主要包括应用程序服务器和数据库服务器。应用程序服务器控制着前台网站的功能和表现形式,而数据库服务器则用来存放大量的站内新闻信息资源。管理系统的前台网站的具体的组织实施过程就是网站的建设过程,我们一般从网页的设置和布局方面来考虑。网页设计的总体原则是要把项目开发信息以及相关消息、资源集中在网站页面上,这样有利于简化用户对有用信息的查寻。而具体的处理过程,则是根据不同的需求类型来确定不同的页面构成。如果每次建立一个新的网站都需要从最低层的网站的设计着手将是一个重复而繁琐的工作。包括网站页面的布局和设置,后台数据库的描述,信息资源的整合等方面。

网站系统用户面临不同的阶层,我们不光要使后台的数据库设计满足需求,也因为用户使用的访问工具因人而异,所以我们需要在浏览器的兼容性方面下苦功夫,并且要尽量达到W3C标准。

3.2.功能需求

实时新闻管理发布系统主要是满足用户浏览实时新闻,通过新闻管理发布系统来关注自己感兴趣的新闻,获取有用的实时信息,并且通过自己的新闻订阅功能可以在第一时间得到自己关注的信息,增强了信息传播的有效性。除此之外新闻管理与发布系统能够方便管理员、新闻编辑等系统后台用户对新闻的管理以及实事新闻的发布,提高工作的效率。

新闻管理发布系统的使用用户基本分为三类:系统管理员、普通管理员、注册用户、普通浏览用户。

管理员,通过后台管理系统实现网站内容的更新与维护,及时发布新的新闻资讯。系统管理员还可以管理员进行权限的管理。

注册用户,完成注册后可以根据自己需求修改订阅不同栏目的新闻信息,收藏自己感兴趣的新闻、更改个人信息等。

3.3.页面需求

根据系统的功能需求新闻管理发布系统的页面主要分为两大类:前台页面和后台页面。

前台页面主要包括:新闻网站首页、用户新闻文章浏览、用户登陆注册页面、用户信息更改页面、新闻栏目订阅页面、用户收藏夹页面、新闻推荐显示页面等。

后台页面主要包括:管理员登陆页面、系统管理页面、系统信息页面、用户管理页面、安全管理页面(管理员权限管理)、新闻编辑管理页面。

3.4.数据需求

通过数据字典的各个部分内容可以基本完成对数据需求的描述。

3.4.1.基本数据项及数据结构

基本数据项:

1)用户信息:用户名、密码、订阅内容、等级、注册时间、权限、订阅记录、个人说明等数据项,用以完成对注册用户的描述。

2)新闻信息:包括新闻标题、新闻板块、新闻栏目、发布时间、评论数等。

3)评论信息:包括评论内容、时间、评论ID等

4)图片信息:所属文章编号、描述、存储地址、图片名等

5)新闻栏目信息:包括栏目名、点击率、收录文章数量、所属板块等。

6)新闻板块信息:包括板块名、点击率。

7)系统信息:包括系统名称、注册用户数量、版本号等。

8)等级信息:包括等级名称、等级描述、用户数量。

9)收藏记录信息:包括用户ID、文章ID、新闻标题、收藏时间等。

10)用户浏览信息:用户ID、浏览新闻ID、浏览新闻标题、浏览新闻所属栏目。

3.4.2.数据条目

名称别名简述来源去向
用户注册信息表 用户注册时必须正确填写的信息表注册用户用户数据库
用户数据更新表 用户数据变动时用户数据更新的数据表注册用户用户数据库
新闻发布信息表 网站编辑发布新闻时信息表网站管理员

新闻信息数据库
3.5.性能需求

1)功能的完整性

2)数据库的安全性

3)软件的可维护、可靠性

4)程序的可移植性

3.6.系统开发环境

服务器:免安装版Tomcat5.0

JDK :JDK1.6

IDE: Myeclipse8.0、DreamweaverCS5

浏览器:Mozilla Firefox

4.系统总体设计

4.1.系统数据流

根据数据需求以及系统功能需求的分析,可以得到数据流图。

4.1.1.顶层数据流图

图 4.1.1.1 顶层数据流图

4.1.2.一层数据流图

一层数据流图如 图4.1.2.1所示:

图 4.1.2.1层数据流图

4.1.3.二层数据流图

如图4.1.3.1  4.1.3.2所示:

图4.1.3.1  2层数据流图

图4.1.3.2   2层数据流图

4.2.系统总体功能模块

根据需求分析,可以得到系统的总体模块。系统总体模块可分为前台和后台两块系统总体功能模块如 图:

图4.2.1 系统总体模块图

各功能模块的具体功能介绍:

本系统主要分为:前台展示新闻和后台管理两大部分,下面对系统的各部分功能模块加以详细说明。

5.系统详细设计

5.1.前台功能模块

前台系统大模块包括页面展示、个人新闻中心。细化后分为为页面展示、会员登陆注册、新闻展示、栏目订阅、新闻收藏、新闻推荐。

1)页面展示,包括首页新闻展示、单篇新闻显示、评论列表显示。首页中包含各类板块新闻的展示,用户点击单篇新闻后进入单篇新闻的展示,及文章评论。总的来说页面展示是该网站为用户提供的一个浏览新闻的平台,管理员会把近期的新闻展示给用户看,可以分类查询,把数据库中的新闻按板块、及各类排行显示出来,不仅方便了用户查找新闻信息,同时也使得网站有一个清晰的系统结构。

2)会员登陆包括会员注册、资料修改、会员登录。每一个浏览该网站的用户,系统都会提示注册用户。注册用户可以修改个人信息、登录密码等。

3)新闻订阅是为方便用户浏览新闻,每个注册用户都有一个“个人新闻中心”,在用户浏览新闻的过程中,随时可以查看自己已浏览过的新闻和关心的新闻,还可以修改其订阅的新闻栏目,系统会根据用户订阅的栏目为用户提供实时新闻。

4)新闻收藏为注册用户提供一个收藏新闻信息的空间,用户在浏览新闻时可以把自己喜欢的新闻加入到收藏夹。以便再次查询浏览。

5)用户注册后,在个人新闻空间可以使用新闻推荐功能,该功能根据用户平常浏览的喜好,及各类新闻的点击率为用户提供三个栏目的新闻信息。

前台模块结构图,如图

图5.1.1前台系统模块结构图

5.2.后台功能模块

主要包括系统管理、内容管理、用户管理、安全管理四大部分。

1)系统管理分为系统设定、公告管理。管理员以超级管理者的身份登录后台后,只要具备系统管理的权限,就可以对使用系统设定功能对系统的名称、系统描述等基本信息进行设定。公告管理功能完成对网站友情链接、公告的增加、删除、修改。

2)内容管理:包括板块管理、栏目管理、新闻管理、评论管理。管理员以管理者身份登陆后,通过板块管理、栏目管理对网站系统的板块、栏目进行增加更改、删除、修改。新闻管理实现网站管理员对网站前台新闻的添加、编辑、删除、审核、发布以及修改新闻在前台显示的状态。管理员如果具备评论管理权限可使用评论管理功能对,网站新闻的评论进行查看、审核、删除及更改其显示状态(设定是否前台显示)。

3)用户管理分为:用户组管理、用户管理。系统超级管理员可以通过用户组管理功能修改网站注册前台注册用户的分组类型,添加、删除、修改分组。用户管理功能实现对注册用户查看、删除、修改登录状态等操作。

4)安全管理,实现对系统超级管理员的查看、添加、删除以及每一位管理员使用后台对各个栏目新闻进行增加、删除、编辑、审核操作的权限分配。

后台管理系统结构图如,图5.2.1

图5.2.1 后台系统模块结构图

5.3.新闻管理系统业务流程分析

新闻管理与发布系统前台主要是实现网上浏览新闻的整个业务流程,通过网站上的新闻展示和分类查询功能、浏览新闻的信息、浏览新闻的信息;找到想要浏览的新闻后,会员便可以将想了解的新闻先放入“我的新闻中心”中,然后再找其它新闻,会员可查询“我的新闻”里面的已选定的新闻项,并可以删除项目。

会员在新闻管理系统的整个浏览过程的业务流程。

如图5.3.1所示:

图5.3.1前台系统主要业务流程

新闻管理与发布系统后台主要为管理员提供新闻管理的平台,管理员登陆后台后系统根据管理员的权限提供不同的操作,管理员可以通过后台系统对网站的新闻进行编辑、发布、删除、审核等管理操作。超级管理员除了可以对新闻信息进行管理外,可以对普通管理员进行管理,如添加、删除、管理员,更改普通管理员的权限。

图5.3.2后台系统主要业务流程

5.4.系统业务流程细化

该系统的具体模块设计:其中前台管理包括会员登记、新闻展示、新闻订阅三大部分,后台管理包括会员管理、新闻管理、分类处理三大模块。

下面介绍前台管理子系统的设计:

1)会员登记

会员登记子系统划分成会员登录、会员注册模块,图3.5.1是会员登记流程图5.4.1:

图5.4.1会员登记流程图

2)新闻展示

新闻展示子系统可以对新闻进行分类展示,图5.4.2是新闻展示流程图: 

图5.4.2 新闻展示流程图

3)新闻选定

新闻选定子系统可以查询新闻、修改已选新闻和提交新闻,新闻订购流程图如5.4.3所示:

图5.4.3新闻订阅流程图

下面介绍后台管理部分子系统的设计:

4)会员管理

会员管理子系统划分成会员删除、查看会员模块。子系统查看、删除用户的流程图如图5.4.4所示:

图5.4.4 查看、删除用户流程图

5)新闻管理

新闻管理子系统分为添加新闻、查看新闻、修改新闻、删除、审核新闻四个部分,其查看新闻、修改新闻、删除新闻模块的流程图如图5.4.5所示:

图5.4.5查看、修改、删除新闻模块的流程图

6.系统数据库设计

在建设网站系统之前,必须对系统所用到的数据进行大致的分类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数据库是系统的重中之重。

数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。尽量分离各实体对应的表,一个实体对应一个表,分析该实体有哪些属性,对应有些什么字段,以及各实体之间的联系。实体、属性与联系是进行概念设计时要考虑的三个元素,也是一个好的数据库设计的核心。

6.1.数据概念模型设计

数据库概念模型设计是在需求分析的基础上进行的。根据分析的结果得出的以下几个实体:管理员、注册用户、新闻信息、评论信息、收藏信息、订阅信息等。

6.1.1.新闻管理系统E-R图

系统E-R图 如下

图6.1.1.1系统E-R

6.1.2.实体属性图

系统实体属性图,如图6.1.2.1

图6.1.2.1 实体属性图

6.2.数据库逻辑结构设计

实体描述

会员信息=会员编号+用户名+密码+等级+登陆状态+积分+订阅栏目+权限+Email+注册日期+性别

栏目信息=栏目编号+栏目名称+所属板块+新闻总条数+显示状态+描述

收藏信息=收藏号+ 新闻编号+ 用户号

新闻详细信息=新闻编号+新闻名称+新闻类别+所属栏目+新闻编辑+点击量

系统基本统计信息=注册用户数 + 总新闻数量 + 系统名称+版本号

图片信息=图片编号 + 描述 + 存储地址+ 添加时间+所属栏目+所属板块

板块信息= 板块编号+ 描述+创建时间+包含栏目数

收藏信息 =收藏编号 + 新闻编号 + 收藏时间+ 收藏新闻标题+所属栏目+收藏用户编号  + 收藏时间

板块信息 = 板块编号+ 描述+创建时间+包含栏目数

用户浏览记录信息=记录编号 + 用户编号 + 浏览新闻编号 +  浏览新闻所属编号

6.3.数据库逻辑模型设计

数据库表的结构基本情况如下:

表6.3.1 n_user用户信息表

列名说明类型备注
id主键int(11)自增
userName用户注册名称

char(30)Not null
rankId用户等级int(11)Not null
pwd密码char(30)Not null
powers管理员权限varchar(500)Not null
subscription订阅记录varchar(500)Not null
sex性别varchar(1)Not  null

email邮箱char(50)允许为  null

state状态int(1)Not  null

regTime注册时间varchar(50)Not  null

lastTime上次登陆时间varchar(50)Not  null

loginNum个人签名int(11)Not  null

commentNum邮箱int(11)Not  null

表6.3.2 n_article新闻信息表

列名说明类型备注
id主键Int(11)

自增
columnId栏目ID

Int(11)Not null
columnName栏目名NtextNot null
title新闻标题varchar(25)

Not null
picId图片ID

Int(10)

允许 null

addDate添加时间varchar(25)

Not null
content新闻内容CharNot null
kitNum新闻点击率Int(11)Not null
commentNum评论内容Int(4)Not null
author发布管理员char(20)Not null
authorId管理员ID

int(11)Not null
lasComment最新评论char(150)Not null
source来源char(50)Not null
sourceUrl网络来源Url

char(100)Not null
isExamine是否通过审核varchar(5)Not null
sortId所属板块ID

int(11)Not null
表6.3.3 n_review 新闻评论表

列名说明类型备注
id主键int(11)自增
content评论内容varchar(500)Not null
articleId新闻ID

int(11)Not null
authorId评论人ID

int(11)允许null

author评论人varchar(30)允许 null

postTime评论时间varchar(50)Not null
display是否显示int(1)Not null
sortId新闻板块ID

int(11)Not null
columnId新闻栏目ID

Int(11)Not null
表6.3.4 n_sort新闻板块分类表

列名说明类型备注
id主键int(11)自增
sortName板块名varchar(30)Not null
info描述varchar(150)允许 null

kitNum点击率int(11)Not null
columnNum栏目ID

int(11)Not null
aritcleNum包含新闻总数int(11)Not null
createTime创建时间varchar(50)Not null
reviewTotal评论总数int(11)Not null
表6.3.5 n_picture新闻图片表

列名说明类型备注
id主键int(11)自增
info描述varchar(500)允许为 null

addr存储地址varchar(500)Not null
postTime发布时间varchar(50)Not null
articleId新闻ID

int(11)Not null
sortId板块ID

int(11)Not null
cloumnId栏目ID

int(11)Not null
表6.3.6 n_column 栏目信息表

列名说明类型备注
id主键int(11) unsigned自增
columnName栏目名varchar(10)Not null
sortId板块ID

int(11)Not null
sortName板块名varchar(100)Not null
info栏目描述varchar(150)允许 null

kitNum点击率int(11)Not null
aritcleNum文章总数int(11)Not null
reviewTotal评论总数int(11)Not null
createTime创建时间varchar(50)Not null
表6.3.7 n_favorites用户收藏记录表

列名说明类型备注
id主键int(11)自增
articleId新闻ID

int(11)Not null
userId用户ID

int(11)Not null
favTime添加收藏时间varchar(50)允许为 null

title标题char(150)Not null
columnId栏目ID

int(11)Not null
columnName栏目名varchar(10)Not null
表6.3.8 n_record 用户浏览记录表

列名说明类型备注
id主键int(11)自增
userId用户ID

int(11)Not null
articleId新闻ID

int(11)Not null
columnId新闻所属栏目ID

int(11)Not null
表6.3.9 n_system 系统信息表

列名说明类型备注
id主键int(11)自增
userTotal用户总数int(11)Not null
articelTotal新闻总数int(11)Not null
columnTotal栏目总数int(11)Not null
info描述char(150)Not null
reviewNum评论总数int(11)Not null
表6.3.10 n_rank 用户组(等级)表

列名说明类型备注
id主键int(11)自增
rankName用户类别名char(30)Not null
isLogin用户组是否可登陆int(1)Not null
userTotal组用户总数int(11)Not null
6.4.数据库实现

该系统在MySQL数据库系统中设计完成

数据库设计 如图6.4.1

图6.4.1 系统数据库设计图

数据表设计,如图6.4.2

图6.4.2 系统数据表设计

7.系统实现

7.1.Jsp+Servlet+JavaBean实现MVC架构

本系统采用Jsp+Servlet+JavaBean方法实现MVC设计模式。编写本系统时,力求做到简单明了,严格遵循三层结构。模型(Model):用Java类以及Java对象实现,封装业务逻辑,提供相应的接口。视图层:主要由Java Server Page(JSP)承担,生成视图的代码则可能是一个servlet的一部分。控制器:由Servlet来实现,视图发送请求控制器(servlet),控制器依据请求的不同,调用相应的模型(java类),模型处理之后的结果会返回给控制器,控制器会依据结果选择合适的视图(JSP)。

系统架构如 图7.1.1 所示,

图7.1.1 系统实现架构

7.2.业务逻辑实现

系统采用了DAO设计模式实现数据层的访问。DAO模式是J2EE核心模式中的一种,其主要目的就是在业务核心方法和具体数据源之间再增加一层,用这一层来连接业务方法和数据源,这样就实现了两者的解耦,如图7.2.1

图7.2.1 数据库访问图

数据源为关系数据库MYSQL。通过使用DAO模式,业务核心部分就不用关心数据层是如何实现数据库操作的,只关心自己的业务操作即可。数据库的操作全部交给DAO代理。系统中对应每一个实体对象都有相关的DAO操作类。

7.3.Servlet实现控制器

本系统的每一个模块都用相应的处理的Servlet,不同模块的Servlet根据页面的请求,控制程序流程转向。系统中主要包括:新闻处理的Servlet、评论处理的Servlet、栏目处理的Servlet、登陆处理的Servlet、图片处理的Servlet、用户收藏的Servlet等。

7.4.系统开发实现项目

1)结构清晰系统项目文件结构,便于对文件进行管理,有助于提高我们开发软件的效率,图

图7.3.1 系统项目文件结构图

2)系统功能实现的各个类结构

图7.3.3实体类、数据操作DAO类、servlet类

3)系统程序流如 图7.3.4

图7.3.4 系统程序流图

7.5.表示层实现

表示层负责接收用户的输入以及将输出数据呈现给用户,并且根据CSS样式表决定呈现样式。表示层可以对简单的用户输入数据的有效性负责,同时管理会话及页面跳转等逻辑。鉴于此表示层又可分为页面的美工以及表示逻辑。

7.5.1.页面美工

    网站的页面是与用户交互的直接前台,用户感受网站好坏的一个影响因素便是对网站页面可视化感官,因此表示层的设计的可观性、协调性、交互性程度是评价一个网站优良的重要因素。所以页面的美工效果对网站的能否推广起着关键性作用。

    在设计页面时需要考虑网站的整体统一性,个人认为一个网站不适宜包括太多风格的页面,应该凸显主题、实现整个系统的统一性。因此在设计页面的美工时会选择一些主题样式文件(如.skin、CSS样式文件以及整张的模板页和网站frame框架等)作为网站统一的主题。

    本网站页面设计中采用了“DIV+CSS”页面样式布局方法,这样的设计方法可以通过.css文件统一设计页面样式使得内容和样式的分离,使页面和样式的调整变得更加方便,而且CSS的极大优势表现在简洁的代码,能够增强网页的可读性。

1)前台页面设计实现

前台页面整体布局如 图7.5.1.1

图7.5.1.1 前台页面整体布局

前台首页index.jsp显示如 图7.5.1.2

图7.5.1.2 前台首页

新闻查看及评论如图

查看新闻图7.5.1.3

2)后台页面设计实现

后台页面整体布局如 图7.5.1.4

图7.5.1.4后台页面整体布局图

后台管理系统后台页面如 图7.5.1.5

图7.5.1.5 后台页面

7.5.2.表示逻辑

表示逻辑负责与表示有关的逻辑,如页面如何条件性跳转、根据用户的输入进行数据验证,然后显示不同的信息、根据系统运行情况显示不同的信息等。概括来说,美工决定了“怎么显示”,表示逻辑决定了 “显示什么”。

表示逻辑根据不同状态显示不同页面内容,如用户登录后在页面上加入用户的信息、根据操作的不同调用不同的操作控制器,绑定显示数据,更新列表信息(如最新发布的新闻、最新评论、点击排行榜等)。

本系统页面动态数据的显示控制主要用到了JSP表达式和JSTL标签。如在页面的首页顶端,用户没有登录时无Session数据,页面显示“登录”、“注册”。用户登陆后则显示用户信息和个人新闻中心入口、退出登陆链接。

其表示逻辑代码为:

${userBean.userName},您好! | 

个人新闻中心

[

退出]

注  册 | 登   录

7.6.前台主要模块功能实现

7.6.1.用户注册登陆

前台系统提供多用户使用,用户可以通过注册成为网站会员。页面如图

图7.6.1.1前台用户登陆页面

7.6.2.个人新闻中心

用户进入系统后可以通过注册页面注册成为为系统的用户,系统会在用户表内增加一条包含有个人的ID,userName等信息的记录的。用户可通过前台登陆页面登陆系统,系统根据数据库信息显示,“个人主页”。

进入个人新闻中心后用户可以“查看收藏”,“查看订阅”,“查看系统推荐新闻”、“修改个人信息”等。个人新闻中心如 图7.6.2.1

图7.6.2.1 个人中心页面

7.6.3.新闻收藏

注册用户登陆后可以在浏览新闻时对感兴趣的新闻进行,“添加收藏”将新闻添加到个人的收藏夹中。如图7.6.3.1

图7.6.3.1 添加到收藏

加入收藏后,打开个人收藏夹,既可以查看和管理收藏夹的内容。本系统收藏夹现在的实现了“查看“、“删除”、“清空收藏夹”功能。如 图7.6.3.2

图7.6.3.2 新闻收藏夹页面

7.6.4.新闻订阅

1)用户注册成功后,登入个人新闻中心,系统会自动订阅两个的内容,用户点击“栏目名称”,便可以通过超链接查看该栏目中最新发布的前六条新闻。订阅目录显示,如图7.6.5.1

图7.6.4.1 订阅目录

2)用户可以通过“修改订阅”功能,修改订阅的栏目。更改完成后,提交用户的订阅情况会在订阅列表里显示。如图7.6.4.2

图7.6.4.3 新闻订阅

修改后的栏目显示如 图7.6.4..4

图7.6.4..4 添加到目录后

点击订阅的栏目后,显示新闻列表 如 图7.6.4.5

图7.6.4.5 查看订阅

3)订阅信息的存储,在数据中表示为用户的表n_user的“subscribe”字段,subscription是一个具有如下形式的字符串“,5-33,8-34,8-35,”, “,2-16,2-17,2-18,3-13,3-14,”其中有效数据为5-33, 8-34,8-35,  数据中”-”前一位表示板块ID,“-”后一位数据表示栏目ID。在后台提取数据时首先用split方法对字符串进行切分得到一个一维数据,然后以形式板块ID号(栏目ID、栏目ID、栏目ID、栏目ID)的形式进行分组。其切分关键代码如下:

String[] sub = substr.split(

     for (int i = 1; i < sub.length; i++) {

            sortId = sub[i].split("-");

            sortId1 = Common.strToint(sortId[0]);

            SubBean subbean = new SubBean();

            subbean.setSortId(sortId1);

            subbean.setSortName(sortdao.getSortNameById(sortId1));

            Sublist.add(subbean);

         for (int j = i+1; j < sub.length; j++) {

                sortId = sub[j].split("-");

                sortId2 = Common.strToint(sortId[0]);

                if (sortId1 != sortId2) {

                    i = j - 1;

                    break;

                }

            }

        }

        int sublist=Sublist.size()-1;

        boolean flag=Sublist.get(sublist).getSortId()==Sublist.get(sublist-1).getSortId();

     if(sublist>0&&flag)//如果最后一个和倒数的二个相等去掉最后一个元素

        {

            Sublist.remove(sublist);

        }

     for (int i = 1; i < sub.length; i++) {

            subId1 = sub[i].split("-");

         for (int j = 0; j < Sublist.size(); j++) {

                num1 = Common.strToint(subId1[0]);

                num2 = Sublist.get(j).getSortId();

                if (num2 == num1) {

                    Sublist.get(j).getColumnIdlist().add(Common.strToint(subId1[1]));

                    Sublist.get(j).getColumnNamelist().add(columndao.getcolumnNameById(Common.strToint(subId1[1])));

                    break;

                }

            }

        }

切分方法:返回一个包含实体的SubBean 对象的List 数据。

其中SubBean类 包含四个属性值和它的GET SET 方法,为:

public class SubBean implements Serializable {

    private int sortId = -1;

    private String sortName = "";

    private List columnIdlist = new ArrayList();

    private List columnNamelist = new ArrayList();

7.6.5.新闻推荐

在用个人新闻中心里,系统会通过n_article(新闻表)、n_record(用户浏览文章记录表) 、n_favorites(用户收藏表)以及用户订阅的信息,根据新闻记录的评论总数(review)、点击率(kitsNum)等因素为用户提供四个栏目的新闻内容。点击“查看推荐”,打开推荐列表, 如图7.6.5.1

图7.6.5.1 今日推荐列表

7.7.后台主要模块功能实现

7.7.1.后台系统主页

后台系统主页为用户登陆界面,用户通过用户名和密码验证后进入到系统,根据权限使用后台系统的管理功能。如图7.7.1

图7.7.1 后台系统主页

7.7.2.后台新闻管理

后台新闻管理,为用户提供对系统新闻的增删改、及审核操作。下面介绍新闻添加:

管理员进入系统后,在菜单栏中选择“内容管理”,点击新闻管理,页面会显示查询到的当前数据库中的新闻信息。图7.7.2.1

图7.7.2.1 新闻管理页面

点击“添加新闻页面”,使用新闻添加功能 如图7.7.2.2

图7.7.2.2 新闻添加

填写好表单后,是否提交图片,是否允许评论后,点击提交。系统会将请求提交给ArticleServlet,ArticleServlet首先判定输入是否合法,如果输入正确,ArticleServlet调用articleAdd操作方法,将数据插入数据库。(本系统使用SmartUpload,来实现上传图片)articleAdd方法:获取页面传入的数据后,将图片上传,保存到服务器中,保存成功后将一条数据记录插n_picture数据表,然后通过picID = pdao.queryMaxId();获取图片的ID,再将一条包含新闻标题、新闻内容、图片ID、图片路径的记录插入n_article表。

需要注意的是,在JSP页面中包含多媒体文件的表单中在页面上设置form标签的“enctype”的属性,如下:

                            method="POST" enctype="multipart/form-data">

7.8.后台权限管理

7.8.1.用户权限的表示

在数据库表n_user中用户的操作权限用一个字段powers表示“,1-1,1-2,1-3,1-4, 4-3,4-4,5-1,5-2,5-3,5-4,6-1,”的形式保存,以“,“开头,以”,“结尾。字符串中“-”前的数据表示新闻系统里栏目编号,“-”后的数字1,2,3,4表示分别表示管理员对栏目文章的操作权限,1表示“发布”,2表示“编辑”,3表示“审核”,4表示“删除”。如字符串内含有“,1-2,”表示管理员有编辑ID为1的栏目里的文章。

7.8.2.权限判定

后台用户登陆时,通过登陆合法性判断后系统,需要对某个栏目的文章进行操作时就调用权限判断函数对,对登陆用户的权限进行判断。

checkUser 接收到用户ID,和操作栏目需要的权限,通过数据库查询用户权限,然后调用Common里的Chkpower方法对用户权限进行判断。

checkUser函数:

private void checkUser(HttpServletRequest request,

            HttpServletResponse response) {

            Int userId=Common.strToint(request.getParameter("userId"));

Int CcolumnIdpower =Common.strToint(request.getParameter("CcolumnIdpower "));

        UserBean userBean = new UserBean();

        UserDAO userDao = new UserDAO();

        userBean = userDao.getUserById(userId);

        String power = userBean.getPower();

        String[] str = power.split();

        for (int i = 0; i < str.length; i++)

            System.out.print("" + str[i] + "\\n");

        flag = Common.Chkpower(power, " CcolumnIdpower ");

        if (flag) {

            System.out.print("用户ID号为" + userBean.getUserName() + "的用户具备审核的权限!"+ "\\n");

}

Chkpower函数:

public static boolean Chkpower(String p, String s) {

        boolean flag = false;

        System.out.print("get p is: " + p + "\\n");

        System.out.print("get S is: " + s + "\\n");

        if (p.indexOf(s) > -1) {

            flag = true;

            System.out.print("具有" + s + "权限!" + "\\n");

        } else

            System.out.print("不具备" + s + "权限!" + "\\n");

        return flag;

    }

7.8.3.权限修改

超级管理员登陆后可以对普通系统管理员的权限进行修改。超级管理员登陆后,通过后台“安全管理”的管理员管理进入管理界面。如图7.8.3.1

图7.8.3.1 管理员列表

选择管理员,点击“更改权限”。进入修干权限页面 如图7.8.3.2

图7.8.3.2 管理员权限修改

为管理员选择权限后,点击提交,系统就会跳入Uservlet ,Servlet根据用户提交的需求进行操作。Uservlet 获取表单中复选框checkName的数值,得到powers数组然后,将数组值以“,”号间隔的形式存入字符串power中。最后调用DAO中的权限修改方法更改数据库中的数据。

 Uservlet 中的关键代码:

String power = 

            String[] powers = request.getParameterValues("checkName");

            System.out.print("the power length is :" + powers.length + "\\n");

            for (int i = 0; i < powers.length; i++) {

                System.out.println(powers[i]);

                power = power + powers[i] + 

            }

            System.out.println("\\nget  data is:  " + power + " \\n");

            userBean.setPower(power);

            flag = userDao.operationUser("modify", userBean);

            if (flag)

                System.out.println("\\n sucessfuly \\n");

修改成功后弹出提示框!如 图7.8.3.3

图7.8.3.3 修改成功页面

否则弹出修改失败提示!

8.总结

经过三个月左右的不懈努力,现在我的毕业设计基本完成。整个新闻管理与发布系统也已经实现。

开发的系统功能基本符合新闻发布需求,能够完成新闻发布、新闻修改和新闻显示以及新闻评论。并提供部分系统维护功能,使管理员方便对用户管理、新闻进行修改、发布、数据删除。个人新闻中心模块的新闻订阅、收藏夹、系统新闻推荐也基本完成,能够为用户浏览新闻提过一个完善的平台,便于注册用户登陆后接收自己感兴趣的新闻咨询。

但是由于毕业设计时间较短,个人系统开发能力有限,所以该系统还有许多不尽如人意的地方,比如,系统的出错处理能力不够,站内新闻搜索功能未能实现等多方面缺憾,这些都有待进一步的改进和完善。我将在今后的通过不断学习,去完善系统的功能。

回顾设计开发新闻管理发布系统的开发过程,有苦也有乐。开发软件是一件非常辛苦而又挑战人耐性的工作,必须耐得住性子去编写、调试代码。但任何事只要你用心投入后就必定有收获,特别是在面对问题是通过寻求各种方法去解决它的过程,其实是很锻炼一个人解决问题的能力的。付出过后,成功到来时的喜悦更是非常美妙的。总而言之,其中投入的心血越多,成功以后你所获得的快乐与充实感也更多更强。

致谢

在完成毕业设计时,我不得不感谢首先我的毕业设计指导老师——任一凡老师,她在我选题、完成开题报告、系统设计分析、系统编码实现、到最后设计论文撰写每个环节都给我无私的帮助和指导,而且她严谨治学、对工作的细致认真的态度,深深地影响了我。

同时我还要感谢在我完成论文过程面临种种困难和障碍时,伸出双手给予我帮助和指导的同学、朋友们!

万分感谢上述的所有人,没有你们的关怀和帮助,我不可能顺利完成大学学习生涯的最后一次设计任务。衷心感谢你们!

参考文献

[1] [美] C. Thomas Wu著. 候国峰等译.An Introduction to Object-Oriented Programming with Java (中文版:面向对象程序设计导论). 北京:电子工业出版社,2002.06:196-208

[2]《JDBC数据库程序设计》 Time研究室 箫仁惠 陈锦辉 中国铁道出版社 

[3] 《Java程序设计》 清华大学出版社

[4]耿祥义.JSP实用教程[M].清华大学出版社,2005年. 

[5]孙卫琴.Java 面向对象编程[M].电子工业出版社,2006年.

[6]CSS + DIV 网页样式与布局案例指导[M].电子工业出版社,2009年.

[7]赵丽,王树森.jsp通用范例开发金典[J].电子工业出版社,2008.6

[8]梁文新,宋强.Ajax+JSP网站开发从入门到精通[J].清华大学出版社,2008.7

[9]常建功,Java Web典型模块与项目实战大全[J].清华大学出版社,2011.1

[10]丘加永,JSP基础与案例开发详解[J].清华大学出版社,2009.8

[11]王俭敏,方强,CSS+DIV网页样式与布局案例指导[J],电子工业出版社,2009.4

[12]孙更新,孙海伦,网站+论坛.开放全程实录[J],清华大学出版社,2008.11

[13]唐爱国,王建明,动态网站开发-JSP技术详解与应用实战[J],清华大学出版社,2009.1

文档

毕业设计(新闻管理与发布系统)

海南大学毕业论文(设计)题目:新闻管理与发布系统学号:********B100姓名:周xx年级:2008级学院:信息科学技术学院系别:计算机科学与技术专业:计算机科学与技术指导教师:xxxx完成日期:年月日摘要网络技术的飞速发展,促进信息传播的速率,拓展了信息的覆盖面。我们每天都会轻易的接受到大量的新闻资讯。然而,快速更新、数量巨大的新闻数据,给新闻信息管理者带来了新闻管理工作的巨大压力;同时对于新闻受体,在浏览信息前不得不花大量的时间进行筛选,才能得到对自己有效的信息,传播新闻的速率提高了,
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top