基于SSH的新闻发布系统的设计与实现.docx
- 文档编号:4454451
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:28
- 大小:592.44KB
基于SSH的新闻发布系统的设计与实现.docx
《基于SSH的新闻发布系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于SSH的新闻发布系统的设计与实现.docx(28页珍藏版)》请在冰豆网上搜索。
基于SSH的新闻发布系统的设计与实现
论文(设计)分类号:
本科毕业论文(设计)密级:
基于SSH的新闻发布系统的设计与实现
系院
学科门类
专业学号
姓名
指导教师
教师职称
毕业论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果或作品。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
年月日
毕业论文版权使用授权书
本毕业论文作者完全了解学院有关保存、使用毕业论文的规定,同意学院保留并向有关毕业论文管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权本学院及以上级别优秀毕业毕业论文评选机构将本毕业论文的全部或部分内容编入有关数据库以资检索,可以采用复印、缩印或扫描等复制手段保存和汇编本毕业论文。
声明人签名:
导师签名:
年月日年月日
摘要
本文首先介绍了新闻传播类网站的现状和JSP、SSH等JavaWeb的相关技术,用面向对象的MVC设计思想对新闻发布系统进行系统需求分析、可行性研究。
接着对系统进行了概要设计,列出了主要功能模块,之后在概要设计的基础上确立了各个功能模块的子模块和具体功能,将本系统划分为新闻显示模块、成员管理模块、新闻栏目管理模块、新闻信息管理模块和新闻评论模块。
然后对系统进行数据库设计,根据系统的功能模块的具体功能设计并建立了系统所需的各个表,完成了数据库的逻辑设计。
最后使用SSH集成框架对系统进行代码的编写,使得本系统的数据层代码和表示层代码分离、业务逻辑和表示层分离,同一个模型可以被不同的视图重用,大大提高了代码的可重用性。
基本实现了一个简洁的新闻发布系统所需的功能。
关键词:
新闻发布系统;SSH集成框架;可重用性
1绪论
1.1开发背景
当前,新媒体正以最快的速度迅猛地发展,已在全球范围内成为资本高度聚集、技术飞速发展、影响日益广阔的新兴产业。
而且随着网络技术不断创新和第三代移动通信的兴起,新闻网站正迎来新的机遇,发生新的革命,呈现新的趋势。
(1)网络技术迅猛发展促进新闻网站多媒体的融合。
(2)作为一种交互性的全媒体,新闻网站越来越成为网民表达观点、主张和情感的重要途径之一,成为政府官员与民众就社会发展重大问题交流看法的有效方式。
(3)随着移动终端技术发展和3G网络推广,新闻信息服务的移动化成为新闻网站的重要趋势。
[]
在这种新趋势的影响下,人们上网查阅新闻信息的越来越多,只要你上Internet,你就会不可避免地接触到新闻发布系统。
新闻发布系统大大减轻了网站更新维护的工作量,通过网络数据库的引用,
将网站的更新维护工作简化到只需录入文字和上传图片,从而使网站的更新速度大大缩短,在某些专门的网上新闻站点,如新浪的新闻中心等,新闻的更新速度已经缩短到五分钟一更新,从而大大加快了信息的传播速度,也吸引了更多的长期用户群,时时保持网站的活动力和影响力。
1.2我国新闻传播专业网站的现状及发展
新闻传播专业网站是指以新闻传播信息为主要内容的网站。
自1999年国内首个传媒频道——浙江在线的“中国新闻传播学评论”建立至今,传媒网站规模数量大增,形态逐渐成熟。
据不完全统计,目前传媒网站已达200多个,内容涵盖众多门类和分支;有些已经具有较高专业水准,在业界与学界形成较大影响力。
媒体网站传媒频道是指以新闻媒体所办的母站为依托,以整合业界学界信息为主的网络频道。
人民网、新华网、凤凰网、南方网以及一些省市级媒体的传媒频道逐渐形成亮点,标志媒体网站传媒频道规模形成。
媒体网站传媒频道主要呈现以下特点:
第一,受众广泛、内容兼顾。
与其他传媒网站相比,媒体网站传媒频道的内容更丰富、栏目更细化,以兼顾受众多样化需求。
从栏目设置看,媒体网站传媒频道栏目数量多,上述四大媒体网站传媒频道栏目数量都达到20个以上;从栏目内容看,既有针对学界受众的专业性、资料性强的栏目,又有针对业界受众的实践性、数据性强的栏目,还有针对普通受众的新闻性、争议性强的栏目,各类读者都能在传媒频道各取所需。
第二,品牌栏目效果突出。
内容同质化是传媒频道面临的突出问题,面对这一瓶颈,新闻网站传媒频道都采用增加原创、打造品牌的方式,获得较大成功。
第三,资源整合,互动充分。
新闻网站传媒频道十分重视实时充分的互动:
一是与网友互动,二是与其他媒体互动,三是与专业人士互动,四是与新闻院校互动。
总体看来,作为母站分支,媒体网站传媒频道摆脱不了母站痕迹,但正是依托母站影响力,这些传媒频道才会出现高流量、高点击率和高访问量的人气维持,保持了强劲发展势头。
[]
1.3研究的目标及意义
顾名思义,新闻发布系统是基于B/S模式的网站内容管理系统。
WEB开发的语言,数不胜数,有cgi/perl/ruby所代表的脚本语言,php/jsp/.net所代表的类c语言,asp所代表的basic语言等等。
但是经过这么多年互联网应用中的大浪淘沙,当前主流的也就属php/jsp/.net三大阵营了。
目前在国内PHP与.NET应用相对Java的JSP而言较为流行。
而JSP由于是一种较新的技术,国内采用的较少。
但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
随着Java语言的流行,JSP的应用范围相当广泛,性能也很突出,有着非常好的应用前景,运行效率也有着很大的成长空间。
针对目前新闻发布系统的现状以及目前主流Web开发技术的比较,本文提出使用Java语言的JSP技术进行编写。
为了降低开发复杂度、在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序,采用一套基于MVC设计模式的Struts框架、Spring框架和Hibernate框架组成的集成SSH框架作为开发模型进行开发。
1.4SSH介绍
SSH为Struts+Spring+Hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。
其中使用Struts是系统的整体基础架构,负责MVC的分离,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。
1.4.1Struts
Struts是一个基于J2EE平台的MVC框架,最早是作为ApacheJakarta项目的一部分问世的,其主要是采用Servlet和JSP技术来实现的。
由于Struts框架能充分满足应用开发的需求,并且简单易用,在过去的几年中颇受关注。
Struts框架把Servlet、JSP、自定义标签和消息资源整合到一个统一的框架中,开发人员利用其进行开发时,不用再自己编码来实现全套MVC模式,因此极大地节省了开发时间。
[]
Struts2是实现MVC(Model-View-Controller)设计模式的第二代Web应用程序框架。
它建立在最佳实践以及被证明有效且被社区广泛接受的设计模式之上。
当然第一代的Struts框架也是如此。
实际上,第一代Struts的主要目的是把MVC模式从桌面应用程序引入到Web应用程序。
这个合成的模式偶尔也被成为Model2模式。
这是设计良好的Web应用程序进化过程中非常关键的一步,因为它提供能轻松达到MVC分离的基础设施。
则可以让开发人员根据这些构架方面的细微区别使几个资源以接入到现成的最佳实践解决方案。
[]
1.4.2Spring
Spring为企业应用的开发提供一个轻量型的解决方案。
该解决方案包括:
基于依赖注入的核心机制,基于AOP的声明式事务管理与多种持久层技术的整合,以及优秀的WebMVC框架等。
Spring为J2EE应用的表现层、业务逻辑层及数据持久层都提供了极好的解决方案,因为Spring提供的不仅仅是一种框架,而且提供了一种企业应用的开发规范。
Spring是实际开发的抽象,其提供的"模板设计"大大简化了应用的开发。
Spring的系列Template将通用步骤以优雅的方式完成,留给开发者的仅仅是与特定应用相关的部分,从而大大提高企应用的开发效率。
Spring支持对POJO的管理,能将J2EE应用各层的对象"焊接"在一起,甚至这些对象无须是标准的JavaBean。
[]
1.4.3Hibernate
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
利用Hibernate,开发人员可以按照Java的基础语义进行持久层开发。
Hibernate提供的HQL(HibernateQueryLanguage)是面向对象的查询语言,它在对象型数据和关系型数据库之间构建了一条快速、高效、便捷的沟通渠道。
2001年末,作者GavinKing,正式发布Hibernate第一个版本。
2003年6月8日,Hibernate2的发布为其奠定成功的基石。
同时推出了开发文档(HibernateReference)。
2003年末,Hibernate获得Jolt2004大奖以及Hibernate被JBoss收纳,成为JBoss组织的子项目之一。
2005年3月Hibernate3正式发布。
[]
2
系统的开发方法及相关技术
2.1MVC设计模式
2.1.1MVC简介
MVC是一种设计模式,它强制性地把应用程序的输入、处理和输出分开。
MVC把应用程序分成三大核心模块:
模型、视图和控制器,他们分别担负不同的任务。
图2-1显示了这几个模块各自的功能以及它们的相互关系。
图2-1MVC设计模式
2.1.2MVC处理过程
首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
2.1.3MVC的优点
MVC从根本上强制性地将网页中像数据库查询语句这样的数据层代码和像HTML这样的表示层代码分开,将数据从表示层分离开来,其优势表现在以下三个方面:
首先,多个视图能共享一个模型。
如今同一个Web应用程序会提供多种用户界面,例如用户希望既能通过浏览器来收发电子邮件,还希望通过手机来访问电子邮箱,这就要求Web网站同时提供Internet界面和WAP界面。
在MVC设计模式中,模型响应用户请求并返回响应数据,视图负责格式化数据并把它们呈现给用户,业务逻辑和表示层分离,同一个模型可以被不同的视图重用,所以大大提高了代码的可重用性。
其次,模型是自包含的,与控制器和视图保持相对独立,所以可以方便地改变应用程序的数据层和业务层规则。
如果把数据库从MySQL移植到Oracle,或者把RDBMS数据源改变成LDAP数据源,只需改变模型即可。
一旦正确地实现了模型,不管数据来自数据库还是LDAP服务器,视图都会正确地显示他们。
由于MVC的三个模块相互独立,改变其中一个不会影响其他两个,所以依据这种设计思想能够造良好的松耦合的构件。
此外,控制器提高了应用程序的灵活性和可配置性。
控制器可以用来连接不通的模型和视图去完成用户的需求,也可以为构造应用程序土工强有力的手段。
给定一些可重用的模型和视图,控制器可以根据用户的需求选择适当的模型进行处理,然后选择适当的视图将处理结果显示给用户。
2.2JSP组件
在传统的HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。
Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给用户端的仅为输出结果。
JSP技术大大降低了对用户浏览器的要求,即使用户浏览器端不支持Java,也可以访问JSP网页。
当JSP容器接收到Web用户的一个JSP文件请求时,它对JSP文件进行语法分析并生成JavaServlet源文件,然后对其编译。
一般情况下,Servlet源文件的生成和编译仅在初次调用JSP时发生。
如果原始的JSP文件被更新,JSP容器将检测所做的更新,在执行它之前重新生成Servlet并进行编译。
图2-2显示了JSP容器初次执行JSP的过程:
图2-2JSP容器初次执行JSP的过程
尽管JSP在本质上就是Servlet,但这两者的创建方式不一样,Servlet完全由Java程序代码构成,擅长于流程控制和事务处理,而通过Servlet来生成动态网页很不美观;JSP由HTML代码和JSP标签构成,可以方便地编写动态网页。
因此在实际应用中,采用Servlet来控制业务流程,而采用JSP来生成动态网页。
在Struts框架中,JSP位于MVC设计模式的视图层,而Servlet位于控制层。
[]
2.3开发环境简介
2.3.1Tomcat服务器
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、SUN和其他一些公司及个人共同开发而成。
由于有了SUN的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体验,从Tomcat5版本中开始支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱,并得到了部分软件开发商的认可,现在已经成为目前比较流行的Web应用服务器。
[]
Tomcat是一个小型的轻量级应用服务器,它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;虽然Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用,但是Tomcat是开发和调试JSP程序的首选。
2.3.2MySQL数据库
MYSQL是一个可用于各种流行操作系统平台的关系数据库,它具有客户机/服务器体系结构的分布式数据库管理系统,它完全适用于网络,用其构建的数据库可以在互联网上的任何地方访问,是一个真正的多用户、多线程SQL数据库服务器。
对Linux和OS/2平台,MYSQL基本上是免费的;但对微软平台,在30天的试用期后必须获得一个MYSQL许可证。
SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。
MYSQL是以一个客户机/服务器结构的实现,它由一个服务器守护程序mysqld和很多不同的客户程序和库组成。
MYSQL主要目标是快速、健壮和易用。
它的特点是功能强大、使用简单、管理方便、运行速度快、可靠性高、安全保密性强,而且还可以利用许多语言编写访问MYSQL数据库的程序。
MYSQL的特征使用核心线程的完全多线程,这意味着它能很容易地利用多CPU可运行在不同的平台上;有多种列类型:
l、2、3、4、和8字节长度的有符号/无符号整数、FLOAT,DOUBLE,CHAR,VARCHAR,TEXT,BLOB,DATE,TIME,DATETIME,TIMESTAMP,YEAR,SET和ENUM类型;利用一个优化的一遍扫描多重联结(one-sweepmulti-join)非常快速地进行联结(join);在查询的SELECT和WHERE部分支持全部运算符和函数,通过一个高度优化的类库实现SQL函数库并且像他们能达到的一样快速。
在JAVA语言中有一个程序套件java.sql用于提供给使用者执行数据库结构化查询语言的SQL语句,它提供数据库应用程序开发者一个标准的应用程序接口。
Sun公司另外提供一个SQL的独立版本成为JDBC(JavaDataBaseConnectivity)。
通过sql的接口可以对任何数据库执行SQL指令,换句话说,所执行的SQL与数据库的厂牌无关,不管是Oracle,Access,MySQL,SQLServer等数据库,所设计的SQL语句均适用,所不同的只是系统所调用的数据库驱动程序不同。
[]
3
新闻发布系统分析与概要设计
3.1系统需求分析
伴随着网络的出现,Internet打破了地域的限制,真正使信息得以共享,改变了人们的工作和生活方式。
在这个网络时代,人们了解的新闻不仅仅是来源于电视、报纸等,还来源于网络,网络新闻已经成为大家所认可的浏览新闻的最佳途径。
新闻发布系统就是用来对网络中所要发布的新闻进行一个综合管理的系统,该系统除了可以对要发布的新闻进行添加、删除和修改操作,而且还可以对新闻栏目(类别)进行添加、删除、移动和修改,也可以对新闻发布系统中的管理员账号进行添加、删除和修改。
此外,用户通过访问前台新闻页面可以进行搜索新闻、浏览新闻以及添加评论新闻,登录用户可以对自己的个人信息进行修改,向新闻系统提交稿件以及查看评论信息。
3.1.1数据库需求分析
(1)针对普通用户的需求分析
从普通用户的角色出发,他们所关注的是新闻的浏览,新闻评论和新闻的搜索,关注新闻栏目分类、推荐新闻信息、图片新闻信息及新闻阅读次数等。
针对一般新闻普通用户的需求,可得出新闻发布系统的功能需求信息如下:
1一个新闻栏目对应一个新闻归类。
2一个新闻栏目下可以有多个新闻。
3一条新闻只能属于一个新闻栏目。
4一条新闻应该包含该新闻的ID号、标题、内容、点击次数等信息。
5不同栏目的新闻都可以通过关键字进行搜索。
6每条新闻的评论都向用户开放。
(2)针对管理用户的需求分析
从后台管理员的角色出发,他们所关注的是如何对调整新闻栏目、新闻和评论的添加、修改和删除等管理。
针对后台管理员的需求,可得出新闻发布系统的功能需求信息如下:
1一个管理员管理多个用户。
2一个管理员管理多条新闻信息。
3一个管理员可以管理多个新闻栏目。
4一个管理员可以审核多条评论。
3.2可行性研究
3.2.1经济可行性分析
本系统是新闻单位的一个简单的新闻发布系统,由于访问量不是很大,硬件上仅需要一台联网的计算机,软件上,jdk运行环境、MySQL数据库、Tomcat服务器都是开源免费的,在系统的运行上不需要很大的经济投入,不会有很大的风险,因此在经济可行性方面是可行的。
3.2.2技术可行性
在JavaWeb中,面向对象的MVC框架中SSH已经非常流行。
因此在技术上是可行的。
3.2.3使用方面的可行性
本系统操作简单、界面友好,用户仅需通过浏览器即可访问本系统,实现新闻的浏览与管理功能。
3.3系统概要设计
经上述需求分析及可行性分析,可以确立本系统的主要功能并进行概要设计。
3.3.1系统功能
根据上述需求分析的描述,可以总结出本系统的主要功能如下:
(1)管理员登录、普通用户登录
(2)对新闻进行添加、删除和修改操作
(3)对新闻栏目(类别)进行添加、删除和修改操作
(4)对系统管理员账户进行添加、删除和修改操作。
(5)进行搜索新闻、浏览新闻以及添加评论新闻
(6)对个人信息进行修改操作
(7)提交新闻信息
(8)查看评论信息
3.3.2系统模块
根据上述系统的主要功能,可以将系统分为以下几个模块:
(1)新闻显示模块
新闻显示模块主要包括前台页面上的新闻栏目信息、新闻具体信息及新闻评论信息。
(2)成员管理模块
成员管理模块主要分成管理员管理和用户管理功能。
该模块与其他模块关联不大。
(3)新闻栏目管理模块
新闻栏目管理模块主要包括新闻栏目的添加与修改。
(4)新闻信息管理模块
新闻信息管理模块主要包括新闻的添加、审核、查询。
(5)评论模块
评论模块包括添加评论信息以及管理评论状态。
[]
4
新闻发布系统详细设计
4.1系统的功能模块设计
通过全面分析,本系统可以分为以下几个模块。
4.1.1新闻显示模块
新闻显示模块是直接面向用户的,是操作环境与数据联系的桥梁,主要是用户界面所显示的信息,主要包括首页的显示、新闻栏目的显示、新闻搜索功能、新闻浏览及评论的显示功能。
具体如图4-1所示。
图4-1新闻显示模块
4.1.2成员管理模块
成员管理模块根据用户角色的不同,分为两大类:
普通用户管理和管理员管理。
普通用户为进行注册登记的用户。
用户进入系统要求先登录,登录时要验证用户名和密码。
用户登录后可以修改自己的基本信息,如用户密码、联系方式等,但不允许修改用户名和权限等信息。
管理员则不允许注册,可以由已有的管理员添加一个新的管理员,该管理员可以直接管理其添加的新管理员,可修改其个人信息,进行锁定与删除操作。
另一方面,所有的管理员可以直接管理普通用户,对其进行锁定与删除操作。
具体如图4-2所示。
图4-2成员管理模块
4.1.3新闻栏目管理模块
新闻栏目管理模块:
管理员可以对新闻栏目进行添加、删除、修改操作。
具体如图4-3所示。
图4-3新闻栏目管理模块
4.1.4新闻信息管理模块
新闻管理模块是新闻发布系统中最重要也是最主要的模块。
根据管理内容的不同,可以将该模块分成以下几个子模块:
基本信息管理模块、审核信息管理模块、新闻搜索模块与新闻回收模块。
基本信息管理模块:
普通用户可以进行投稿,类似于管理员的添加新闻,但是管理员可以选择终审通过,直接发布新闻,在遇到紧急新闻时可以选择此操作。
管理员也可以对普通用户的投稿进行修改、删除。
可以对通过审核的新闻添加标志属性(重要/置顶/推荐/热门)。
审核信息管理模块:
管理员可以对用户的投稿进行审核,稿件提交后默认状态为待审核,审核结束后只存在两种状态:
已通过审核和未通过审核。
审核时也可以为新闻添加(重要/置顶/推荐/热门),审核通过的新闻会发布该条新闻,未通过的审核可以选择退稿或者删除。
新闻搜索模块:
用户可以对新闻进行搜索,可以选择标题搜索与内容搜索进行搜索,若查询到结果,用户可以点击新闻结果列表中的新闻链接直接查看该条新闻,未查询到结果则提示用户未搜索到新闻的信息。
新闻回收模块:
管理员在审核新闻的时候难免会出错,因此删除新闻操作默认是删除到回收站,管理员可以从回收站恢复需要的新闻,也可以对不当的新闻进行彻底删除。
具体如图4-4所示。
图4-4新闻信息管理模块
4.1.5新闻评论模块
评论模块包括新闻评论的添加与审核。
浏览者在阅读完文章后可以在页面上发表对文章发的看法,系统将这些评论的内容存入数据库中,由审核员或系统管理员来审核。
审核前的状态为待审核,通过审核的评论直接置状态为已通过审核,不符合标准的则置状态为未通过审核。
具体如图4-5所示。
图4-5新闻评论模块
4.2系统数据库设计
4.2.1概念设计
根据前面的数据库分析得到的数据项,可以设计出满足设计需求的各种实体,以及他们之间存在的互动关系,为接下来的逻辑结构设计做好准备,这些实体包含各种具体信息。
本系统根据上面的设计规划出的实体有:
用户实体、新闻栏目实体、新闻实体、评论实体。
实体之间的关系的E-R图如图4-6和图4-7所示。
图4-6新闻实体与其他实体关系E-R图
图4-7新闻实体E-R图
4.2.2逻辑设计
(1)用户信息表
用户信息表(t_user)用于存放新闻发布系统中所有注册用户的所有信息,方便管理员对用户进行管理。
“本次登录时间”记录了用户本次登录的时间。
“上次登录时间”用于保存用户之前的“本次登录时间”。
表中各个字段的数据类型、大小以及概要描述如表4-1所示。
表4-1用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 SSH 新闻 发布 系统 设计 实现