基于SSH的新闻发布系统的论文.doc

上传人:来看看 文档编号:3921763 上传时间:2019-10-10 格式:DOC 页数:39 大小:1.21MB
返回 下载 相关 举报
基于SSH的新闻发布系统的论文.doc_第1页
第1页 / 共39页
基于SSH的新闻发布系统的论文.doc_第2页
第2页 / 共39页
基于SSH的新闻发布系统的论文.doc_第3页
第3页 / 共39页
基于SSH的新闻发布系统的论文.doc_第4页
第4页 / 共39页
基于SSH的新闻发布系统的论文.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于SSH的新闻发布系统的论文.doc》由会员分享,可在线阅读,更多相关《基于SSH的新闻发布系统的论文.doc(39页珍藏版)》请在三一文库上搜索。

1、 论文(设计)分类号:本科毕业论文(设计) 密 级:基于SSH的新闻发布系统的设计与实现系 院 学科门类 专 业 学 号 姓 名 指导教师 教师职称 毕业论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果或作品。本人完全意识到本声明的法律后果由本人承担。作者签名: 年 月 日毕业论文版权使用授权书本毕业论文作者完全了解学院有关保存、使用毕业论文的规定,同意学院保留并向有关毕业论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权本学院及以上级别优秀毕业

2、毕业论文评选机构将本毕业论文的全部或部分内容编入有关数据库以资检索,可以采用复印、缩印或扫描等复制手段保存和汇编本毕业论文。声明人签名: 导师签名: 年 月 日 年 月 日2013届本科毕业论文(设计)摘 要本文首先介绍了新闻传播类网站的现状和JSP、SSH等Java Web的相关技术,用面向对象的MVC设计思想对新闻发布系统进行系统需求分析、可行性研究。接着对系统进行了概要设计,列出了主要功能模块,之后在概要设计的基础上确立了各个功能模块的子模块和具体功能,将本系统划分为新闻显示模块、成员管理模块、新闻栏目管理模块、新闻信息管理模块和新闻评论模块。然后对系统进行数据库设计,根据系统的功能模块

3、的具体功能设计并建立了系统所需的各个表,完成了数据库的逻辑设计。最后使用SSH集成框架对系统进行代码的编写,使得本系统的数据层代码和表示层代码分离、业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。基本实现了一个简洁的新闻发布系统所需的功能。关键词:新闻发布系统;SSH集成框架;可重用性目 录摘 要I1绪论11.1开发背景11.2我国新闻传播专业网站的现状及发展11.3研究的目标及意义21.4SSH介绍21.4.1Struts21.4.2Spring31.4.3Hibernate32系统的开发方法及相关技术42.1MVC设计模式42.1.1MVC简介42.1.2M

4、VC处理过程42.1.3MVC的优点42.2JSP组件52.3开发环境简介62.3.1Tomcat服务器62.3.2MySQL数据库63新闻发布系统分析与概要设计83.1系统需求分析83.1.1数据库需求分析83.2可行性研究93.2.1经济可行性分析93.2.2技术可行性93.2.3使用方面的可行性93.3系统概要设计93.3.1系统功能93.3.2系统模块94新闻发布系统详细设计114.1系统的功能模块设计114.1.1新闻显示模块114.1.2成员管理模块114.1.3新闻栏目管理模块124.1.4新闻信息管理模块124.1.5新闻评论模块134.2系统数据库设计144.2.1概念设计1

5、44.2.2逻辑设计155新闻发布系统的实现195.1重要代码195.1.1数据库操作195.1.2拦截器215.2系统各功能模块的实现235.2.1新闻显示模块的实现235.2.2成员管理模块的实现235.2.3新闻栏目管理模块的实现255.2.4新闻信息管理模块的实现265.2.5评论模块的实现266总结及改进276.1总结276.2不足与改进276.2.1新闻的搜索276.2.2新闻的存储27参考文献29致 谢30I1 绪论1.1 开发背景当前,新媒体正以最快的速度迅猛地发展,已在全球范围内成为资本高度聚集、技术飞速发展、影响日益广阔的新兴产业。而且随着网络技术不断创新和第三代移动通信的

