1、基于web的新闻后台管理系统的设计与实现摘 要随着现代网络信息的发展,人们的生活对信息的传递和要求越来越高。尤其是网络新闻已经融入到了人们的日常生活的方方面面,网络改变生活方式,从网上获取新闻信息成为了一种必须,为满足某些用户对新闻的特殊需求,开发了该新闻管理系统。本新闻系统采用模块化面向对象设计思想,采用Java与JSP技术,通过SSH框架整合进行开发,实现了新闻的数据库写入,新闻信息的管理,其中包括新闻的搜索、添加、修改及删除;实现了网站管理员的注册、登录,实现了新闻浏览者的前台搜索和查阅功能,实现了新闻的详细浏览,新闻发布等功能。关键字:JSP网站开发;web数据库;新闻发布系统News
2、 Background Managing System based on WEBAbstractAlong with the development of modern network information, and peoples life of information transfer and demand is higher and higher. Especially the network news has been integrated into the Peoples Daily life, To meet the special need,this news release
3、system is developed . This News Background Managing System uses the modulation object-oriented design concept, uses Java and the Jsp technology. This news release system realizes the news to the database, the news information management, including news search, add, modify and delete; Realize the sit
4、e manager , login, and can judge manager registered and logged on to ensure the legitimacy of the normal use of the site and management; The news of the front desk to realize your visitors search and access to function, to achieve the news, press releases and browse detailed changes in the judgment.
5、 Key words:JSP website development;web database;press release system 目录第一章 绪论11.1引言11.2系统的研究目的与意义11.3开发工具的选用与介绍21.3.1 JSP基础21.3.2 JSP页面的结构31.3.3JSP的内置对象41.3.4 JSP中存储数据过程41.3.5 Mysql的结构61.3.6 Java开发环境的搭建71.3.7 MyEclipse的使用介绍81.4可行性分析11第二章 需求分析122.1需求说明122.2开发环境122.3管理员功能模块122.4数据流图132.5数据字典132.6用例图15
6、2.7系统总体框架图152.8实体关系图16第三章 系统功能概述183.1系统功能分析183.2系统的概要设计183.3系统模块划分18第四章 系统分析与总体设计204.1总体结构204.2各页面功能分配214.3数据库设计214.4创建数据表21第五章 详细设计与实现255.1目录结构与公用模块介绍255.2管理系统登录界面275.3管理系统主页面305.4添加新管理员305.5管理员关系查看以及管理325.6新闻类型添加335.7添加文字新闻335.8浏览、管理文字新闻345.9管理员个人信息的管理35第六章 测试376.1系统测试376.2单元测试37参考文献40IV基于Web的新闻后台
7、管理系统 绪论第一章 绪论1.1引言 新闻发布系统是新闻传媒不可缺少的部分,它的作用对于新闻的决策者与管理者来说都有着重要意义,所以新闻发布系统应该能够为用户提供充足的信息与快捷的查询手段。但是一直以来人们都是使用传统的人工方式来管理文件和档案,这种管理模式有着许多缺点,例如:效率很低、保密性很差,另外时间一长,将产生大量的文件与数据,这对于查找、更新与维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对网上新闻发布进行管理,具有人工管理所无法比拟的优点.例如:
8、检索效率高、查找便捷、具有高可靠性、存储数据量大、保密效果好、寿命长久、成本低廉等。这些优点使得其能够极大地提高网上新闻发布的效率,时效性好,也是企业结构的科学化、正规化的管理,与世界接轨的必备条件。因此,开发这样一套新闻发布管理系统成为很有必要的事情。 在我国传统的信息传递方式不外乎是通过电视、广播、报纸等媒体传播信息,但通过这类媒体的传递工作常常会受到地域与时间的影响而无法达到预期的效果。这样的机制已经不能适应时代的发展,因为它浪费了许多人力与物力来制作与发表信息,在信息时代这种传统的传播方式必然被计算机为基础的信息管理所取代。随着网络的应用逐渐普及到信息传递与商业行为,大家将焦点渐渐地集
9、中到因特网的身上,由于网络具有实时性,天生就是一种极好的传播媒体,这样就解决了因为地域与时间等带来的问题,我们可以很方便、快捷得从因特网上查看我们所需要的新闻。因此,我们可以通过在网站上成立实时新闻中心,将企业与产品等各种最新消息公布到网站上,实时地发送给所有用户及消费者。1.2系统的研究目的与意义当前大部分的新闻传媒系统实现了网络化与信息化,这样大大提高了办公的效率。当然这样不仅提高了办公效率,而且节省了大量的资源,从而使企业得到了进一步的发展。另外,点击率是网站存活的关键,因此只有最大程度的满足用户的需求,提高点击率,网站才能存活的更久。我们站在用户的立场上为用户提供更切实可靠的需求。另一
10、方面,把后台的工作分的更加细致,让工作人员能通过一键操作完成任务,省时省力,减少财力、人力、物力的浪费,为新闻传媒业实现数字化与网络化提供了极大的帮助。信息化的现代社会,人们已经离不开了网络,网络已经成为人与人之间交流的一种形式,它能够把事情的复杂化转为简单。新闻发布系统的提出对电视,报纸,广播传统的新闻媒介影响很大,从此以后网络也充当了一个重要的新闻媒介的功能。新闻发布系统作为网络传播的核心系统,其重要性是越来越重要:一方面,它提供一个新闻管理与发布的功能;另一方面,现在的新闻发布要求实现与普通的用户实现交互,用户可以很方便地参加一些调查与相关新闻的评论。这使得大家可以方便地在一个网络平台上
11、交流思想,共同探讨一些关注话题。新闻发布者要注意新闻的严肃性与真实性,太过追求实效性新鲜感又不明辨,此外很多国内网站转载他人新闻在网络上发布,侵犯了原创者的知识产权。新闻发布系统是绝大多数商业性网站最常用的系统,它的一个基础作用就是为企业提供信息发布的平台。使用JSP技术可以动态生成新闻静态页面,可以使新闻的发布与管理变得很轻松。网站管理维护人员只需设置标题,内容与图片等新闻信息元素就可以了,系统将自动生成对应的网页。并且系统可以于用户交互,用户可以很方便地参加评论与交流。在新闻发布系统中还使用了Mysql数据库,将能大大减轻维护人员的工作量,使系统便于维护与管理。新闻发布系统作为一个新时代的
12、产物,信息量巨大,早已超出了国界,使遨游世界不再是神话。它摒弃了传统媒体的不足,正在以不可预知的速度向前发展。1.3开发工具的选用与介绍1.3.1 JSP基础JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)与JSP标签,就构成了JSP网页java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Ja
13、va,也可以访问JSP网页。JSP全名为java server page,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以 形式)。JSP与Servlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。Web服务器在遇到访问JSP的网页发出的请求时,开始执行JSP中的程序段,然后就连同JSP文件中的HTML代码和执行的结果一起返回给客户端。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。JSP技术使用Java编程语言编写类XML的tags与scriptlets,来封装产生动态网页
14、的处理逻辑。网页还能通过tags与scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页制作逻辑与网页的设计的显示并且分离出来,支持可以复用的基于组件的设计,使得基于Web的应用程序的项目开发变得极为便捷。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。JSP页面由HTML代码与嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet与JS
15、P配合才能完成。JSP技术具备Java的简洁易用,完全的面向对象,跨平台性且,安全性,主要面向internet的所有特点。1.3.2 JSP页面的结构 JSP本质上就是Servlet。Servlet更善于执行Java代码;JSP更善于向客户端输出文本(HTML/XML/JSON)。所有的JSP在第一次被请求时(之后的请求不再有此过程),会被Web容器转换为一个ServletJava类文件,立即进行编译得到Servlet,接下来的生命周期与普通Servlet一样了。 图1.1 MVC图JSP中嵌入Java的方式(1):嵌入式Java代码块,一个块中可以有多条Java执行语句(2): 输出表达式,
16、作用类似于 (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) 转换为Servlet过程中会被删除(6) 辅助转换Servlet类的内容1.3.3JSP的内置对象内置对象,就是在JSP中无需声明而直接使用的变
17、量这些变量都是jsp转换成Servlet类中的service方法内的局部变量。表1.3 Jsp九大内置对象表对象类型作用Servlet中如何获取HttpServletRequest封装着客户端的所有信息service方法的参数responseHttpServletResponse用于向客户端发出响应数据service方法的参数outJspWriter可用于向客户端发送字符响应数据PrintWriter out = response.getWriter();pageObject = thispage就是Servlet对象page = thisconfigServletConfig对象名super
18、.getServletConfig()pageContextPageContextrequestsession会话application应用exceptionThrowable必须是isErrorPage=“true”的JSP才有此内置对象用于显示上一个页面跳转过来时产生的异常信息 1.3.4 JSP中存储数据过程图1.2 四个范围仓库模型图(1)页面范围(PageScope)pageContext,数据可以在当前页面、当前页面包含的页面中使用;任何其它页面都不能使用保存数据:pageContext.setAttribute(“key”, obj); 取出数据:Object obj = pag
19、eContext.getAttribute(“key”);删除数据:pageContext.removeAttribute(“key”);(2)请求范围(RequestScope)request,数据可以在当前页面、当前页面包含的页面、当前页面请求转发到的下一个页面(两个页面使用的是同一个request对象)中使用用于在有跳转关系的两个页面间传递数据 request.getRequestDispatcher(“下一页面地址”).forward(request, response);保存数据:request.setAttribute(“key”, obj); 取出数据:Object obj =
20、request.getAttribute(“key”); 删除数据:request.removeAttribute(“key”);(3)会话范围(SessionScope)session,一个会话就是一个浏览器在一定的时间内与服务器的多次交互过程,其中可能发生多次不相关的请求-响应。服务器同一时刻可能保持着与多个客户端的会话。Session的本质:是Tomcat在服务器端为每一个不同的客户端分配的唯一的存储空间(具有唯一的ID号)用于在多个不相关的页面间传递数据(被同一个客户端在一段时间内访问),帮助服务器识别不同的客户端;典型应用:记录用户登录名、记录验证码、浏览记录等保存数据:sessio
21、n.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”)
22、;删除数据:application.removeAttribute(“key”); 图1.3 应用范围模型实例图1.3.5 Mysql的结构Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的(1) Connectors指的是不同语言中与SQL的交互(2) Management Serveices & Utilities: 系统管理与控制工具(3) Connection Pool: 连接池。管理缓冲用户连接,线程处理等需要缓存的需求(4) SQL Interface: SQL接口。接受用户的SQL命令,并且返回用户需要查询的结果。比如select from就是调用SQL Interf
23、ace(5) Parser: 解析器。SQL命令传递到解析器的时候会被解析器验证与解析。解析器是由Lex与YACC实现的,是一个很长的脚本。主要功能:a . 将SQL语句分解成数据结构,并将这个结构传递到后续步骤,以后SQL语句的传递与处理就是基于这个结构的b. 如果在分解构成中遇到错误,那么就说明这个sql语句是不合理的(6) Optimizer: 查询优化器。SQL语句在查询之前会使用查询优化器对查询进行优化。他使用的是“选取-投影-联接”策略进行查询。用一个例子就可以理解: select uid,name from user where gender = 1;这个select 查询先根据
24、where 语句进行选取,而不是先将表全部查询出来以后再进行gender过滤这个select查询先根据uid与name进行属性投影,而不是将属性全部取出以后再进行过滤,将这两个查询条件联接起来生成最终查询结果(7) Cache与Buffer: 查询缓存。如果查询缓存有命中的查询结果,查询语句就可以直接去查询缓存中取数据。这个缓存机制是由一系列小缓存组成的。比如表缓存,记录缓存,key缓存,权限缓存等(8) Engine :存储引擎。存储引擎是MySql中具体的与文件打交道的子系统。也是Mysql最具有特色的一个地方。Mysql的存储引擎是插件式的。它根据MySql AB公司提供的文件访问层的一
25、个抽象接口来定制一种文件访问机制(这种访问机制就叫存储引擎)现在有很多种存储引擎,各个存储引擎的优势各不一样,最常用的MyISAM,InnoDB,BDB默认下MySql是使用MyISAM引擎,它查询速度快,有较好的索引优化与数据压缩技术。但是它不支持事务。InnoDB支持事务,并且提供行级的锁定,应用也相当广泛。 Mysql也支持自己定制存储引擎,甚至一个库中不同的表使用不同的存储引擎,这些都是允许的。 图1.4 Mysql结构图1.3.6 Java开发环境的搭建(1)下载安装jdk=javac.exe+java.exe+rt.jar binary library(2)把JAVA_HOME/b
26、in配置到系统环境变量Path中(3)编写Java源文件(4)编译.java得到.class(5)调用JVM,运行“字节码文件中的类”额外:有的软件启动时提示说“需要JAVA_HOME环境变量”,配置方法:右键单击我的电脑属性高级环境变量系统变量新建然后,可以再修改下Path变量的值:可以重启一个命令行窗口,查看修改后的结果: 图1.5 配置环境变量图1.3.7 MyEclipse的使用介绍A.MyEclipse常用快捷键Alt+/ 快速补全 main sysoutCtr+d 快速删除光标所在当前行Tab 善用多用tab键Ctrl+Alt+上/下 快速复制光标所在当前行Ctrl+Z撤销上步操作
27、Alt+上/下快速移动当前行Ctrl+/快速注释/取消注释当前行B.Eclipse中创建项目(project)(1)workspace: 工作空间,eclipse将所有的项目都默认的保存的文件夹图 1.6 新建工作空间图(2).metadata: 元数据,描述数据的数据,eclipse中每个workspace所指定的目录下都自动创建一个这样的目录,以描述该空间下项目文件的特征(如显示字体、是否显示行号.)(3)perspective:视图,eclipse可以进行多种开发,每种开发环境的界面是不一样的(如Java开发界面、调试界面、数据库操作界面、JavaWeb开发界面、Test开发、andro
28、id开发),每种这样的界面称为一个“视图” 图 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可行性分析
29、开发任何一个基于web的系统必定受到时间限制与资源的制约。所以在进行web项目开发之前,一定要根据可用的资源与开发周期等条件来进行可行性分析。可行性分析工作的主要目的不是研究怎么解决具体问题,而是要在最短的时间内花费最少的代价来确定该项目能否具有实际开发的可行性。可行性分析主要包括经济可行性分析,技术的可行性分析,运行、操作可行性分析,法律可行性分析以及进行开发的方案选择。常规的可行性分析应该从以下这几步来进行:(1)复查初步分析的结果。要求对系统进行初步的分析并得到结果以及对报告书进行复查,改正描述不清晰的语句,然后重新来确定系统的目标以及规模,清晰地描述关于系统的个个约束条件。(2)研究已
30、有的条件。找出其基本的功能以及基本信息,指出其不足或局限性的缺陷。(3)导出新系统的高层逻辑结构模型。用特定的工具导出系统高层的逻辑结构模型,并与现有的系统比较。(4)导出新系统的高层物理结构解法,提出更多可以选择的解决方案,并且对所有方案的经济的可行性、技术的可行性、运行与操作的可行性等进行详细的分析比较。(5)推荐建议的方案。假如系统分析员认为值得开发,那么必须指出开发的价值意义、提出推荐方案理由,并且为推荐的系统拟定一份开发计划,并且提交可行性分析报告等所有文档。倘若分析员认为没有开发的意义,那么也要拿出充分理由说明。(6)评审、复审与决策。可行性分析研究最后必须通过技术的评审以及管理的
31、复审,开发的那方与客户那方或者使用部门的负责人需要根据成本-效益分析等各项可行性分析研究的结论,做出是否继续这项工程的决策。本系统属于新闻信息发布与管理系统类。用户对功能上的要求不是很复杂,而且有强大工具与框架环境支持。新闻发布系统后台管理对新闻做了详细的分类,前台以分版块形式显示新闻的详细信息,满足了人们浏览新闻时分类查看新闻信息的要求,前台提供搜索新闻信息功能,方便浏览者查找相关的新闻信息新闻。新闻发布系统后台由管理员进行管理维护,保证了网站的安全性与权威性,所以本系统是十分可行的。40基于web的新闻后台管理系统 需求分析第二章 需求分析2.1需求说明目前,网页制作如火如荼,网站建设热火
32、朝天,及社会的竞争是越来越激烈,各厂家及生产公司都在不断的提高生产的产品质量,特别是企业网站的发展正在关键的时刻,各商家都在最后的冲刺、网页月月改版,信息日日更新,这时他们就得借助媒体来提高他们的产品的知名度,而新闻发布系统就是一种很好、很现代的工具。JSP是一种简单的、安全的,性能非常之高的、动态的脚本语言。JSP可以用来开发Web应用程序,JSP具有较高的执行效率,强大的数据库支持与网络支持,具有多平台特性与极大的开放性与扩充性,拥有广泛的应用前景。 通过相关调研,要求该系统应具有以下功能:(1)通过网络浏览各类新闻及发表评论。(2)新闻能分类显示相关信息。(3)提供站内新闻的搜索功能。(
33、4)为后台管理提供管理入口。(5)后台管理员能编辑各类新闻并且管理新闻与评论。2.2开发环境为了保证新闻发布系统运行的效率与可靠性,服务器应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端:Windows2000/XP,Internet Explorer(IE) ,Dreamweaver 8等。服务器端:Windows2000/ WindowsXP,Internet Information Server (IIS)4.0及其以上版本,IE6.0以上版本等;或者Windows98,Personal
34、 Web Server(PWS),IE等。数据库:采用Mysql,运行于服务器端。服务器:Tomcat7.0.32硬件环境:主机:CPU Pentium 4以上,内存256M以上。2.3管理员功能模块(1)管理员可以进行板块管理,对新闻版块进行添加、修改与删除操作。(2)管理员可以对自己的登录密码进行修改操作。(3)管理员可以对新闻评论管理,对评论进行添加、修改与删除操作。(4)管理员可以对各个新闻版块的新闻信息管理,对新闻信息进行添加、修改与删除操作。2.4数据流图当数据处在软件系统中进行移动时,它就会被一系列的“变换”修改。数据流图(DFD)就是一种基于图形化的技术,它描绘的信息流和数据从
35、输入移动到输出的整个过程中所经受到的变换。在数据流图中并没有任何具体物理部件,它仅仅是描绘各种数据在软件系统中的流动以及被处理的整个逻辑过程。数据流图就是整个系统逻辑的功能图形表示形式。数据流图的符号说明如图2-1所示:外部项 加工 数据存储 数据流图2.1数据流图图例根据调查材料,明确系统外部项,识别数据输入的来源与输出的去处,自顶向下逐层扩展整个系统的逻辑功能。如图2-2示。D1:管理员信息存储,D2:新闻板块信息管理员新闻版块新闻内容用户新闻信息存储新闻D2D1新闻内容查看管理图 2.2数据流图2.5数据字典建立数据字典是为了对数据流程图上各个元素做出详细的定义与说明。数据字典以一种准确
36、的与无二义的方式定义所有被加工引用的数据流与数据存储。数据流程图配以数据字典,就可以从图形与文字两个方面对系统的逻辑模型进行描述,从而形成一个完整的说明。数据字典有助于数据的进一步管理与控制,为设计人员与数据库管理人员在数据库设计、实现与运行阶段控制有关数据提供依据。数据字典描述的主要内容有:数据流、加工外部项、数据存储、数据元素。(1)数据流:用单箭头表示,如。是由一组固定成分的数据组成,用来表示数据流向。数据流图描述的就是数据流,而非控制流。除了流向数据存储或从数据存储流出的数据不需要命名以外,每个数据流都必须要拥有一个合适的名称,以反映出这个数据流的含义。(2)加工:用圆或椭圆表示,如。
37、描述从输入数据流到输出数据的转换,也就是输入数据流需要经过什么处理过程后才能变成输出数据。每个加工都会有一个对应的名称和编号。编号能反映该加工出于分层的数据流图的具体层次和哪张图中的位置,能够看出它是由哪一个加工分解出来的子加工。(3)数据存储:用双杠(带一边开口,一边闭合)表示。数据存储用来表示暂时存储的数据。每个数据存储都仅有一个名称与之对应。表2.1数据字典管理员信息名字:管理员信息存储 。编号:D1。描述:存储后台管理员信息。定义:ID号+管理员账户+管理员密码。位置:管理员表。表2.2数据字典新闻信息名字:新闻信息存储。编号:1。 描述:存储新闻信息。定义:新闻编号+新闻类别编号+新
38、闻标题+新闻内容+发布时间。位置:新闻信息表。表2.3数据字典新闻版块信息名字:新闻版块信息。编号:D2。描述:存储版块信息。定义:版块编号+版块名称。位置:新闻版块信息表。2.6用例图用户浏览新闻首页评论图2.3用户用例图管理员新闻管理登录评论管理图2.4管理员用例图2.7系统总体框架图数据层设计数据服务配置系统信息表示层应用层用户接口层 图2.5系统总体框架图2.8实体关系图新闻发布系统的数据库设计中,首先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,可采用ER图进行数据结构分析。ER图是概念模型最常用的表示方法,在ER图中:(1)用长方形表示实体型,在框内写上
39、实体名。(2)用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连,在无向边旁标上联系的类型。若实体间的联系也具有属性,则把属性与菱形也用无向边连上。新闻发布系统的ER图所示:管理员(管理员账号,密码);新闻信息(新闻编号,类别编号,新闻标题,新闻内容,新闻图片相对路径,发布时间,点击率);新闻版块(版块编号,版块名称);评论信息(评论编号、评论对应的新闻编号、评论者姓名、评论内容、评论时间)。图2.6新闻发布系统E-R图图2.7 管理员E-R图图2.8 新闻内容E-R图图2.9 新闻类别E-R图基于web的新闻后台管理系统 系统分析与总体设计第三章 系统功能概述新闻网
40、站添加新闻倘若使用的是静态网页作为新闻的页面,那么维护工作就会非常繁琐复杂,管理员每天都需要制作大量的网页,从而浪费很多时间与精力。使用新闻发布系统可以使新闻发布与管理变得更为轻松,管理员只需要设置标题、内容与图片等就可以了,系统将会自动生成相对应的网页。下面将对新闻发布系统进行系统功能分析。3.1系统功能分析新闻发布系统主要功能如下。(1)用户管理功能,用户可以浏览新闻信息、发表评论。(2)新闻版块信息显示与管理功能。(3)管理员管理功能,管理员负责整个新闻发布系统的后台管理。(4)新闻内容显示与管理功能。(5)管理员可以修改自己的登录密码。3.2系统的概要设计本系统是基于JSP+SQL的W
41、EB应用系统,采用B/S模式。B/S模式的优势是系统开发、维护与升级方便,管理成本较低。用户界面一致,使用简单,可以从不同的地点,以不同的方式访问与操作;一般客户机都不需要去额外安装新软件,只需要安装浏览器就可进行操作。便于管理维护,应用程序运行在服务端,这样方便管理员对系统的管理、更新与升级,降低服务端与客户端之间的依赖性,同时通过了应用程序代码的安全性,有效地保护系统平台与服务端的数据库的安全。3.3系统模块划分 新闻发布系统主要分三大功能模块:前台系统功能模块,该后台系统功能模块,公共模块,其中前台与后台模块为重点,下图为前台模块图。浏览新闻标题新闻发布系统前台用户浏览模块浏览新闻发表时
42、间查看新闻信息搜索新闻新闻搜索模块图3.1前台模块图失败管理员登录检查管理员登录添加新闻修改新闻新闻信息管理新闻版块信息管理删除新闻修改管理员密码新闻版块分类浏览版块新闻标题修改新闻内容浏览新闻,编辑新闻浏览新闻内容删除新闻内容保存评论信息退出系统图3.2 后台模块图第四章 系统分析与总体设计4.1总体结构系统功能模块的划分,是在需求分析基础上进行的,是把具有复杂功能的系统通过设计分解为具有基本独立,功能简单,容易实现等特点的多个功能模块。模块划分的好处是,由于组成系统模块基本是相对独立的,功能很明确,因此便于开发人员对模块进行独立开发、维护与修改,而不会影响整个系统中的其他模块。模块的划分应
43、该遵循低耦合,高聚合的划分原则。耦合的高低可以表示模块之间联系程度的强弱。聚合表示一个模块内部组成之间的联系程度。低耦合就表示模块之间的联系越弱,反之,则联系程度强。耦合度越低,说明模块之间相互联系越弱,依耐性小,则相互间产生影响与连锁反应的概率就会越小。也就是说当某个模块出现故障或者需要修改与维护时,对系统其他模块产生的影响就小。该原则有助于提供系统的可维护性与可扩展性。失败管理员登录页面检查管理员登录页面添加新闻修改新闻新闻信息管理新闻版块信息管理删除新闻修改管理员密码新闻版块分类浏览版块新闻标题修改新闻内容浏览新闻,编辑新闻浏览新闻内容删除新闻内容保存评论信息退出系统图4.1后台系统功能
44、模块流程图4.2各页面功能分配新闻发布系统页面功能如下。(1) addAdmin.jsp:添加新管理员(2) addNewsCategory.jsp:添加新闻类别(3) addTextNews.jsp:添加文字新闻(4) AdminInfo.jsp:管理员基本信息的录入(5) adminList.jsp:管理员列表(删除管理员页面)(6) left.jsp管理系统布局(7) listTextNews.jsp:文字新闻关系查看(可对新闻进行删除、修改的页面)(8) login_succ.jsp:登录成功的页面(9) login2.jsp:管理员登录页面(10) logout_succ.jsp:退出系统页面(11) main.jsp:管理系统主页面(12) NewsCategoryList.jsp:新闻类型查看页面(可实现