基于Java的CMS系统的设计与实现毕业设计.doc_第1页
基于Java的CMS系统的设计与实现毕业设计.doc_第2页
基于Java的CMS系统的设计与实现毕业设计.doc_第3页
基于Java的CMS系统的设计与实现毕业设计.doc_第4页
基于Java的CMS系统的设计与实现毕业设计.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

编号 210902212109022108 南京航空航天大学金城学院毕业设计题 目基于Java的CMS系统的设计与实现学生姓名吴静学 号2109022108系 部信息工程系专 业计算机科学与技术班 级21090221指导教师郭慧敏 讲师二一三年六月南京航空航天大学金城学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文)(题目:基于Java的CMS系统的设计与实现)是本人在导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。作者签名: 吴静 2013 年 06 月 03 日 (学号):2109022108 毕业设计(论文)报告纸 基于Java的CMS系统的设计与实现 摘 要CMS系统即Content Management System,意为“内容管理系统”,这里指的“内容”可能包括文件、图片、数据库中的数据甚至视频等你想要发布到网站的信息。本文所研究开发的系统是基于Java的CMS系统的设计与实现,其“内容”是针对数据库中的“新闻”信息进行管理。本系统基于B/S模式,包括两大模块:系统前端和系统后台。系统前端实现了用户登录注册、查看新闻、搜索新闻、添加评论和修改个人资料的功能,系统后台实现了对新闻类型、新闻、发布 、评论和用户管理的功能。本系统开发的创新点是利用模板技术,在发布新闻的时候生成静态的HTML页面,前台用户直接访问这个HTML页面而不需要每次都去访问数据库,这样就大大提高了在用户量较大的时候对新闻页面的并发访问效率。关键词:Java,CMS,新闻Design and Implementation of Java-based CMS systemAbstractCMS system that is Content Management System, meaning content management system here refers to the content may include documents, images, and even video data in the database you want to publish to other web sites. Development of the system studied in this paper is a Java-based CMS systems design and implementation, the Content is for the database in the News information management. The system is based on B/S model, includes two modules: system front-end and back-end systems. Front of the system to achieve a user login register, view news, search, news, add comments, and modify personal data function, the system background to achieve to manager categories, news, publishing, revert, and user functions. The innovation of this system development is the use of template technology,when publish news generate static HTML pages, front desk users to directly access the HTML pages without the need to access the database every time, thus greatly improving the user a large amount of when the news page of concurrent access efficiency.Key Words:Java; CMS; News目 录摘 要iAbstractii第一章 引 言- 1 -1.1 系统设计背景- 1 -1.2 关键技术介绍- 2 -1.3 本文主要内容- 3 -第二章 总体方案设计- 4 -2.1 系统设计的目标- 4 -2.2 系统处理流程- 4 -2.2.1 系统前台流程图- 4 -2.2.2 系统后台流程图- 5 -2.3 系统功能模块设计- 5 -2.4 系统设计分析- 6 -第三章 数据库设计- 8 -3.1 系统数据流程图描述- 8 -3.2 概念结构设计- 8 -3.3 物理结构设计- 9 -3.4 出错处理设计- 11 -第四章 系统功能模块的具体实现- 12 -4.1 数据库与后台连接的实现- 12 -4.2 数据库创建表- 13 -4.3 系统主页面设计- 13 -4.4 包含各种对用户的逻辑方法- 13 -4.5 CMS系统的关键实现- 13 -第五章 系统运行与测试- 14 -5.1 系统运行环境- 14 -5.2 系统前端运行- 14 -5.2.1 进入首页- 14 -5.2.2 查看新闻- 15 -5.2.3 搜索新闻- 16 -5.2.4 用户登录和注册- 18 -5.2.5 修改个人信息- 19 -5.2.6 添加评论- 19 -5.2.7 注销登录- 21 -5.3 系统后台运行- 21 -5.3.1 后台首页- 21 -5.3.2 查询新闻- 22 -5.3.3 添加一条新闻- 23 -5.3.4 浏览新闻- 24 -5.3.5 发布新闻- 24 -5.3.6 删除新闻- 26 -5.4 系统的测试- 27 -第六章 总结与展望- 29 -参考文献- 30 -致 谢- 31 -附 录- 32 - 36 - 第一章 引 言1.1 系统设计背景随着Internet的飞速发展,软件开发模式也由传统的C/S(客户/服务)模式转化为现在的B/S(浏览器/服务器)模式。而作为一种安全性比较高的语言,Java就成为服务器端编程的较好选择,于是在各种Web应用程序中,纷纷采用Java作为首选的编程语言1。在Java Web的开发领域中,不仅有Sun公司提供强大及技术支持,而且还有大量的开源社区推出各种开源的Java项目,这一切使得Java Web的开发日益繁荣。而精通Java Web开发的软件工程师也越来越受各大软件公司的欢迎 。关于JSP背景,JSP是由Sun公司倡导、许多公司参与,于1999年推出的一种动态网页技术标准。JSP是基于Java Servlet及整个Java体系的Web开发技术,利用这一技术可以建立安全、跨平台的先进动态网站,这项技术还在不断的更新和优化中。JSP以Java技术为基础,又在许多方面做了改进,具有动态页面与静态页面分离,能够脱离硬件平台束缚,以及编译后运行等优点,JSP已成为Internet上的主流开发工具。虽然动态JSP技术给我们提供了功能强大的操作能力,但是在方便的同时也给我们带来性能上的不足,因为每次访问同一个页面都要连接数据库,生成网页内容等,一旦网页数量变大,访问量变大以后整个服务器就承受不了这种压力2。总结缺点如下:(1)页面制作无序,网站风格不统一,大量信息堆积,发布显得异常沉重;(2)内容繁杂,手工管理效率低下,手工链接视音频信息经常无法实现;(3)应用难度较高,许多工作需要技术人员配合才能完成,角色分工不明确;(4)改版工作量大,系统扩展能力差,集成其它应用时更是降低了灵活性;对于网站建设和信息发布人员来说,他们最关注的系统的易用性和的功能的完善性,因此,这对网站建设和信息发布工具提出了一个很高的要求。首先,角色定位明确,以充分保证工作人员的工作效率;其次,功能完整,满足各门道把关人应用所需,使信息发布准确无误。比如,为编辑、美工、主编及运维人员设置权限和实时管理功能。此外,保障网站架构的安全性也是用户关注的焦点。能有效管理网站访问者的登陆权限,使内网数据库不受攻击,从而时刻保证网站的安全稳定,免于用户的后顾之忧3。根据以上需求,一套专业的内容管理系统CMS应运而生,所谓的CMS系统即Content Management System的缩写,意为内容管理系统,是一种位于WEB前端(Web 服务器)和后端办公系统或流程(内容创作、编辑)之间的软件系统。内容管理解决方案重点解决各种非结构化或半结构化的数字资源的采集、管理、利用、传递和增值,并能有机集成到结构化数据的商业智能环境中,如OA,CRM等。内容的创作人员、编辑人员、发布人员使用内容管理系统来提交、修改、审批、发布内容。这里指的内容可能包括文件、表格、图片、数据库中的数据甚至视频等一切你想要发布到网站的信息4。内容管理系统CMS有效解决了用户网站建设与信息发布中常见的问题和需求,它的作用就是生成固定的页面直接给用户访问,极大提高了页面访问率。本系统基于Java的CMS系统的内容Content主要体现在新闻,即可以理解为一个新闻发布系统。系统的总体设计目标分为前端和后台两部分,任何用户都可以通过系统前端阅读新闻,而只有注册的用户才可以评论新闻;管理员通过核定的管理员账号登录后台可以对系统中的类型、新闻、发布、评论以及注册的用户进行管理。1.2 关键技术介绍(1)访问数据库的JDBCJDBC(Java DateBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关心数据库提供统一访问,它由一组用Java语言编写的类和接口的组成5。访问数据库,程序员只需用JDBC API写一个程序就够,它可向相应的数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只需写一遍程序就可以让它在任何平台上运行,这也就是java编写一处,处处运行的优势。简单的说,JDBC可以做三件事:与数据库建立连接、发送操作数据库语句并处理结果。在Dao中进行操作。(2)设计模式MVCMVC全名是Model View Controller,是模型(Model)-视图(View)-控制器(Controller)的缩写,是一种软件设计典范6。视图是用户看到并与之交互的界面,有HTML元素组成,比如系统中供用户看到的jsp系统界面。模型表示企业数据和业务规则,相当于系统的核心业务service。而控制器接收用户的输入并调用模型和视图去完成用户的请求,所以当当即Web界面中超链接和发送Html表单时,控制器本身不输出任何东西和做任何处理。它本身只是接收请求并决定调用哪个模型构建去处理,然后再确定用哪个视图来显示返回的数据,相当于本系统的Action。简单的说也就是用户在浏览器上的页面(View)中发出请求给Action(Controller),然后Action调用Service(Model)去完成请求并用View显示给用户看。(3)采用框架Struts2Struts2是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模式来开发Web应用的时间。应用Struts2的好处主要体现在两个方面,Taglib和页面导航。Taglib是Struts的标签库,使用标签库可以直接取得页面中的值,只要页面变量名和Action的变量名保持一致并提供Set和Get方法,框架封装了取值的代码,用起来很方面,不用写Session,直接可以利用Struts标签库中的标签来取值7,在本系统中就是用了Struts2的这个好处。(4)开发模式B/SB/S结构(Browser/Server,浏览器/服务器模式),是Web兴起后的一种网络结构模式,Web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到了服务器上,简化了系统的开发、维护和使用。客户机上只需要安装一个浏览器如Internet Browser,服务器如Tomcat,浏览器端的用户就可以通过Web Server同数据库进行数据交互。B/S最大的优点就是无论在何地,只要有电脑而不需要安装任何软件就可以使用。本系统利用了Tomcat服务是B/S的开发模式的系统,使用方便8。1.3 本文主要内容在本文中,我所讲的主要内容是高效的动态网站系统的设计,具体章节的安排如下:第一章:引言,本章中主要介绍了系统的背景及本文的主要内容;第二章:总体方案设计,本章介绍了该系统的设计目标及处理流程;第三章:数据库设计,本章介绍了该系统中的数据是如何管理的;第四章:功能模块的具体实现,本章详细介绍了本系统具体是怎么实现的;第五章:系统运行与调试,本章中介绍了该系统的运行环境及操作步骤;第六章:总结与展望,本章介绍了做系统的时候的一些想法。最后,衷心的感谢老师的教导,并列举出参考文献。第二章 总体方案设计2.1 系统设计的目标本系统在网上进行操作,为用户带来了方便,用户足不出户就可随时查看新闻。同时对于发布新闻的管理员来说,减少了一定的资源浪费,减少了纸张和墨水,给浏览者以新的视觉感受。2.2 系统处理流程2.2.1 系统前台流程图系统前台主要是查看新闻和对新闻添加评论,具体流程如下:(1)输入地址,进入系统前台;(2)查看新闻;(3)登录之后添加评论;(4)对评论和修改个人信息点击提交保存数据。系统前台流程如图2.1所示开 始进入前台(查看新闻)用户登录(前台)用户名、密码 输入错误 添加评论、修改个人信息 输入正确 退出系统图2.1 系统前端处理流程图2.2.2 系统后台流程图本系统的后台处理是通过登录口令登陆后台来实现的,具体处理流程如下:(1)输入地址,进入后台登录口令界面,输入登入口令;(2)通过验证后,进入系统(若输入有误则重新输入用户名和密码);(3)进入系统,管理新闻类型、新闻、发布、评论和会员;(4)对每个模块管理都是点击提交保存数据。后台系统处理流程如图2.2所示:开 始 进入后台(登录界面)输入错误用户名、密码 输入正确类型、新闻、发布、评论、用户的管理 退出系统图2.2 系统后台处理流程图2.3 系统功能模块设计通过对CMS系统的功能需求分析,可知系统的功能有:系统前台和后台管理。系统功能按照功能模块图进行设计。CMS统功能模块设计如图2.3所示:用户注册用户注册及登录用户登录查看新闻新闻中心搜索新闻系统前台对新闻进行评论会员中心查看修改个人信息增加删除新闻类型新闻类型修改新闻类型根据条件查询添加删除新闻CMS系统 新闻管理发布新闻浏览具体内容查看未发布新闻后台管理根据条件查询发布管理删除发布根据条件查询评论管理删除评论根据条件查询用户管理修改或删除用户图2.3 CMS系统功能模块设计层次图2.4 系统设计分析本系统主要有两大模块:系统前端和系统后台,其中前台和后台中又分为各自不同的小模块。(1)系统后台只有特定的管理员成功输入用户名和密码才可以登录后台,而且这个管理员只能修改信息并且不能被删除掉,系统一存在此管理员账号就存在。进入后台后对分别对新闻类型,新闻,发布,评论还有用户进行管理,主要是对其进行增删查改操作,且这些实体之间都有联系,在删除的时候务必要小心。例如:如果想删除一个新闻,必须保证没有评论引用此条新闻,否则将删除失败。突出点:发布新闻的时候要读取jsp文件生成html文件以便前台读取数据使用。这是CMS技术在这个系统中使用的关键部分。数据过多则产生滚动条,以便所有数据都有显示。(2)系统前端首先用户进入的是新闻中心,新闻中心中有各种不同类型的新闻,用户点击对应的新闻类型可以查看其对应很多新闻链接,同时用户还可以查看评论和对新闻进行评,但是一般用户是不可以进行新闻评论的,这就牵扯到登录和注册的模块,只有注册过的用户才可以对新闻进行评论,同时登录成功之后用户可以对自己的信息进行管理,包括修改用户名和密码等等。突出点:点击新闻标题查看新闻链接的是后台发布生成的html文件。数据过多则产生滚动条,以便所有数据都有显示。 第三章 数据库设计MySql数据库是一个开放源码的小型关联式数据库管理系统,用起来方便稳定,占用的空间比较小,比较适合小型的系统9。所以本系统采用此数据库。3.1 系统数据流程图描述本系统的数据流程是通过管理员以及用户的正确操作来实现的,当用进入新闻中心后,系统在数据上会自动记录用户的操作,通过Web服务器展现在网页浏览器中给用户看。其他操作亦如此。系统数据的工作过程示意图3.1所示: 数据库服务器 Web服务器 网页浏览器图3.1 数据库系统的工作过程示意图3.2 概念结构设计基于Java的CMS系统的设计与实现分为两个部分,前台和后台。前台对应着普通用户,而普通用户则只能进行查看新闻和对新闻进行评论。根据分析,系统前端E-R图如图3.2所示。发布新闻类型新闻评论查看标题内容添加前台用户图3.2 前台E-R图而系统后台则对应着管理员,可以管理任何信息,包括新闻类型、新闻、发布和评论的管理,同时各部分模块都有各自对应的属性。系统后台E-R图如图3.3所示时间内容URL时间标题内容类型名新闻类型新闻评论发布联系方式用户名 管理密码状态后台用户图3.3 后台E-R图3.3 物理结构设计数据库设计是系统设计中相当关键的环节,它是上层应用的基础。根据系统功能需求分析,不难抽出系统中的一些实体对象,包括类型、新闻、发布、评论、用户。本系统数据库中各个数据表的字段定义和说明如下:(1)category(新闻类型表),存放新闻类型,入表3.1所示:表3.1 新闻类型表category字段名称类型大小读写非空约束默认值描述idint4w/rPK用户idnamevarchar20w/r新闻类型名(2)news(新闻表),存放新闻信息,如表3.2所示:表3.2 新闻表news字段名称类型大小读写非空约束默认值描述idint4w/rPK新闻iduserId int4w/rFK1用户的idcategoryIdint4w/rFK类型idtitle varchar50w/r新闻的标题content varchar2000w/r新闻的内容(3)publish(发布表),存放已发布的新闻信息,如表3.3所示:表3.3 发布表publish字段名称类型大小读写非空约束默认值描述idint4w/rPK新闻idnewsIdint4w/rFK用户的idurlvarchar500w/r发布地址publishTimetimestampw/rCURRENT_TIMESTAMP发表新闻的时间(4)revert(评论表),存放用户评论的信息,如表3.4所示:表3.4 评论表revert字段名称类型大小读写非空约束默认值描述idint4w/rPK新闻iduserId int4w/rFK用户的idpublishIdint4w/rFK发布idcontentvarchar500w/r评论内容revertTimetimestamp w/rCURRENT_TIMESTAMP评论新闻时间(5)user(用户表),存放用户的信息,如表3.5所以:表3.5 用户表user字段名称类型大小读写非空约束默认值描述idint4w/rPK用户iduserName varchar20w/r用户登录名passwordvarchar20w/r用户登录密码phone varchar20w/r用户联系电话emailvarchar20w/r用户邮箱status booleanw/rfalse标识是否是管理员3.4 出错处理设计本系统采用了典型的人-机对话模式,若操作失败则会有错误信息提示。出错处理对策:用户可以根据显示的提示信息进行相应的处理。安全保密设计:本系统设计了密码验证登陆窗口,具有权限控制。 第四章 系统功能模块的具体实现利用MyEclipse集成开发环境新建一个Web Project,如图4-1所示。单击图4.1中的next按钮,在对话框的Project Name文本框中输入项目名称“CMS”,点Finish完成创建,如图4.2所示。 图4.1 新建WebProject 图4.2 输入工程名4.1 数据库与后台连接的实现系统中,JDBC即Java DataBase Connectivity standard负责整个系统与数据库的连接和关闭操作,主要分为6个步骤:(1)注册驱动(2)获得连接(3)获得操作对象(4)执行操作对象(5)获得结果集(6)关闭连接以根据用户名查找用户为例,代码详见附录。4.2 数据库创建表创建数据库create database CMS charset utf8;以用户表user为例,创建user表的代码详见附录。其他表在数据库中的创建与用户表user的创建时类似的。4.3 系统主页面设计系统利用Struts2的ognl表达式来取数据数据,以前台为例。主页面(frame.jsp)用frameset来分为三个部分,第一部分是显示新闻类型导航菜单;第二部分是系统模块的标签,如登录,个人资料,注销系统等;第三部分则用于主要的功能界面。即各种操作的显示,是根据用户操作来变化的。frame.jsp主要代码详见附录。4.4 包含各种对用户的逻辑方法(1)系统创建了创建了与数据库对应实体包entity包,里面封装了与数据库表对应的实体对象,以用户表对应的User.java类为例,详细代码见附录。(2)系统对应的核心的逻辑业务定义在service包中,service只进行核心业务操作,而与数据库的链接则交由负责jdbc部分的dao包中,核心业务以login()为例,详细代码见附录。(3)Struts2利用action进行页面的调整,以CmsAction.java中登录为例。对应的login方法代码和Struts对登录action配置,详细代码见附录。4.5 CMS系统的关键实现一个CMS系统,其内容可能分为多种,就像摘要中提到的,可能是图片、可能是视频、可能是数据库中的信息如新闻等。不论是哪种类型的内容,但其CMS系统关键就是采用模板技术,其技术的核心不在于内容本身,而在于读取内容的方式。通常读取到的内容是直接从数据库中获得,而CMS系统的体现就是,查看的内容是从静态页面中获得,而不用每次都要访问数据库。针对本系统,其实现原理就是新闻一旦发布一般不会改变其内容,而就是利用这个特点在后台发布新闻的时候,读取显示新闻内容的jsp页面,生成对应的html文件,然后在前台只要链接这个html,每次查看新闻内容是通过访问这个html而不是访问数据库,这就是CMS系统提高效率所在。其后台读取文件的代码和前台实现链接的代码详见附录。 第五章 系统运行与测试5.1 系统运行环境操作系统:Windows、Linux等系统环境;开发工具:MyEclipse;服务器:Tomcat6.0服务器;数据库:Mysql数据库。5.2 系统前端运行5.2.1 进入首页将项目部署到Tomcat服务器上之后,启动服务器,在浏览器中输入URL地址访问系统首页,URL地址为:http:/localhost:8080/CMS/qian/show_frame。进入首页后,用户可以进行“查看新闻”、“搜索新闻”、“用户登录和注册”、“修改个人信息”、“添加评论”、“注销登录”如图5.1所示。图5.1 系统前端首页5.2.2 查看新闻(1)将鼠标放在“一汽-大众母亲节感恩回馈 特价车签售会!”的标题上后,提示栏地址为:http:/localhost:8080/CMS/qian/do_newsContext.action?publish.id=29&news.id=31,如图5.2所示。图5.2 鼠标放在标题上(动态)(2)点击标题“一汽-大众母亲节感恩回馈 特价车签售会!”后进入内容页,在新闻的内容页并可查看评论。评论列表将在下面步骤中进行展示。如图5.3所示。图5.3 查看新闻内容(动态)(3)点击新闻类型导航菜单,如“汽车”,鼠标放在“一汽-大众母亲节感恩回馈 特价车签售会!”,而提示栏地址则为:http:/localhost:8080/CMS/upload/31.html,这就是CMS技术的体现,读新闻直接读取html文件。如图5.4所示。图5.4 鼠标放在标题上(静态)(4)点击标题“一汽-大众母亲节感恩回馈 特价车签售会!”进入内容页后可以看出访问内容的效果和动态(图5.3)访问内容效果是一样的,评论列表将在下面步骤中进行展示。如图5.5所示。图5.5 查看新闻内容(静态)5.2.3 搜索新闻(1)如果搜索栏输入为空,则显示所有的新闻列表。如图5.6所示。图5.6 输入为空(2)在标题中输入“朱自清”,则显示标题中带有“朱自清”的新闻列表,图5.7所示。图5.7 输入标题(3)在标题中输入“朱自清”,并在开始时间输入“2013-06-01”,显示的则是标题中带有朱自清字眼,并且在“2013-06-01”之后的新闻列表,没有“2013-06-01”之后的新闻,所以查询为空,如图5.8所示图5.8 输入标题和开始时间(4)在结束时间中输入“2013-06-01”,则可以搜索到“2013-06-01”之前的所有新闻,如图5.9所示。图5.9 输入结束时间5.2.4 用户登录和注册(1)点击用户登录,输入用户名和密码,如果输入错误则会报错,如图5.10所示图5.10 用户登录(2)如果没有账号可以点击登录界面(图5.10)的“点击这里注册”进行用户注册,用户名和密码不能为空,注册成功后会有相应的提示如图5.11所示图5.11 用户注册5.2.5 修改个人信息(1)点击个人资料,因为用户没有登录无法查看个人资料,则进入登录页面进行登录,方可显示个人资料,则显示登录用户的信息,如图5.12所示图5.12 个人资料前登录(2)用admin账号登录成功后,再次点击个人资料,可以进行个人信息修改,如果输入不合法则会有相应的提示,如图5.13所示。图5.13 修改个人资料5.2.6 添加评论(1)添加评论前,随机查看一条新闻的评论列表,如图5.14所示图5.14 评论前(2)添加评论如“你好,欢迎进入我的新闻管理系统。”,如图5.15所示。图5.15 添加评论(3)添加评论后的新闻列表和图5.14比较,则会看到多出了刚加的一条评论,如图5.16所示。图5.16 评论后5.2.7 注销登录点击注销登录后,进入登录界面,并提示注销成功!如图5.17所示,那么这样之后还可以向以上那样查看新闻等。图5.17 注销账号5.3 系统后台运行5.3.1 后台首页(1)在浏览器中输入http:/localhost:8080/CMS/hou/show_login进入登录界面成功登录后进入后台首页,显示的是最新的一些评论情况。如图5.18所示。后台有新闻类型,新闻、发布、评论、用户的管理,各部分功能类似,以下以新闻管理为例。图5.18 后台首页(2)点击新闻管理进入新闻管理页面如图5.19所示,可以进行“查询新闻”、“增加新闻”、“浏览新闻”、“发布新闻”、“删除新闻”。图5.19 新闻管理5.3.2 查询新闻(1)在新闻标题中输入为空则查询所有新闻,如图5.20所示图5.20 输入为空查询(2)在新闻标题中输入如“一”,则查询标题中带有“一”字的所有新闻,如图5.21所示。图5.21 输入标题查询5.3.3 添加一条新闻(1)添加新闻前列表如图5.22所示图5.22 增加新闻前(2)添加一条新闻,选择类型“网尚文摘”,输入标题“祥林嫂”,输入内容“祥林嫂啊。”,如图5.23所示。图5.23 添加新闻(3)点击添加新闻后,新闻列表如图5.24所示。图5.24 添加新闻后5.3.4 浏览新闻(1)点击祥林嫂后面的浏览,如图5.25所示。图5.25 点击浏览(2)点击浏览后,查看新闻,则显示刚才添加的内容,如图5.26所示。图5.26 浏览新闻5.3.5 发布新闻这里要说明一下:“添加新闻”和“新闻发布”是两个不同的概念。添加新闻仅仅是把新闻的标题和内容添加到新闻表中,如果没有发布,那么这条新闻始终属于后台,用户在前台根本看不到这条新闻。而新闻的发布则是把新闻表中的这条新闻展示给用户看。以新闻ID为34的新闻为例,点击发布之后,34号新闻将被存在发布表中(代表着前台用户可以看到这条新闻了),同时读取“显示34号新闻内容的jsp页面”,将读取后的信息存入34.html中,最后将存储34.html的路径存于发布表中。这就是我们前台直接访问的静态页面。一条新闻只能被发布一次。如果已被发布,则会有相应的提示。发布具体步骤如下:(1)鼠标放在“朱自清的背影春”的发布,如图5.27所示图5.27点击发布(2)点击“朱自清的背影春”的“发布”后,因为此文已被发布,所以提示“新闻已被发布请勿重新发布”,如图5.28所示。图5.28 发布失败(3)点击“发布管理”,发布列表如图5.29所示。图5.29 发布前列表(4)点击“xxx”的发布后,“xxx”的新闻id为36,因为此文未被发布则显示发布成功如图5.30所示。图5.30 发布成功(5)点击“发布管理”,发现新闻ID为36的新闻已被发布成功,如图5.31所示图5.31发布后列表5.3.6 删除新闻(1)在5.3.3章节添加了一条标题为“祥林嫂”的新闻,删除前如图5.32所示。图5.32 删除前(2)将鼠标放在“祥林嫂”后的“删除”,如图5.33所示。图5.33 删除新闻(3)点击删除后,返回新闻列表,看到标题为“祥林嫂”的新闻已被删除,并提示删除成功,删除后如图5.34所示。图5.34 删除成功后列表5.4 系统的测试在开发软件系统的过程中,面对错综复杂的问题,人的主观认识不可能完全符合客观现象,与工程密切相关的各类人员之间的通讯和配合也不可能完美无缺,因此,在软件生命周期的每个阶段都不可避免地会产生错误。在每个阶段结束之前通严格的技术审查,尽可能早的发现所有差错。此外,在编码过程中还会不可避免地引入新的错误。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误10。在5.2节,主要是针对各个模块的测试,如果想让系统更完整则需要系统测试,比如用户评论后,前后台是否一致并且保持同步,针对这种情况,我进行了以下登录测试和评论测试。说明如下:登录测试的目的是为了测试出系统能否正常使用,评论的测试则是对前后台数据是否同步进行测试。1.登录功能的测试:测试内容:用户的登录测试测试目的:当用户登录成功后,是否有提示并且各功能按钮是否可以使用,登录不成功,是否有相应的提示预置条件:用户名:aaa 密码:111测试流程:打开界面输入用户名和密码点击确定按钮预期结果:不输入或输入不正确时,将提示,输入正确后,各功能按钮应该可以使用测试结果:达到预期结果2.评论功能的测试:测试内容:用户评论功能的测试测试目的:当在前台进行评论时,前台评论列表和后台评论管理功能是否有相应的显示预置条件:在前端评论一新闻,如:XXX汽车真酷测试流程:打开界面前台点击新闻类型如汽车打开列表选择新闻评论前台评论列表 打开界面后台点击评论管理 预期结果:看到用户的评论,可以删除测试结果:达到预期结果3.静态访问测试:测试内容:点击新闻标题查看新闻测试测试目的:当点击新闻标题时候,是不通过数据库访问静态html还是通过数据库访问动态jsp预置条件:将鼠标放在任意一条新闻标题上测试流程:打开界面前台点击新闻类型如汽车打开列表选择新闻鼠标放在新闻标题上预期结果:在浏览器提示栏会看到访问的链接是XXX.html文件测试结果:达到预期结果第六章 总结与展望本系统是B/S开发模式,采用MVC模型,利用了JSP、JDBC、Struts2技术完成的。本系统主要分为三个功能模块,一是用户的登录和注册,二是前台浏览新闻,三是后台管理。这个系统体现了B/S开发模式的优点,即用户只要在浏览器输入请求便可以做自己想做的事,比如浏览新闻,比如添加评论,比如管理个人信息,而其请求的处理则由服务器来实现。MVC模型的使用,让我的系统实现了JSP页面和核心业务的分离,使得设计的代码得到了优化,也使得系统便于维护。对于新闻内容的读取部分,除了首页,其他类型的新闻则是使用CM模板技术直接进入静态页面进行读取,减少了对数据库的访问,使得系统效率有了很大的提高。为什么首页不用静态页面呢,为了体现我这个系统是用JSP动态技术做的,所以首页就留用JSP技术的。这次毕业设计让我学到了很多,并且也帮助我复习了很多知识,如Struts2,JDBC等,之前这些技术一直在使用的时候,很熟练的不要参照任何东西,而做这次设计,我还是翻阅了资料,因为有些东西忘记了。所以说,要想不忘记一些知识就要经常去使用去回想,这样才会孰能生巧。这个设计又提醒了我,要经常巩固旧的知识并学习新的知识才会让自己的技术更进一步。希望在此基础上,在以后的工作中做出更完美的系统。参考文献1 陈刚. Eclipse从入门到精通M. 北京:清华大学出版社, 2005.2 Elliotte Rusty Harold. Java网络编程(中文版 第三版)M. 北京:中国电力出版社,2005.3 孙卫琴. 基于MVC的JavaWeb设计与开发M. 北京:电子工业出版社,2004.4 Gary Cornell. JAVA核心技术:卷基础知识M. 机械工业出版社.5 林信良. Java JDK 7学习笔记M. 清华大学出版社.6 乔帕,吉恩德. ApacheTomcat6高级编程M. 人民邮电出版社,2009.7 James Turner, Kevin Bedell. Struts Kick StartM. SAMS,2004.8 任泰明. 基于B/S结构的软件开发技术M. 西安电子科技大学出版社,2006.9 苏俊. 数据库基础教程M. 人民大学出版社,2004.10 Ron Patton. Software TestM. SAMS,2008.致 谢在这毕业设计即将完成之际,首先感谢南京航空航天大学金城学院给我们这样一个良好的学习环境,再次感谢转本以来各位老师认真的教导我们,他们的认真负责,才让我学到了更多的知识,才让我在做毕业设计时不感到迷茫。想想两年前进的学校,就这么一晃,两年就过去了,两年中我学到了很多知识,在论文即将完成之际,无论是否得到好评,我都想说,我的系统的每个页面,每个业务都是我努力思考并实施的结晶,我论文的每一章每一句都是我辛勤的汗水。三个月的时间很是短暂,感谢这个期间给我意见和建议的老师和朋友,很高兴认识你们。最后感谢所有参加评审我论文和参加我答辩的老师,谢谢您抽出宝贵的时间来参加我的毕业见证!您给的意见和建议我都会虚心的采纳,在此祝愿所有的老师工作顺利,生活开心。附 录1根据用户名查找用户的JDBC主要代码:Class.forName(driver);/注册驱动con=DriverManager.getConnection(url,username,pwd);/获得连接String sql=new StringBuffer()/获得操作对象.append(select * from user ).append(where userName=? ).toString();/ps=con.prepareStatement(sql);/处理操作对象/此处省略rs=rs=ps.executeQuery();/获得结果集-可选2创建数据库user表的语句:create table user(-用户表id int(4) primary key auto_increment,userName varchar(20) NOT NULL,password varchar(20) NOT NULL,phone varchar(20) NOT NULL,email varchar(20) NOT NULL,status boolean NOT NULL default false);3frame.jsp主要代码: 4User.java类代码:public class User implements Serializable private int id;private String userName;private String password;private St

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论