6、兴起,新闻网站正迎来新的机遇,发生新的革命,呈现新的趋势。(1)网络技术迅猛发展促进新闻网站多媒体的融合。(2)作为一种交互性的全媒体,新闻网站越来越成为网民表达观点、主张和情感的重要途径之一,成为政府官员与民众就社会发展重大问题交流看法的有效方式。(3)随着移动终端技术发展和3G网络推广,新闻信息服务的移动化成为新闻网站的重要趋势。 布阿拉凡赞菲隆.新闻网站的发展现状与趋势 N .人民日报,2010年3月26日.在这种新趋势的影响下,人们上网查阅新闻信息的越来越多,只要你上Internet,你就会不可避免地接触到新闻发布系统。新闻发布系统大大减轻了网站更新维护的工作量,通过网络数据库的引用,

7、将网站的更新维护工作简化到只需录入文字和上传图片,从而使网站的更新速度大大缩短,在某些专门的网上新闻站点,如新浪的新闻中心等,新闻的更新速度已经缩短到五分钟一更新,从而大大加快了信息的传播速度,也吸引了更多的长期用户群,时时保持网站的活动力和影响力。1.2 我国新闻传播专业网站的现状及发展新闻传播专业网站是指以新闻传播信息为主要内容的网站。自1999年国内首个传媒频道浙江在线的“中国新闻传播学评论”建立至今,传媒网站规模数量大增,形态逐渐成熟。据不完全统计,目前传媒网站已达200多个,内容涵盖众多门类和分支;有些已经具有较高专业水准,在业界与学界形成较大影响力。媒体网站传媒频道是指以新闻媒体所

8、办的母站为依托,以整合业界学界信息为主的网络频道。人民网、新华网、凤凰网、南方网以及一些省市级媒体的传媒频道逐渐形成亮点,标志媒体网站传媒频道规模形成。媒体网站传媒频道主要呈现以下特点:第一,受众广泛、内容兼顾。与其他传媒网站相比,媒体网站传媒频道的内容更丰富、栏目更细化,以兼顾受众多样化需求。从栏目设置看,媒体网站传媒频道栏目数量多,上述四大媒体网站传媒频道栏目数量都达到20个以上;从栏目内容看,既有针对学界受众的专业性、资料性强的栏目,又有针对业界受众的实践性、数据性强的栏目,还有针对普通受众的新闻性、争议性强的栏目,各类读者都能在传媒频道各取所需。第二,品牌栏目效果突出。内容同质化是传媒

9、频道面临的突出问题,面对这一瓶颈,新闻网站传媒频道都采用增加原创、打造品牌的方式,获得较大成功。第三,资源整合,互动充分。新闻网站传媒频道十分重视实时充分的互动:一是与网友互动,二是与其他媒体互动,三是与专业人士互动,四是与新闻院校互动。总体看来,作为母站分支,媒体网站传媒频道摆脱不了母站痕迹,但正是依托母站影响力,这些传媒频道才会出现高流量、高点击率和高访问量的人气维持,保持了强劲发展势头。 戴莉莉.我国新闻传播专业网站现状要述及发展分析 N .人民日报,2010年6月30日.1.3 研究的目标及意义顾名思义,新闻发布系统是基于B/S模式的网站内容管理系统。WEB开发的语言,数不胜数,有cg

10、i/perl/ruby所代表的脚本语言,php/jsp/.net所代表的类c语言,asp所代表的basic语言等等。但是经过这么多年互联网应用中的大浪淘沙,当前主流的也就属php/jsp/.net三大阵营了。目前在国内PHP与.NET应用相对Java的JSP而言较为流行。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。随着Java语言的流行,JSP的应用范围相当广泛,性能也很突出,有着非常好的应用前景,运行效率也有着很大的成长空间。针对目前新闻发布系统的现状以及目前主流Web开发技术的比较,本文提出使用Java语言的

11、JSP技术进行编写。为了降低开发复杂度、在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序,采用一套基于MVC设计模式的Struts框架、Spring框架和Hibernate框架组成的集成SSH框架作为开发模型进行开发。1.4 SSH介绍SSH 为 Struts + Spring + Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。其中使用Struts是系统的整体基础架构,负责MVC的分离,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。1.4.1 StrutsStruts是一个基于J2EE

