基于JSP的新闻发布系统的设计与实现含源文件.docx
- 文档编号:29162476
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:20
- 大小:141.52KB
基于JSP的新闻发布系统的设计与实现含源文件.docx
《基于JSP的新闻发布系统的设计与实现含源文件.docx》由会员分享,可在线阅读,更多相关《基于JSP的新闻发布系统的设计与实现含源文件.docx(20页珍藏版)》请在冰豆网上搜索。
基于JSP的新闻发布系统的设计与实现含源文件
基于JSP的新闻发布系统的设计与实现
内容提要:
将数据库同java/web设计相结合,重点讲述了基于JSP的新闻发布系统的设计与实现。
设计工具采用的是myeclipse并采用了struts架构,实现了网站新闻的动态管理,可以用来动态发布新闻信息,对新闻信息的发布,增删查改等各种操作。
通过开发一个与实际应用相结合的新闻发布系统软件深入学习和理解了软件的初步开发流程。
关键词:
新闻发布系统B/S架构JSPSTRUTSJAVABEAN
1.绪论
选题的意义
Internet的蓬勃发展,使新闻的传播方式发生了巨大的变化,传统的信息传播媒体电视、广播、报纸已经不再是人们茶余饭后的主要精神甜点,人们更多的开始关注网络新闻。
由于互联网所容纳的信息量大、内容丰富、信息及时、准确,更有相关信息的全面的介绍与比较,大大地方便了人们的阅读,因此在短短几年的时间里,互联网便济身于众多媒体之间,并具有相当一部分媒体人群。
借此东风,新闻网也迅速发展起来,它内容丰富,涉及到商业、工业、农业、银行、财政、教育、娱乐、信息等各个产业,信息量大,不仅有实事新闻,还有相关的行业信息,同时新闻网具有互联网所具备的一切特性。
在全球网络化、信息化的今天,新闻网迅速发展,大大地丰富了人们的生活,不知不觉中,它已经成为人们生活中不可或缺的重要组成部分。
新闻发布的研究现状
新闻发布系统是一个新闻单位不可缺少的部分,它的内容对于新闻的决策者和管理者来说都至关重要,所以新闻发布系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对网上新闻发布进行管理,具有着手于管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高网上新闻发布的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
本系统可以将杂乱无章的信息经过组织,合理有序地呈现在大家面前.当今社会是一个信息化的社会,新闻作为信息的一部分有着信息量大,类别繁多,形式多样的特点,新闻发布系统的概念就此提出.新闻发布系统的提出使电视不再是唯一的新闻媒体,从此以后网络也充当了一个重要的新闻媒介的功能.简单地说,新闻发布系统就是充当一个网络新闻媒介的功能,主要实现对新闻的分类,上传,,发布,模拟了一般新闻媒介的新闻发布的过程,通过不同权限的账号分别实现以上所说功能,当然这些功能也可以是某一个账号全部具有。
传统的报纸杂志已经远远满足不了人们的需求,人们更加希望于能够在网上了解更多的新闻和信息,网页逐渐融入人们的生活,快速及时地浏览新闻,获取五彩缤纷的网上信息,已成为人们日常生活的一部分。
毕业设计解决的主要问题
本毕业设计“新闻发布系统的设计与实现”将解决的主要问题如下:
(1)前台新闻信息的搜索及浏览。
(2)对新闻添加删除修改的页面不同间的传值,展示各行业新闻及相关信息
(3)后台数据如何传到前台显示,并在多个不同的页面之间显示
(4)设置新闻人物投票功能,并统计投票数量。
(5)支持其他网站的友情链接,为后台管理提供管理入口。
2.B/S架构的新闻发布系统的概述
系统的概念
B/S架构就是browser/server即浏览器与服务器,用户在前台浏览器界面浏览搜索新闻信息,管理员登陆后台对新闻信息类型以及管理员权限进行一系列操作,对后台数据库的一系列操作会及时更新后反映到前台浏览器界面,实现信息交互。
可行性分析
2.2.1经济可行性
从经济可行性角度考虑,这时所说的经济,并不专指物质经济,当然也包括效益经济。
要运行基于WEB的校园新闻发布系统,当然是必须添加一些网络及硬件设备,这也就必然比传统信息传播在物资设备方面要投入更多财力。
从效益经济来看,运行这套在线新闻发布系统,不光可以省去许多信息传递时间,甚至在信息化的今天为信息及时更新,信息及时传达等带来不小的便利。
综合上面论述,在线新闻发布系统的开发与设计在经济角度来说是利大于弊,是非常值得实施的。
2.2.2技术可行性
从技术可行性角度考虑,随着网络技术的深入发展,一些网络办公系统,政府服务软件,在线聊天娱乐软件等等网络应用软件也成功开发并投入运营了,在社会中产生了不小的社会与经济效益。
HTML作为一种样式语言,随着Internet上信息量的增多和交互性的加强使HTML显得越来越难以胜任的情况之下,在JSP编程语言高度发展的形式下,我们开始了对新闻发布系统的开发。
运用现在软件业流行的技术成熟的ASP、JSP等开发语言,以及高效率,易操作VisualInterDev等开发工具,再借鉴别人成功开发的宝贵经验,在线新闻发布系统是完全可以开发出来的。
系统的主体架构及开发工具
2.3.1主体架构介绍
该系统主要用到Struts架构,主要是MVC模式即模型(Model)-视图(View)-控制器(Controller)。
(1)视图是用户看到并与之交互的界面,视图是向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。
视图可以向模型查询业务状态,但不能改变模型,视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
主要包括一些JSP页面及HTML文件。
(2)模型是应用程序的主题部分。
模型表示业务数据和业务逻辑,一个模型能为多个视图提供数据。
由于一个模型可被多个视图重用,所以提高了应用的可重用性。
主要包括一些JavaBeans和java文件
(3)控制器接受用户的输入并调用模型和视图去完成用户的需求。
当WEB用户单击WEB页面中的提交按纽来发送html表单时,控制器接受请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
主要包括一些xml控制文件。
(4)MVC的处理过程就是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理;然后模型根据用户的请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
2.3.2B/S模型的MVC框架图
在基于B/S模型的新闻发布系统中,控制器在整个系统的作用很关键,处于中心位置,视图上的关键操作要经由控制器来提供,图1展示了B/S结构的模型图:
图1B/S模型图
2.3.3开发平台概述
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,JavaScript,SQL,Hibernate。
MyEclipse更智能、更快捷、更简单和更便宜通过增加UML双向建模工具、WYSIWYG的JSP/StrutsDesigner、可视化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle数据库开发为业界提供全面的产品。
2.3.4的特征
在结构上,MyEclipse的特征可以被分为7类:
(1).J2EE模型
(2).WEB开发工具
(3).EJB开发工具
(4).应用程序服务器的连接器
(5).J2EE项目部署服务
(6).数据库服务
(7).MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。
MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。
2.3.5开发及运行环境
硬件平台:
CPU:
;
内存:
256MB以上。
软件平台:
操作系统:
WindowsXPServicePack2;
数据库:
SQLServer2000;
开发工具包:
JDKVersion1.6.1;
Web服务器:
Tomcat;
浏览器:
推荐IE7;
3.系统设计
系统功能结构图
新闻网是一个功能完善的新闻类网站,由客户前台新闻浏览和后台新闻管理两大部分组成。
前台功能模块:
前台主要包括新闻分类、显示新闻详细信息、新闻信息查询、新闻人物投票、友情链接、提供后台登录口。
后台管理模块:
后台主要包括后台总管理员设置及密码修改、添加管理员、管理员信息设置、新闻类型管理、新闻详细类型管理、新闻信息管理、链接管理、新闻人物管理、退出后台。
主要功能结构图如图2:
图2系统功能结构图
本网站是根据各行业新闻信息分类进行开发设计的,主要实现如下目标:
分类展示各行业新闻。
显示新闻的详细信息。
设置新闻搜索功能模块。
设置新闻人物投票及投票数统计功能。
提供其他网站的友情链接。
数据库结构设计
本系统数据库采用SQLserver2000数据库,系统数据库名称为news。
数据库news中包含6张表。
数据库中的数据表如下
(1)tb_Link(链接其他网站表)
链接其他网站表主要用于保存其他网站信息。
表tb_Link的结构如表1所示。
表1表tb_Link的结构
字段名
数据类型
长度
是否主键
描述
ID
int
4
是
数据库流水号
Name
varchar
50
否
链接网站名称
Address
varchar
50
否
链接网站地址
IssDate
datetime
8
否
链接网站发布的日期
(2)tb_manager(后台管理员设置表)
后台管理员设置表主要用于保存后台管理员信息。
表tb_manager的结构如表2所示。
表2表tb_manager的结构
字段名
数据类型
长度
是否主键
描述
ID
int
4
是
数据库流水号
Name
varchar
50
否
管理员帐号
Password
varchar
50
否
管理员密码
RealName
varchar
50
否
管理员真实姓名
IssueDate
datetime
8
否
管理员注册时间
mark
varchar
50
否
管理员标识
(3)tb_news(新闻管理表)
新闻管理表主要用于保存各类新闻信息内容。
表tb_news的结构如表3所示。
表3表tb_news的结构
字段名
数据类型
长度
是否主键
描述
ID
int
4
是
数据库流水号
Title
varchar
100
否
新闻标题
Content
text
16
否
新闻内容
Type
varchar
100
否
新闻类型
Style
varchar
50
否
新闻详细类型
IssDate
smalldatetime
4
否
新闻发布日期
(4)tb_newsType(新闻类别表)
新闻类别表主要用于保存新闻类别信息。
表tb_newsType的结构如表4所示。
表4tb_newsType的结构
字段名
数据类型
长度
是否主键
描述
ID
int
4
是
数据库流水号
TypeName
varchar
50
否
新闻类型名称
DateTime
datetime
8
否
新闻类型建立日期
(5)tb_Style(新闻详细类别表)
新闻详细类别表主要用于保存新闻详细类别信息。
表tb_Style的结构如表5所示。
表5tb_Style的结构
字段名
数据类型
长度
是否主键
描述
ID
int
4
是
数据库流水号
stylename
varchar
50
否
新闻详细类型名称
stname
datetime
50
否
新闻类型名称
datename
datetime
8
否
新闻类型建立日期
(6)tb_Vote(新闻人物投票表)
新闻人物投票表主要用于保存新闻人物投票信息。
表tb_Vote的结构如表所示。
表6表tb_Vote的结构
字段名
数据类型
长度
是否主键
描述
ID
int
4
否
数据库流水号
Name
varchar
50
否
新闻人物姓名
Address
varchar
50
否
新闻人物地址
age
varchar
50
否
新闻人物籍贯
Job
varchar
50
否
新闻人物工作
Remark
varchar
50
否
新闻人物备注
Number
int
4
否
新闻人物票数
.网站总体架构
3.3.1网站首页的运行结果
网站前台首页的运行结果如图3所示。
图3网站前台首页运行结果
网站框架图说明如表1所示:
表1网站前台首页页面说明
区域
名称
说明
对应文件
1
网站导航
主要展示网站的旗帜广告和站内导条
2
功能模块
主要用于显示导航模块中的功能
3
内容显示
主要用于显示功能模块中的内容
网站后台首页的运行结果如图4所示。
图4网站后台首页运行结果
网站后台首页中的各部分说明如表2所示。
表2网站后台首页页面说明
区域
名称
说明
对应文件
1
网站导航
主要展示网站的旗帜广告和站内导航条
2
功能模块
主要用于显示导航模块中的功能
3
内容显示
主要用于显示功能模块中的内容
3.3.2类的分布
新闻发布系统是利用Struts框架实现的,新闻发布系统中类的分布如图5所示。
图5类的分布
类存放的文件夹功能如表3所示。
表3类存放的文件夹功能列表
名称
功能
action文件夹
各种方法(增加、删除、修改和查询)的实现
actionform文件夹
取得页面表单数据的java类继承actionform
dao文件夹
类名为(连接数据库的功能)、类名为(字符级转换的类)、类名为(一些固定的取得数据的javabean)
网站主要功能模块设计
3.4.1网站后台主要功能模块设计
新闻发布系统中,后台管理员分为两种:
一个是普通管理员,他可以对新闻类型进行定义,也可以发布新闻、设置投票人数及网站链接;另一个是总管理员,他除了可操作以上功能外,还可以对普通管理员进行设置,总管理员和普通管理员都能通过后台登录页面登录后台。
系统首先对用户输入的账户和密码进行核对。
在前台单击“进入后台”超链接,即可进入到后台登录页面,如图6所示。
图6后台登录页面
总管理员在数据库中是惟一的,总管理员的信息在页面中不会显示出来,在此页面中只能修改自己的密码及对普通管理员进行设置。
用户单击“总管理员设置”超链接,进入总管理员设置页面。
。
总管理员是不能在前台注册的,只能在后台在数据库中加入。
总管理员登陆界面如图7所示
图7总管理员登陆界面
总管理员操作界面如图8所示
图8总管理员操作界面
并不是所有的管理员都能够有这个权利。
注册只能是普通管理员,总管理员登陆后的页面显示的是所有管理员的信息,其操作是可以对普通管理员进行删除和修改权限。
修改权限即将普通管理员升级为总管理员。
普通管理员可以对新闻进行发布修改删除等,显示的信息不会显示出总管理员的信息,只会显示同级的普通管理员信息。
同时可对自己的资料密码进行修改,不得修改删除其他同级的管理员,普通管理员信息如图9
图9普通管理员操作界面
发布新闻是任何管理员登陆后都可以进行的操作,其界面如图10
图10发布新闻信息操作界面
3.4.2网站前台主要功能模块设计
3.4.2.1新闻的显示
这个功能就是新闻的查看,主要用
到了sql语句中的select语句,即显示所有新闻标题及产看操作,所用到的dao里面里的方法。
这将显示在中效果如图11所示。
点击操作里的链接后可查看具体内容。
图11前台新闻信息显示界面
3.4.2.2输入新闻的关键字查找新闻
关键字查找新闻就是在文本框中输入新闻的相关内容,执行SQL语句,查找相关新闻信息,其中的下拉列表框是一个查询的动作,下拉框中有各种查询类型,实现过程与前面的后台新闻相似新闻查找运行结果如图12所示。
图12查询新闻信息界面
4.新闻发布系统关键代码的实现
连接数据库代码的实现
连接数据库是非常重要的,在每次进行业务逻辑操作(增删查改)时都需要连接数据库,本系统数据不是非常大,所以使用了SQL2000数据库软件,同时将连接数据库的代码专门封装于一个类里,在每次连接时只需创建一个类对象即可直接调用方法连接数据库,关键代码如下:
本语言传值
隐藏变量传值
(“flag”);
在链接传值时可能会因编码格式和字符不同出现乱码情况,解决乱码方法有两种
方法一:
在得到值后改变编码方式
Stringname=(“name”);
if(name!
=null)
{bytep[];
try{
p=("8859_1");
name=newString(p,0,,"GB18030");
}catch(UnsupportedEncodingExceptione){
();
}
}
方法二:
写一个通用类每次得到传值时,创建类对象,处理得到的字符串
在后台写好类
publicclassChinese{
publicstaticStringstr(Stringa){
try{
returnnewString("ISO-8859-1"));
}
catch(UnsupportedEncodingExceptionex){
}
returnnull;}}
在前台页面
<%@pageimport=""%>
<%Stringname=("name"));%>
5.新闻发布系统的测试
新闻发布系统测试工作比较顺利,可以实现新闻的查询浏览等,而且后台对管理员新闻发布等操作都能正常进行,链接管理,投票新闻人物也都正常。
基本功能都差不多实现。
但在测试过程中出现了很多问题,如在不同页面同时访问数据库而且执行同样的查询操作时,有时会出现一些小异常程序出现错误等,这是系统不稳定的一方面,是需要改进的方面,还有数据库的传值过程有点烦琐,代码不够规范,且系统安全性也不够也是需要改进的方面。
6.总结与展望
总结
经过精心设计制作和反复地调试工作,基于B/S的新闻发布系统软件基本完成。
软件的功能包括:
发布信息、浏览信息、查询信息,对新闻人物投票,查看投票结果,链接到其他网站,普通管理员注册及资料修改。
可以满足基本的新闻网站的要求,方便了用户。
通过这次毕业设计,我深入学习和理解了基于mvc模式的java/web的设计与开发,熟练掌握了myeclipse这一经典的开发工具,在开发过程中,我不断思考,不断发现问题解决问题,积极查阅书籍,网上查找资料,并且不断转换思路。
在从数据库中取值这方面可以将所有的逻辑操作,增删查改放入一个类中封装起来,调用时更方便,且代码安全性也高,在各种前台查询时也可以同样调用这些类,在传值时,若需要此一个页面上的多个值传到下一个页面,是链接可用链接传值,是提交按纽,则可用脚本语言定位链接并在上面传值,处理乱码时,可直接将代码封装于一个类中,每次调用只需创建一个类对象,或者用javabean调用则可更简单的解决乱码问题。
在页面格式及美观上我还做的不够,我采用的是CSS,html语言写的一些jsp文件,而且网页上面的一些frame嵌套格式上还有一些问题,在今后的工作学习中,我仍会不断的完善它,充实它,使之提供更方便、更准确、更快捷,更全面的服务。
由于时间和技术水平的缘故,本系统还存在着许多方面的工作尚未完善。
比如,实现的功能较少且简单,只能查看浏览新闻,进行一些简单的增删查找工作,系统在可靠性上相对较弱,在系统的更进一步的实现阶段,应提高系统的多功能和稳定性另外,本系统只提供了一些新闻人物投票功能,这些功能也还需要进一步地提高和完善。
展望
随着互连网的普及,网上浏览新闻已成了人们生活中不可缺少的部分。
新闻网站也飞速发展,要更简单易懂且新奇的元素的才能得到大众的喜欢,这需要我们不断的去创新,网络发展实在太快,现在的新闻系统不同于以前只需一些图片文字即可,新型的新闻网站,需要与网名互动,投票留言都必不可少,而且更新必须即使。
且功能要多样化,不仅能看图片看新闻,更多的网民选择的是新意,不仅要美观,而且能适合多媒体,譬如音乐电影播放等,各大新闻网站还会提供一些下载链接等。
在未来的一段时间,新闻网站的发展将会更加迅速,更加趋于功能多样化。
从我国目前的国情来看,信息产业是国际重点促进发展的产业,信息产业面临着难得的机遇。
新闻系统的使用在将随着电脑的普及以及人民对各种知识和社会信息的求知的渴望度的增加而增加,同时对新闻发布系统软件的功能和性能的要求也会越来越高。
参考文献:
[1]孙卫琴编著.《精通Struts:
基于MVC的JavaWeb设计与开发》[M].北京:
电子工业出版社,2005年版,496页
[2]张立科编著.《Java数据库系统开发实例导航》[M].北京:
人民邮电出版社,2004年版,420页
[3]王诚梅,袁然,王艳编著.《Jsp案例开发集锦》[M].北京:
电子工业出版社,2005年版,340页
[4]赛奎春主编,《工程应用与项目实践》[M].:
北京:
机械工业出版社,2005版,340页
[5]明日科技,刘彬彬,马文强著,《Eclipse应用开发完全手册》[M].北京:
,2007版,506页
[6]明日科技,王国辉等主编,《JavaWeb开发技术方案宝典》[M].北京:
人民邮电出版社,2008版,748页
[7]武延军,黄飞越等编著,《精通JSP编程技术》[M].北京:
人民邮电出版社,2006版,428页
[8]JSP教程技巧[EB/OL]2009-4-5
[9]struts2中jsp页面replace的使用[EB/OL]2009-4-10
[10]对JSP页面传值中文乱码的简单解决方法[EB/OL]2007-08-05
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JSP 新闻 发布 系统 设计 实现 源文件