基于web的新闻系统的设计与实现.docx
- 文档编号:26505213
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:51
- 大小:1.22MB
基于web的新闻系统的设计与实现.docx
《基于web的新闻系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于web的新闻系统的设计与实现.docx(51页珍藏版)》请在冰豆网上搜索。
基于web的新闻系统的设计与实现
基于web的新闻后台管理系统的设计与实现
XXX
(XXXXXXXXXX,XXXXXXXXX)
摘要
随着现代网络信息的发展,人们的生活对信息的传递和要求越来越高。
尤其是网络新闻已经融入到了人们的日常生活的方方面面,网络改变生活方式,从网上获取新闻信息成为了一种必须,为满足某些用户对新闻的特殊需求,开发了该新闻管理系统。
本新闻系统采用模块化面向对象设计思想,采用Java与JSP技术,通过SSH框架整合进行开发,实现了新闻的数据库写入,新闻信息的管理,其中包括新闻的搜索、添加、修改及删除;实现了网站管理员的注册、登录,实现了新闻浏览者的前台搜索和查阅功能,实现了新闻的详细浏览,新闻发布等功能。
关键字:
JSP网站开发;web数据库;新闻发布系统
NewsBackground ManagingSystembasedonWEB
Deng Riqin
(CollegeofInformationScienceand Engineering,Jishou University,Jishou,Hunan416000)
Abstract
Along with thedevelopmentofmodernnetworkinformation,andpeople'slifeofinformationtransfer and demandishigherandhigher.Especiallythenetworknews hasbeenintegratedinto thePeople's Dailylife,To meetthe special need,thisnewsreleasesystemisdeveloped.
ThisNewsBackgroundManagingSystemusesthemodulationobject-orienteddesign concept,usesJava andtheJsptechnology.Thisnewsreleasesystem realizes thenewstothedatabase,thenewsinformationmanagement,including news search,add, modifyanddelete;Realizethesitemanager ,login,andcan judgemanagerregisteredandloggedontoensure thelegitimacyofthenormaluseofthesiteandmanagement; Thenews ofthefrontdeskto realize yourvisitorssearchandaccess tofunction, toachievethenews,pressreleasesand browse detailedchangesin thejudgment.
Key words:
JSP websitedevelopment;webdatabase;pressreleasesystem
第一章绪论ﻩ1
1.1引言1
1.2系统的研究目的与意义ﻩ1
1.3开发工具的选用与介绍2
1.3.1JSP基础2
1.3.3JSP的内置对象4
1.3.4JSP中存储数据过程4
1.3.5Mysql的结构ﻩ6
1.3.7MyEclipse的使用介绍ﻩ8
1.4可行性分析11
第二章 需求分析ﻩ12
2.1需求说明12
2.2开发环境ﻩ12
2.3管理员功能模块12
2.4数据流图ﻩ13
2.5数据字典ﻩ13
2.6用例图ﻩ15
2.7系统总体框架图15
2.8实体关系图16
第三章系统功能概述ﻩ18
3.2系统的概要设计ﻩ18
3.3系统模块划分ﻩ18
第四章系统分析与总体设计20
4.1总体结构ﻩ20
4.2各页面功能分配ﻩ21
4.3数据库设计ﻩ21
4.4创建数据表ﻩ21
第五章详细设计与实现25
5.1目录结构与公用模块介绍ﻩ25
5.2管理系统登录界面ﻩ27
5.4添加新管理员ﻩ30
5.5管理员关系查看以及管理32
5.6新闻类型添加ﻩ33
5.8浏览、管理文字新闻34
第六章测试ﻩ37
6.1系统测试37
6.2单元测试37
参考文献40
第一章 绪论
1.1引言
新闻发布系统是新闻传媒不可缺少的部分,它的作用对于新闻的决策者与管理者来说都有着重要意义,所以新闻发布系统应该能够为用户提供充足的信息与快捷的查询手段。
但是一直以来人们都是使用传统的人工方式来管理文件和档案,这种管理模式有着许多缺点,例如:
效率很低、保密性很差,另外时间一长,将产生大量的文件与数据,这对于查找、更新与维护都带来了不少的困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对网上新闻发布进行管理,具有人工管理所无法比拟的优点.例如:
检索效率高、查找便捷、具有高可靠性、存储数据量大、保密效果好、寿命长久、成本低廉等。
这些优点使得其能够极大地提高网上新闻发布的效率,时效性好,也是企业结构的科学化、正规化的管理,与世界接轨的必备条件。
因此,开发这样一套新闻发布管理系统成为很有必要的事情。
在我国传统的信息传递方式不外乎是通过电视、广播、报纸等媒体传播信息,但通过这类媒体的传递工作常常会受到地域与时间的影响而无法达到预期的效果。
这样的机制已经不能适应时代的发展,因为它浪费了许多人力与物力来制作与发表信息,在信息时代这种传统的传播方式必然被计算机为基础的信息管理所取代。
随着网络的应用逐渐普及到信息传递与商业行为,大家将焦点渐渐地集中到因特网的身上,由于网络具有实时性,天生就是一种极好的传播媒体,这样就解决了因为地域与时间等带来的问题,我们可以很方便、快捷得从因特网上查看我们所需要的新闻。
因此,我们可以通过在网站上成立实时新闻中心,将企业与产品等各种最新消息公布到网站上,实时地发送给所有用户及消费者。
1.2系统的研究目的与意义
当前大部分的新闻传媒系统实现了网络化与信息化,这样大大提高了办公的效率。
当然这样不仅提高了办公效率,而且节省了大量的资源,从而使企业得到了进一步的发展。
另外,点击率是网站存活的关键,因此只有最大程度的满足用户的需求,提高点击率,网站才能存活的更久。
我们站在用户的立场上为用户提供更切实可靠的需求。
另一方面,把后台的工作分的更加细致,让工作人员能通过一键操作完成任务,省时省力,减少财力、人力、物力的浪费,为新闻传媒业实现数字化与网络化提供了极大的帮助。
信息化的现代社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单。
新闻发布系统的提出对电视,报纸,广播传统的新闻媒介影响很大,从此以后网络也充当了一个重要的新闻媒介的功能。
新闻发布系统作为网络传播的核心系统,其重要性是越来越重要:
一方面,它提供一个新闻管理与发布的功能;另一方面,现在的新闻发布要求实现与普通的用户实现交互,用户可以很方便地参加一些调查与相关新闻的评论。
这使得大家可以方便地在一个网络平台上交流思想,共同探讨一些关注话题。
新闻发布者要注意新闻的严肃性与真实性,太过追求实效性新鲜感又不明辨,此外很多国内网站转载他人新闻在网络上发布,侵犯了原创者的知识产权。
新闻发布系统是绝大多数商业性网站最常用的系统,它的一个基础作用就是为企业提供信息发布的平台。
使用JSP技术可以动态生成新闻静态页面,可以使新闻的发布与管理变得很轻松。
网站管理维护人员只需设置标题,内容与图片等新闻信息元素就可以了,系统将自动生成对应的网页。
并且系统可以于用户交互,用户可以很方便地参加评论与交流。
在新闻发布系统中还使用了Mysql数据库,将能大大减轻维护人员的工作量,使系统便于维护与管理。
新闻发布系统作为一个新时代的产物,信息量巨大,早已超出了国界,使遨游世界不再是神话。
它摒弃了传统媒体的不足,正在以不可预知的速度向前发展。
1.3开发工具的选用与介绍
1.3.1 JSP基础
JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)与JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP全名为javaserverpage,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 <%, %>形式)。
JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web服务器在遇到访问JSP的网页发出的请求时,开始执行JSP中的程序段,然后就连同JSP文件中的HTML代码和执行的结果一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP技术使用Java编程语言编写类XML的tags与scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags与scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页制作逻辑与网页的设计的显示并且分离出来,支持可以复用的基于组件的设计,使得基于Web的应用程序的项目开发变得极为便捷。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码与嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet与JSP配合才能完成。
JSP技术具备Java的简洁易用,完全的面向对象,跨平台性且,安全性,主要面向internet的所有特点。
1.3.2JSP页面的结构
JSP本质上就是Servlet。
Servlet更善于执行Java代码;JSP更善于向客户端输出文本(HTML/XML/JSON…)。
所有的JSP在第一次被请求时(之后的请求不再有此过程),会被Web容器转换为一个ServletJava类文件,立即进行编译得到Servlet,接下来的生命周期与普通Servlet一样了。
图1.1MVC图
JSP中嵌入Java的方式
(1)<%代码;%>:
嵌入式Java代码块,一个块中可以有多条Java执行语句
(2)<%=表达式%>:
输出表达式,作用类似于<% out.println(表达式);%>
(3)<%!
%>:
成员变量/成员方法定义
(4)<%-- --%>:
JSP注释,其中的语句不会执行,也不会发送给客户端(与HTML注释不同)
(5)<%@ %>:
JSP页面指令
JSP转换为Servlet类的过程中,上述内容的转换形式:
(1)所有的HTML/XML标签→ service{out.write(“XML/HTML”); }
(2)<%执行语句;%> →service{执行语句;}
(3)<%=表达式%> → service{out.print(s); }
(4)<%!
成员声明 %> →直接转换为Servlet类的成员属性/方法
(5)<%--JSP注释--%>→转换为Servlet过程中会被删除
(6)<%@指令%>→辅助转换Servlet类的内容
1.3.3JSP的内置对象
内置对象,就是在JSP中无需声明而直接使用的变量——这些变量都是jsp转换成Servlet类中的service方法内的局部变量。
表1.3 Jsp九大内置对象表
对象类型
作用
Servlet中如何获取
HttpServletRequest
封装着客户端的所有信息
service方法的参数
response
HttpServletResponse
用于向客户端发出响应数据
service方法的参数
out
JspWriter
可用于向客户端发送字符响应数据
PrintWriter out=response.getWriter();
page
Object= this
page就是Servlet对象
page = this
config
ServletConfig
对象名
super.getServletConfig()
pageContext
PageContext
request
——
session
会话
application
应用
exception
Throwable
必须是isErrorPage=“true”的JSP才有此内置对象
用于显示上一个页面跳转过来时产生的异常信息
1.3.4JSP中存储数据过程
图1.2四个范围仓库模型图
(1)页面范围(PageScope)——pageContext,数据可以在当前页面、当前页面包含的页面中使用;任何其它页面都不能使用
·保存数据:
pageContext.setAttribute(“key”,obj);
·取出数据:
Object obj=pageContext.getAttribute(“key”);
·删除数据:
pageContext.removeAttribute(“key”);
(2)请求范围(RequestScope)——request,数据可以在当前页面、当前页面包含的页面、当前页面请求转发到的下一个页面(两个页面使用的是同一个request对象)中使用——用于在有跳转关系的两个页面间传递数据request.getRequestDispatcher(“下一页面地址”).forward(request,response);
·保存数据:
request.setAttribute(“key”,obj);
·取出数据:
Objectobj=request.getAttribute(“key”);
·删除数据:
request.removeAttribute(“key”);
(3)会话范围(SessionScope)——session,一个会话就是一个浏览器在一定的时间内与服务器的多次交互过程,其中可能发生多次不相关的请求-响应。
服务器同一时刻可能保持着与多个客户端的会话。
Session的本质:
是Tomcat在服务器端为每一个不同的客户端分配的唯一的存储空间(具有唯一的ID号)——用于在多个不相关的页面间传递数据(被同一个客户端在一段时间内访问),帮助服务器识别不同的客户端;典型应用:
记录用户登录名、记录验证码、浏览记录等
·保存数据:
session.setAttribute(“key”, obj);
·取出数据:
Object obj =session.getAttribute(“key”);
·删除数据:
session.removeAttribute(“key”);
(4)应用范围(ApplicationScope)——application,整个Web应用范围,任何客户端保存的数据,可以在接下来的任何时间点被任何的客户端在任何页面访问到——直到Web应用被取消部署。
·保存数据:
application.setAttribute(“key”,obj);
·取出数据:
Object obj=application.getAttribute(“key”);
·删除数据:
application.removeAttribute(“key”);
图1.3应用范围模型实例图
1.3.5Mysql的结构
Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的
(1)Connectors指的是不同语言中与SQL的交互
(2) ManagementServeices&Utilities:
系统管理与控制工具
(3) ConnectionPool:
连接池。
管理缓冲用户连接,线程处理等需要缓存的需求
(4)SQLInterface:
SQL接口。
接受用户的SQL命令,并且返回用户需要查询的结果。
比如selectfrom就是调用SQLInterface
(5)Parser:
解析器。
SQL命令传递到解析器的时候会被解析器验证与解析。
解析器是由Lex与YACC实现的,是一个很长的脚本。
ﻩ主要功能:
ﻩa. 将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL语句的传递与处理就是基于这个结构的
ﻩb. 如果在分解构成中遇到错误,那么就说明这个sql语句是不合理的
(6) Optimizer:
查询优化器。
SQL语句在查询之前会使用查询优化器对查询进行优化。
他使用的是“选取-投影-联接”策略进行查询。
用一个例子就可以理解:
selectuid,namefromuserwheregender = 1;
这个select查询先根据where语句进行选取,而不是先将表全部查询出来以后再进行gender过滤
这个select查询先根据uid与name进行属性投影,而不是将属性全部取出以后再进行过滤,将这两个查询条件联接起来生成最终查询结果
(7) Cache与Buffer:
查询缓存。
如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。
这个缓存机制是由一系列小缓存组成的。
比如表缓存,记录缓存,key缓存,权限缓存等
(8)Engine:
存储引擎。
存储引擎是MySql中具体的与文件打交道的子系统。
也是Mysql最具有特色的一个地方。
Mysql的存储引擎是插件式的。
它根据MySqlAB公司提供的文件访问层的一个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)
现在有很多种存储引擎,各个存储引擎的优势各不一样,最常用的MyISAM,InnoDB,BDB
默认下MySql是使用MyISAM引擎,它查询速度快,有较好的索引优化与数据压缩技术。
但是它不支持事务。
InnoDB支持事务,并且提供行级的锁定,应用也相当广泛。
Mysql也支持自己定制存储引擎,甚至一个库中不同的表使用不同的存储引擎,这些都是允许的。
ﻩ 图1.4 Mysql结构图
1.3.6Java开发环境的搭建
(1)下载安装jdk=javac.exe+java.exe+rt.jar binary library
(2)把JAVA_HOME/bin配置到系统环境变量Path中
(3)编写Java源文件
(4)编译.java得到.class
(5)调用JVM,运行“字节码文件中的类”
额外:
有的软件启动时提示说“需要JAVA_HOME环境变量”,配置方法:
右键单击我的电脑→属性→高级→环境变量→系统变量→新建
然后,可以再修改下Path变量的值:
可以重启一个命令行窗口,查看修改后的结果:
图1.5配置环境变量图
1.3.7MyEclipse的使用介绍
A.ﻩMyEclipse常用快捷键
Alt+/ 快速补全main sysout
Ctr+d快速删除光标所在当前行
Tabﻩ 善用多用tab键
Ctrl+Alt+上/下 快速复制光标所在当前行
Ctrl+Z撤销上步操作
Alt+上/下ﻩ快速移动当前行
Ctrl+/ﻩﻩ快速注释/取消注释当前行
B.ﻩEclipse中创建项目(project)
(1)workspace:
工作空间,eclipse将所有的项目都默认的保存的文件夹
图1.6 新建工作空间图
(2).metadata:
元数据,描述数据的数据,eclipse中每个workspace所指定的目录下都自动创建一个这样的目录,以描述该空间下项目文件的特征(如显示字体、是否显示行号….)
(3)perspective:
视图,eclipse可以进行多种开发,每种开发环境的界面是不一样的(如Java开发界面、调试界面、数据库操作界面、JavaWeb开发界面、Test开发、android开发),每种这样的界面称为一个“视图”
图1.7 设置界面属性图
ﻩ(4)project:
项目,作为一个企业级开发环境,Eclipse要求所有的文件都必须从属于某个“项目”(如cctv4 CMS系统、吉首大学一卡通系统、湖南地税OA系统、海尔ERP系统)
ﻩﻩ
ﻩﻩﻩ
图1.8项目创建步骤图1
ﻩﻩﻩ
图1.9项目创建步骤图2
ﻩ创建一个Java Project的过程:
ﻩﻩ
图1.10新建一个项目过程图
ﻩ由上图可见,项目中的所有的.java源文件将自动保存入src目录,.class将自动保存入bin目录下
图1.11保存路径图
ﻩ注意:
Eclipse中只要新建或者保存一个源文件,立即自动编译得到.class
1.4可行性分析
开发任何一个基于web的系统必定受到时间限制与资源的制约。
所以在进行web项目开发之前,一定要根据可用的资源与开发周期等条件来进行可行性分析。
可行性分析工作的主要目的不是研究怎么解决具体问题,而是要在最短的时间内花费最少的代价来确定该项目能否具有实际开发的可行性。
可行性分析主要包括经济可行性分析,技术的可行性分析,运行、操作可行性分析,法律可行性分析以及进行开发的方案选择。
常规的可行性分析应该从以下这几步来进行:
(1)复查初步分析的结果。
要求对系统进行初步的分析并得到结果以及对报告书进行复查,改正描述不清晰的语句,然后重新来确定系统的目标以及规模,清晰地描述关于系统的个个约束条件。
(2)研究已有的条件。
找出其基本的功能以及基本信息,指出其不足或局限性的缺陷。
(3)导出新系统的高层逻辑结构模型。
用特定的工具导出系统高层的逻辑结构模型,并与现有的系统比较。
(4)导出新系统的高层物理结构解法,提出更多可以选择的解决方案,并且对所有方案的经济的可行性、技术的可行性、运行与操作的可行性等进行详细的分析比较。
(5)推荐建议的方案。
假如系统分析员认为值得开发,那么必须指出开发的价值意义、提出推荐方案理由,并且为推荐的系统拟定一份开发计划,并且提交可行性分析报告等所有文档。
倘若分析员认为没有开发的意义,那么也要拿出充分理由说明。
(6)评审、复审与决策。
可行性分析研究最后必须通过技术的评审以及管理的复审,开发的那方与客户那方或者使用部门的负责人需要根据成本-效益分析等各项可行性分析研究的结论,做出是否继续这项工程的决策。
本系统属于新闻信息发布与管理系统类。
用户对功能上的要求不是很复杂,而且有强大工具与框架环境支持。
新闻发布系统后台管理对新闻做了详细的分类,前台以分版块形式显示新闻的详细信息,满足了人们浏览新闻时分类查看新闻信息的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 web 新闻 系统 设计 实现