12、平台的MVC框架,最早是作为Apache Jakarta项目的一部分问世的,其主要是采用Servlet和JSP技术来实现的。由于Struts框架能充分满足应用开发的需求,并且简单易用,在过去的几年中颇受关注。Struts框架把Servlet、JSP、自定义标签和消息资源整合到一个统一的框架中,开发人员利用其进行开发时,不用再自己编码来实现全套MVC模式,因此极大地节省了开发时间。 孙更新、宾晟、宫生文.Java程序开发大全基于MyEclipse平台+Struts+Hibernate+Spring主流框架开发 M .北京:中国铁道出版社,2010:117.Struts2是实现MVC(Model-

13、View-Controller)设计模式的第二代Web应用程序框架。它建立在最佳实践以及被证明有效且被社区广泛接受的设计模式之上。当然第一代的Struts框架也是如此。实际上,第一代Struts的主要目的是把MVC模式从桌面应用程序引入到Web应用程序。这个合成的模式偶尔也被成为Model2模式。这是设计良好的Web应用程序进化过程中非常关键的一步,因为它提供能轻松达到MVC分离的基础设施。则可以让开发人员根据这些构架方面的细微区别使几个资源以接入到现成的最佳实践解决方案。 Donald Brown.Struts 2 in Action中文版 M .北京:人民邮电出版社,2009:9.1.4.

14、2 SpringSpring为企业应用的开发提供一个轻量型的解决方案。该解决方案包括:基于依赖注入的核心机制,基于AOP的声明式事务管理与多种持久层技术的整合,以及优秀的Web MVC框架等。Spring为J2EE应用的表现层、业务逻辑层及数据持久层都提供了极好的解决方案,因为Spring提供的不仅仅是一种框架,而且提供了一种企业应用的开发规范。Spring是实际开发的抽象,其提供的模板设计大大简化了应用的开发。Spring的系列Template将通用步骤以优雅的方式完成,留给开发者的仅仅是与特定应用相关的部分,从而大大提高企应用的开发效率。Spring支持对POJO的管理,能将J2EE应用各

15、层的对象焊接在一起,甚至这些对象无须是标准的JavaBean。 李刚.轻量级J2EE企业应用实战Struts+Spring+Hibernate整合开发 M .北京:电子工业出版社,2007:264.1.4.3 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP

16、,完成数据持久化的重任。利用Hibernate,开发人员可以按照Java的基础语义进行持久层开发。Hibernate提供的HQL(Hibernate Query Language)是面向对象的查询语言,它在对象型数据和关系型数据库之间构建了一条快速、高效、便捷的沟通渠道。 2001年末,作者Gavin King,正式发布Hibernate第一个版本。 2003年6月8日,Hibernate2的发布为其奠定成功的基石。同时推出了开发文档(Hibernate Reference)。 2003年末,Hibernate获得Jolt 2004大奖以及Hibernate被JBoss收纳,成为JBoss组织

17、的子项目之一。 2005年3月Hibernate3正式发布。 夏昕、曹晓刚、唐勇.深入浅出Hibernate M .北京:电子工业出版社,2005:54.2 系统的开发方法及相关技术2.1 MVC设计模式2.1.1 MVC简介MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。MVC把应用程序分成三大核心模块:模型、视图和控制器,他们分别担负不同的任务。图2-1显示了这几个模块各自的功能以及它们的相互关系。图2-1 MVC设计模式2.1.2 MVC处理过程首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器

18、调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。2.1.3 MVC的优点MVC从根本上强制性地将网页中像数据库查询语句这样的数据层代码和像HTML这样的表示层代码分开,将数据从表示层分离开来,其优势表现在以下三个方面:首先,多个视图能共享一个模型。如今同一个Web应用程序会提供多种用户界面,例如用户希望既能通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时提供Internet界面和WAP界面。在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的

19、可重用性。其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务层规则。如果把数据库从MySQL移植到Oracle,或者把RDBMS数据源改变成LDAP数据源,只需改变模型即可。一旦正确地实现了模型,不管数据来自数据库还是LDAP服务器,视图都会正确地显示他们。由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能够造良好的松耦合的构件。此外,控制器提高了应用程序的灵活性和可配置性。控制器可以用来连接不通的模型和视图去完成用户的需求,也可以为构造应用程序土工强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当

20、的模型进行处理,然后选择适当的视图将处理结果显示给用户。2.2 JSP组件在传统的HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给用户端的仅为输出结果。JSP技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持Java,也可以访问JSP网页。当JSP容器接收到Web用户的一个JSP文件请求时,它对JSP文件进行语法分析并生成Java Servlet源文件,然后对其编译。一般情况下,S

21、ervlet源文件的生成和编译仅在初次调用JSP时发生。如果原始的JSP文件被更新,JSP容器将检测所做的更新,在执行它之前重新生成Servlet并进行编译。图2-2显示了JSP容器初次执行JSP的过程:图2-2 JSP容器初次执行JSP的过程尽管JSP在本质上就是Servlet,但这两者的创建方式不一样,Servlet完全由Java程序代码构成,擅长于流程控制和事务处理,而通过Servlet来生成动态网页很不美观;JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。因此在实际应用中,采用Servlet来控制业务流程,而采用JSP来生成动态网页。在Struts框架中,JSP位于MVC

22、设计模式的视图层,而Servlet位于控制层。 孙卫琴.精通Struts:基于MVC的Java Web设计与开发 M .北京:电子工业出版社,2005:3.2.3 开发环境简介2.3.1 Tomcat服务器Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体验,从Tomcat5版本中开始支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且

23、免费,因而深受Java爱好者的喜爱,并得到了部分软件开发商的认可,现在已经成为目前比较流行的Web应用服务器。 李兴华、王月清.Java Web开发实战经典基础篇 M .北京:清华大学出版社,2010:76.Tomcat是一个小型的轻量级应用服务器,它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;虽然Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,但是Tomcat是开发和调试JSP程序的首选。2.3.2 MySQL数据库MYSQL是一个可用于各种流行操作系统平台的关系数据库,它具有客户机服务器体系结构的分布式数据库管理系统,它完全适用于网络

24、,用其构建的数据库可以在互联网上的任何地方访问,是一个真正的多用户、多线程SQL数据库服务器。对Linux和OS2平台,MYSQL基本上是免费的;但对微软平台,在30天的试用期后必须获得一个 MYSQL许可证。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MYSQL是以一个客户机服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。MYSQL主要目标是快速、健壮和易用。它的特点是功能强大、使用简单、管理方便、运行速度快、可靠性高、安全保密性强,而且还可以利用许多语言编写访问MYSQL数据库的程序。MYSQL的特征使用核心线程的完全多线程,这意味着它能

25、很容易地利用多CPU可运行在不同的平台上;有多种列类型:l、2、3、4、和8字节长度的有符号无符号整数、FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET和ENUM类型;利用一个优化的一遍扫描多重联结(one-sweep multi-join)非常快速地进行联结(join);在查询的SELECT和WHERE部分支持全部运算符和函数,通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速。在JAVA语言中有一个程序套件javasql用于提供给使用者执行数据库结构化查询语言的SQL语句,它提供

26、数据库应用程序开发者一个标准的应用程序接口。Sun公司另外提供一个SQL的独立版本成为JDBC(Java DataBase Connectivity)。通过sql的接口可以对任何数据库执行SQL指令,换句话说,所执行的SQL与数据库的厂牌无关,不管是Oracle,Access,MySQL,SQLServer等数据库,所设计的SQL语句均适用,所不同的只是系统所调用的数据库驱动程序不同。 史立波.基于XML技术的新闻发布系统 D .南开大学:软件工程学院,2007:18-19.3 新闻发布系统分析与概要设计3.1 系统需求分析伴随着网络的出现,Internet打破了地域的限制,真正使信息得以共享

27、,改变了人们的工作和生活方式。在这个网络时代,人们了解的新闻不仅仅是来源于电视、报纸等,还来源于网络,网络新闻已经成为大家所认可的浏览新闻的最佳途径。新闻发布系统就是用来对网络中所要发布的新闻进行一个综合管理的系统,该系统除了可以对要发布的新闻进行添加、删除和修改操作,而且还可以对新闻栏目(类别)进行添加、删除、移动和修改,也可以对新闻发布系统中的管理员账号进行添加、删除和修改。此外,用户通过访问前台新闻页面可以进行搜索新闻、浏览新闻以及添加评论新闻,登录用户可以对自己的个人信息进行修改,向新闻系统提交稿件以及查看评论信息。3.1.1 数据库需求分析(1) 针对普通用户的需求分析从普通用户的角

28、色出发,他们所关注的是新闻的浏览,新闻评论和新闻的搜索,关注新闻栏目分类、推荐新闻信息、图片新闻信息及新闻阅读次数等。针对一般新闻普通用户的需求,可得出新闻发布系统的功能需求信息如下: 一个新闻栏目对应一个新闻归类。 一个新闻栏目下可以有多个新闻。 一条新闻只能属于一个新闻栏目。 一条新闻应该包含该新闻的ID号、标题、内容、点击次数等信息。 不同栏目的新闻都可以通过关键字进行搜索。 每条新闻的评论都向用户开放。(2) 针对管理用户的需求分析从后台管理员的角色出发,他们所关注的是如何对调整新闻栏目、新闻和评论的添加、修改和删除等管理。针对后台管理员的需求,可得出新闻发布系统的功能需求信息如下:

29、一个管理员管理多个用户。 一个管理员管理多条新闻信息。 一个管理员可以管理多个新闻栏目。 一个管理员可以审核多条评论。3.2 可行性研究3.2.1 经济可行性分析本系统是新闻单位的一个简单的新闻发布系统,由于访问量不是很大,硬件上仅需要一台联网的计算机,软件上,jdk运行环境、MySQL数据库、Tomcat服务器都是开源免费的,在系统的运行上不需要很大的经济投入,不会有很大的风险,因此在经济可行性方面是可行的。3.2.2 技术可行性在Java Web中,面向对象的MVC框架中SSH已经非常流行。因此在技术上是可行的。3.2.3 使用方面的可行性本系统操作简单、界面友好,用户仅需通过浏览器即可访

30、问本系统,实现新闻的浏览与管理功能。3.3 系统概要设计经上述需求分析及可行性分析,可以确立本系统的主要功能并进行概要设计。3.3.1 系统功能根据上述需求分析的描述,可以总结出本系统的主要功能如下:(1)管理员登录、普通用户登录(2)对新闻进行添加、删除和修改操作(3)对新闻栏目(类别)进行添加、删除和修改操作(4)对系统管理员账户进行添加、删除和修改操作。(5)进行搜索新闻、浏览新闻以及添加评论新闻(6)对个人信息进行修改操作(7)提交新闻信息(8)查看评论信息3.3.2 系统模块根据上述系统的主要功能,可以将系统分为以下几个模块:(1) 新闻显示模块新闻显示模块主要包括前台页面上的新闻栏

31、目信息、新闻具体信息及新闻评论信息。(2) 成员管理模块成员管理模块主要分成管理员管理和用户管理功能。该模块与其他模块关联不大。(3) 新闻栏目管理模块新闻栏目管理模块主要包括新闻栏目的添加与修改。(4) 新闻信息管理模块新闻信息管理模块主要包括新闻的添加、审核、查询。(5) 评论模块评论模块包括添加评论信息以及管理评论状态。 方蓓.基于JSP+XML的新闻发布系统设计与实现 J .科技传播,2011,6:207.4 新闻发布系统详细设计4.1 系统的功能模块设计通过全面分析,本系统可以分为以下几个模块。4.1.1 新闻显示模块新闻显示模块是直接面向用户的,是操作环境与数据联系的桥梁,主要是用

32、户界面所显示的信息,主要包括首页的显示、新闻栏目的显示、新闻搜索功能、新闻浏览及评论的显示功能。具体如图4-1所示。图4-1 新闻显示模块4.1.2 成员管理模块成员管理模块根据用户角色的不同,分为两大类:普通用户管理和管理员管理。普通用户为进行注册登记的用户。用户进入系统要求先登录,登录时要验证用户名和密码。用户登录后可以修改自己的基本信息,如用户密码、联系方式等,但不允许修改用户名和权限等信息。管理员则不允许注册,可以由已有的管理员添加一个新的管理员,该管理员可以直接管理其添加的新管理员,可修改其个人信息,进行锁定与删除操作。另一方面,所有的管理员可以直接管理普通用户,对其进行锁定与删除操

33、作。具体如图4-2所示。图4-2 成员管理模块4.1.3 新闻栏目管理模块新闻栏目管理模块:管理员可以对新闻栏目进行添加、删除、修改操作。具体如图4-3所示。图4-3 新闻栏目管理模块4.1.4 新闻信息管理模块新闻管理模块是新闻发布系统中最重要也是最主要的模块。根据管理内容的不同,可以将该模块分成以下几个子模块:基本信息管理模块、审核信息管理模块、新闻搜索模块与新闻回收模块。基本信息管理模块:普通用户可以进行投稿,类似于管理员的添加新闻,但是管理员可以选择终审通过,直接发布新闻,在遇到紧急新闻时可以选择此操作。管理员也可以对普通用户的投稿进行修改、删除。可以对通过审核的新闻添加标志属性(重要

34、/置顶/推荐/热门)。审核信息管理模块:管理员可以对用户的投稿进行审核,稿件提交后默认状态为待审核,审核结束后只存在两种状态:已通过审核和未通过审核。审核时也可以为新闻添加(重要/置顶/推荐/热门),审核通过的新闻会发布该条新闻,未通过的审核可以选择退稿或者删除。新闻搜索模块:用户可以对新闻进行搜索,可以选择标题搜索与内容搜索进行搜索,若查询到结果,用户可以点击新闻结果列表中的新闻链接直接查看该条新闻,未查询到结果则提示用户未搜索到新闻的信息。新闻回收模块:管理员在审核新闻的时候难免会出错,因此删除新闻操作默认是删除到回收站,管理员可以从回收站恢复需要的新闻,也可以对不当的新闻进行彻底删除。具

35、体如图4-4所示。图4-4 新闻信息管理模块4.1.5 新闻评论模块评论模块包括新闻评论的添加与审核。浏览者在阅读完文章后可以在页面上发表对文章发的看法,系统将这些评论的内容存入数据库中,由审核员或系统管理员来审核。审核前的状态为待审核,通过审核的评论直接置状态为已通过审核,不符合标准的则置状态为未通过审核。具体如图4-5所示。图4-5 新闻评论模块4.2 系统数据库设计4.2.1 概念设计根据前面的数据库分析得到的数据项,可以设计出满足设计需求的各种实体,以及他们之间存在的互动关系,为接下来的逻辑结构设计做好准备,这些实体包含各种具体信息。本系统根据上面的设计规划出的实体有:用户实体、新闻栏

36、目实体、新闻实体、评论实体。实体之间的关系的E-R图如图4-6和图4-7所示。图4-6 新闻实体与其他实体关系E-R图图4-7 新闻实体E-R图4.2.2 逻辑设计(1) 用户信息表用户信息表(t_user)用于存放新闻发布系统中所有注册用户的所有信息,方便管理员对用户进行管理。“本次登录时间”记录了用户本次登录的时间。“上次登录时间”用于保存用户之前的“本次登录时间”。表中各个字段的数据类型、大小以及概要描述如表4-1所示。表4-1 用户信息表t_user序号字段含义字段名类型长度键类型是否非空1编号idINTEGER11主键非空2用户名usernameVARCHAR20唯一键非空3昵称ni

37、cknameVARCHAR20非空4密码passwordVARCHAR20非空5邮箱EmailVARCHAR30非空6注册时间regist_dateDATETIME0非空7登录次数login_countsINTEGER11非空8本次登录时间the_login_dateDATETIME0空9上次登录时间last_login_dateDATETIME0空(2) 管理员信息表管理员信息表(t_manager)用于存放新闻发布系统中所有管理员的信息。表中各个字段的数据类型、大小以及概要描述如表4-2所示。表4-2 管理员信息表t_manager序号字段含义字段名类型长度键类型是否非空1编号idINTE

38、GER11主键非空2用户名usernameVARCHAR20唯一键非空3昵称nicknameVARCHAR20非空4密码passwordVARCHAR20非空5邮箱emailVARCHAR30非空6创建时间create_dateDATETIME0非空7创建者creatorVARCHAR20空8密保问题questionVARCHAR30空9密保答案answerVARCHAR30空10登录次数login_countsINTEGER11非空11本次登录时间the_login_dateDATETIME0空12上次登录时间last_login_dateDATETIME0空(3) 新闻栏目表新闻栏目表(t

39、_channel)存放了所有新闻栏目的信息,方便管理员新闻信息的整合。表中的“编号”是系统中新闻栏目的惟一标识符,是该表的主键。“所属类别”可以存储该栏目的上级栏目的编号。“栏目级别”存放栏目的级别,级别为0代表顶级栏目,级别为1代表1级栏目,依次类推。“创建时间”记录该栏目被创建时的时间。“用户编号”是指用户ID,可关联到用户信息表。“栏目说明”可以记录该栏目的相关信息等。表中各个字段的数据类型、大小以及概要描述如表4-3所示。表4-3 新闻栏目表t_channel序号字段含义字段名类型长度键类型是否非空1编号idINTEGER11主键非空2栏目名称channel_nameVARCHAR20

40、唯一键非空3栏目级别channel_levelINTEGER11非空4所属栏目belong_idINTEGER11非空5创建时间create_dateDATETIME0非空6栏目说明descriptionVARCHAR30空(4) 新闻信息表新闻信息表(t_news)用于存放新闻发布系统中所有新闻的信息,新闻信息的管理是系统中比较重要的内容,方便管理员对页面信息的管理。表中的“编号”是系统中新闻信息的惟一标识符,是该表的主键。“所属栏目编号”可以存储该新闻所属的新闻栏目编号。“新闻发布时间”记录该新闻被发布时的时间。“新闻提交者记录发布新闻的用户ID。“新闻内容”可以存储该新闻的信息内容。“新

41、闻审核状态”有三个状态值,值为0代表待审核,值为1代表通过审核,值为2代表未通过审核。“新闻显示属性”有5个值,值为空或者“none”,代表无,“important”代表重要新闻,“top”代表置顶新闻,“recommend”代表推荐新闻,“hot”代表热门新闻。“新闻回收状态”可以用来判断是否对该新闻进行过删除操作,默认值为0,代表未回收。回收状态值为1。表中各个字段的数据类型、大小以及概要描述如表4-4所示。表4-4 新闻信息表t_news序号字段含义字段名类型长度键类型是否非空1编号idINTEGER11主键非空2所属栏目编号channel_idINTEGER11外键非空3新闻标题new

42、s_titleVARCHAR30非空4新闻作者authorVARCHAR20非空5新闻提交者user_idINTEGER11外键非空6新闻提交者manager_idINTEGER11空7新闻内容contentTEXT0非空8新闻说明descriptionVARCHAR100空9新闻添加时间add_dateDATETIME0非空10新闻发布时间public_dateDATETIME0空11新闻发布状态public_stateINTEGER11非空12新闻点击次数news_countINTEGER11非空13新闻显示属性mark_stateVARCHAR15空14新闻回收状态recycle_sta

43、teINTEGER11非空16新闻回收时间recycle_dateDATETIME0空(5) 评论信息表新闻评论表(t_comment)用于存放新闻发布系统中所有新闻的评论信息,方便管理员的浏览以及对它进行删除等操作。表中的“编号”是新闻发布系统中评论信息的惟一标识符,是该表的主键。“新闻编号”用来存储该评论针对的新闻的编号,可以关联到新闻信息表。“评论状态”有三个状态值,值为0代表待审核,值为1代表通过审核,值为2代表未通过审核。表中各个字段的数据类型、大小以及概要描述如表4-5所示。表4-5 评论信息表t_comment序号字段含义字段名类型长度键类型是否非空1编号idINTEGER11主键非空2评论内容ContentVARCHAR100非空3新闻编号news_idINTEGER11外键非空4评论人编号user_idINTEGER11外键非空5评论人commentorVARCHAR20非空6评论时间comment_dateDATETIME0非空7评论状态comment_stateINTEGER11非空5 新闻发布系统的实现5.1 重要代码5.1.1 数据库操作该类将执行对数据库中数据表的操作封装成为一个类,在进行数据库的操作时调用该类即可完成对数据表的增

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1