基于Struts技术的文章管理系统_第1页
基于Struts技术的文章管理系统_第2页
基于Struts技术的文章管理系统_第3页
基于Struts技术的文章管理系统_第4页
基于Struts技术的文章管理系统_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书基于Struts技术的文章管理系统学生姓名:学号:学院:系名:电子与计算机科学技术系专业:网络工程指导教师: 2015年5月基于Struts技术的文章管理系统摘要近年来,Internet技术得到迅速的发展,已经成为计算机产业的一个技术热点。促成Internet高速发展的因素之一就是Web技术。Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。浏览Web有着执行Windows程序一样的感觉和操作性。随着Internet技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库服务等。作为计算机发展最迅速的领域之一的数据库技术,已经形成了一整套独有的理论,并广泛地应用于人们的生产和生活中。数据库技术与网站的结合是当今Web技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以方便地设计出交互式页面,可以构造功能强大的后台管理系统,可以为网站的更新、维护提供极大的方便。因此,作为网络开发者或管理者,数据库知识是必不可少的。本论文首先介绍了文章管理类网站的现状和JSP、Sturts等JavaWeb的相关技术,用面向对象的MVC设计思想对文章管理系统进行系统需求分析、可行性研究。第一章为绪论,介绍国内外背景及现状等;第二章是需求分析,从系统目标,功能,性能,系统运行环境等方面阐述;第三章为系统设计,介绍前后台的数据库设计,各个模块的设计等;第四章为系统实现,具体介绍各个功能模块的实现;第五章为结论。关键字:jsp,Mysql,文章管理系统,SturtsNewswebsiteAbstractInrecentyears,Internettechnologyhasbeenrapiddevelopment,hasbecomeahottechnologyinthecomputerindustry.OneofthefactorsthatcontributedtotherapiddevelopmentofthetechnologyofWebisInternet.ThedevelopmentofWebtechnologymakestheinteractivedynamicpages,organizeddatabasequery,contentrichpagesbecomethemostattractiveWebpage.BrowsetheWebwiththeimplementationofWindowsprogramslikethefeelandmaneuverability.WiththedevelopmentofInternettechnology,ithasbecomeaplatform,foruserstoprovidepowerfulservices,suchasonlineshopping,onlinecommerce,socialinformationdatabaseservicesetc..Asoneofthemostrapidlydevelopingfieldsofcomputerdatabasetechnology,andhasformedasetofuniquetheory,andwidelyusedinpeople'sproductionandlife.ThecombinationofdatabasetechnologyandwebsiteisahottopicincurrentWebtechnology.Withthesupportofthedatabase,canbeextendedWebpagefunction,canbeeasilydesignedinteractivepages,youcancreatepowerfulback-endmanagementsystem,canprovidegreatconvenienceforsiteupdates,maintenance.Therefore,asawebdeveloperoradministrator,thedatabaseknowledgeisessential.ThispaperintroducesthestatusquomanagementclasswebsitesandarticlesJSP,SturtsandotherJavaWebrelatedtechnologies,object-orientedMVCdesignideasforarticlemanagementsystemforsystemrequirementsanalysis,feasibilitystudies.Thefirstchapteristheintroduction,introducesthebackgroundandthepresentsituation;thesecondchapteristhedemandanalysis,thesystemgoal,function,performance,thesystemrunningenvironment;thethirdchapteristhesystemdesign,thedatabasedesignofthebackground,thevariousmodulesofthedesign;thefourthchapteristhesystemimplementation,implementationdetailsofeachfunctionmodule;thefifthchapteristheconclusion.Keywords:JSP,Mysql,articlemanagementsystem,Sturts目录TOC\o目录 I1绪论 11.1论文研究主要内容 11.2背景和研究意义 12需求分析 32.1系统设计目标 32.2功能需求分析 32.3可行性分析 52.4开发环境 52.4关键技术介绍 63系统设计 103.1功能模块设计 103.2系统功能流程图 113.3数据库设计 123.1.1后台数据库设计 133.3.2后台数据库设计 143.3.3概念结构设计 163.3.4逻辑结构设计 183.3.5物理结构设计 184系统实现 224.1数据库连接的实现 224.2业务流程模块的实现 224.3页面的实现 224.3.1前台界面的实现 224.3.2用户注册界面的实现 244.4后台界面的实现 254.4.1管理员登陆页面的实现 264.4.2文章管理页面的实现 285结论 315.1总结 315.2展望 31参考文献 32致谢 34绪论论文研究主要内容近年来,Internet技术得到迅速的发展,已经成为计算机产业的一个技术热点。促成Internet高速发展的因素之一就是Web技术。Web技术的发展使得那些具有交互动态页面、有条理的数据库查询、丰富信息内容的页面成为最吸引人的网页。浏览Web有着执行Windows程序一样的感觉和操作性。随着Internet技术的发展,它已经成为一种操作平台,为用户提供强大的服务,例如网上购物,网上电子商务,社会信息数据库服务等。作为计算机发展最迅速的领域之一的数据库技术,已经形成了一整套独有的理论,并广泛地应用于人们的生产和生活中。数据库技术与网站的结合是当今Web技术的一个热点。有了数据库的支持,可以扩展网页的功能,可以方便地设计出交互式页面,可以构造功能强大的后台管理系统,可以为网站的更新、维护提供极大的方便。因此,作为网络开发者或管理者,数据库知识是必不可少的。在当前社会,信息已成为一种隐型的财富,人们对信息的需求再也不是局限于单纯的电视、报纸等大众途径。随着Internet在中国的发展日新月异,人们在日常生活中也越来越多地使用这项新技术来为自己的工作和生活服务,人们通过网络来获取信息的需求越来越大。基于此种考虑,网络开发者们提出了一种“文章发布系统”,该系统能够实现在线更新最新文章、设置文章分类导航等功能,此外,网站管理员也可在线对后台进行管理,例如文章的修改、删除等操作,以保证文章的及时、准确性。1.2背景和研究意义目前在国内PHP与.NET应用相对Java的JSP而言较为流行。而JSP由于是一种较新的技术,国内采用的较少。但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。随着Java语言的流行,JSP的应用范围相当广泛,性能也很突出,有着非常好的应用前景,运行效率也有着很大的成长空间。针对目前文章管理系统的现状以及目前主流Web开发技术的比较,本文提出使用Java语言的JSP技术进行编写。为了降低开发复杂度、在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序,采用一套基于MVC设计模式的Struts框架、Spring框架和Hibernate框架组成的集成SSH框架作为开发模型进行开发。需求分析2.1系统设计目标本文章发布系统分为前台文章浏览模块和后台文章管理模块。前台文章浏览模块图片的显示;分类文章的显示;文章搜索;文章评论;网站投票。后台管理模块栏目内文章的显示;添加(图片)文章;文章类别的添加删除;已发布文章的添加删除;用户管理;管理员对用户留言的管理;管理员对投票情况的查看。通过以上的前台和后台的功能模块,用户可以方便快捷的浏览到各种各样的特色的文章,而管理员则可以通过后台管理这些文章。使得用户能够浏览到最新的文章。2.2功能需求分析本系统需要具有以下功能:1.由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。2.能够实现文章发布的各项功能,能成功的对用户各种信息进行管理。3.查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。系统采用B/S模式。整个系统最关键的就是数据库系统,一个强大的数据库可以支持完善一个优秀的软件设计,通过软件系统与数据库系统的连接来实现通过软件界面观察和处理操作数据。如图2.1所示:业务服务器业务服务器数据库服务器事务逻辑数据逻辑ClientBrowser表示逻辑Browser表示逻辑JSP网页WWW服务器/业务逻辑服务器JavaBean组件中间件JDBC数据库服务器数据库Mysql2005图2-1系统模式图系统采用三层结构,在客户端用户通过浏览器完成数据下载与模拟操作,浏览器端的表现逻辑通过JSP网页完成。而系统内部复杂的业务逻辑主要通过JavaBean的组件(Component)实现,JavaBean组件在WWW服务器上运行,通过JSP返回到客户浏览器。通过表现逻辑与业务逻辑的分离,使网页内容简洁,系统的可维护性和可扩充性增强。在服务器端,系统使用JDBC中间件访问数据库,数据库服务器定义了本系统所需要的事务逻辑和数据逻辑。本系统使用JSP技术作为表现手段,服务器采用Tomcat6.0.3作为JSP引擎,系统业务逻辑由JavaBean组件完成,使用Hib框架访问数据库。由于系统测试需要成熟的数据库支持,因此系统采用Mysql数据库作为数据库服务器。具体功能图如图2.2所示:图2.2系统功能图2.3可行性分析技术可行性本系统仅需要一台装有Office软件的计算机即可,对机器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件技术要求,现在的程序设计语言已非常成熟,要运用HTML样式,图形图象制作工具来制作生动活泼的网页及美观的图形文件或动画文件。经济可行性由于本系统是为学生学习使用的系统,装上该应用软件,即可使用系统,系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成本。在经济上完全可行。操作可行性界面设计时充分考虑管理人员的习惯,使得操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩充。结论通过经济、技术、操作三个方面的可行性分析,我们认为,即时文章已经越来越被人重视,关于文章发布系统的开发是非常有必要的,而且也是可行的,具有一定的使用价值。2.4开发环境服务起端的最低配置是由建立站点所需要的软件来决定的,在最底配置的情况下,服务器的性能往往不进人意,现在硬件性能已经相当出色,而且价格也很便宜,因此通常应给服务器端配置高性能硬件。本机器的配置如下:处理器:InterPentium41.6Hz或更高。内存:512MB硬件空间:160GB主要采用的技术:数据库:MicrosoftMysql编程语言:JSP服务器:Tomcat6.0.3,jdk1.6开发环境:Windows72.4关键技术介绍1.jsp介绍JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。JSP是由SunMicrosystems公司倡导、许多公司参与建立的一种动态网页技术标准。在传统的网页HTML中加入Java程序片段和JSP标记,就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返给客户。程序片段可以操作数据库、重定向网页以及发送e-mail等等,这就是建立动态网站所需的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅仅是得到的结果,对客户浏览器的要求最低,可以实现无ActiveX,无JavaApplet,甚至无Frame。JSP技术可以让Web开发人员和设计人员非常容易的创建和维护动态网页,特别是目前的商业系统,作为Java技术的一部分,JSP能够快速开发出基于Web、独立于平台的应用程序。JSP把用户界面从系统内容中分离开来,使得设计人员能够在不改变底层动态内容的前提下改变整个网页布局。一个JSP网页就是在HTML网页中包含了能够生成动态内容的可执行应用程序代码。此应用程序可能包含JavaBean,JDBC对象,EnterpriseJavaBean(EJB)对象,所有的部分都可以非常容易的从JSP网页上访问到。2.MacromediaDreamweaver简介Dreamweaver是美国Macromedia公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。Dreamweaver是唯一提供RoundtripHTML、视觉化编辑与原始码编辑同步的设计工具。它包含HomeSite和BBEdit等主流文字编辑器。帧(frames)和表格的制作速度快的令您无法想像。进阶表格编辑功能使您简单的选择单格、行、栏或作未连续之选取。甚至可以排序或格式化表格群组,Dreamweaver支援精准定位,利用可轻易转换成表格的图层以拖拉置放的方式进行版面配置。所见即所得Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给Third-party厂商,包含ASP,Apache,BroadVision,ColdFusion,iCAT,Tango与自行发展的应用软体。3.Mysql数据库简介Mysql是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的。于1988年推出了第一个OS/2版本在WindowsNT推出后Microsoft与Sybase在Mysql的开发上就分道扬镳了。Microsoft将Mysql移植到WindowsNT系统上专注于开发推广Mysql的WindowsNT版本。Sybase则较专注于Mysql在UNIX操作系统上的应用在本文中介绍的是MicrosoftMysql以后简称为Mysql或MSMysql。MicrosoftMysql的特性包括:1Internet集成。Mysql数据库引擎提供完整的XML支持。它还具有构成最大的Web站点的数据存储组件所需的可伸缩性、可用性和安全功能。Mysql程序设计模型与WindowsDNA构架集成,用以开发Web应用程序,并且Mysql支持EnglishQuery和Microsoft搜索服务等功能,在Web应用程序中包含了用户友好的查询和强大的搜索功能。2可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行MicrosoftWindowsXP的便携式电脑,到运行MicrosoftWindows2000数据中心版的大型多处理器服务器。Mysql企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大Web站点所需的性能级别。3企业级数据库功能。Mysql关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。Mysql分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是Mysql数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱机用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。4..Struts的简介Struts是Apache基金会Jakarta项目组的一个OpenSource项目,自采用MVC模式,能够很好地帮助Java开发者利用J2EE开发Web应用。和其他的Java架构一样.Struts也是面向对象设计,将MVC模式"分离显示逻辑和业务逻辑"的能力发挥得淋漓尽致。Structs框架的核心是一个弹性的控制层,基于JavaServlets,JavaBeans,ResourceBundles与XML等标准技术,以及JakartaCommons的一些类库。Struts有一组相互协作的类(组件)、Servlet以及jsptaglib组成。基于struts构架的web应用程序基本上符合JSPMode12的设计标准,可以说是一个传统MVC设计模式的一种变化类型。Struts最早是作为ApacheJakarta项目的组成部分问世运作。项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages、Servlet、标签库以及面向对象的技术水准。Struts的目的是为了减少在运用MVC设计模型来开发Web应用的时间。你仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活运用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新的Struts2框架。其全新的Struts2的体系结构与Struts1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品。虽然从Struts1到Struts2有着太大的变化,但是相对于WebWork,Struts2的变化很小。当Web容器收到请求(HttpServletRequest)它将请求传递给一个标准的的过滤链包括(ActionContextCleanUp)过滤器,然后经过Otherfilters(SiteMesh,etc),接下来需要调用FilterDispatcher核心控制器,然后它调用ActionMapper确定请求那个Action,ActionMapper返回一个收集Action详细信息的ActionMaping对象。接下来FilterDispatcher将控制权委派给ActionProxy,ActionProxy调用配置管理器(ConfigurationManager)从配置文件中读取配置信息(struts.xml),然后创建ActionInvocation对象,ActionInvocation在调用Action之前会依次的调用所用配置拦截器(InterceptorN)一旦执行结果返回结果字符串ActionInvocation负责查找结果字符串对应的(Result)然后执行这个ResultResult会调用一些模版(JSP)来呈现页面,之后拦截器(InterceptorN)会在被执行(顺序和Action执行之前相反)最后响应(HttpServletResponse)被返回在web.xml中配置的那些过滤器和(核心控制器)(FilterDispatcher)。其工作流程如图2.2所示。图2.3Sturts的工作流程系统设计3.1功能模块设计本章是功能模块,网站的功能结构图设计,是本系统中非常重要的一部分,由这部分给出了本系统总体的功能划分,对于以后的详细设计起到了至关重要的作用,详细设计部分就是按照总体设计中的网站功能结构设计图,一步步地进行的。系统功能如图3.1所示:图3.1功能结构图前台:首页:文章分类:(国际娱乐体育等等)文章分类需要从数据库中动态取出(因为后台中有添加删除修改分类的功能)可以只显示4—5个分类;文章搜索:(可以选择分类)以文章标题模糊搜索,有分页功能;图片文章:按文章点击率高低显示前10条左右的文章(显示点击率);网友投票:对得知本站信息的调研;网站公告:显示公告信息;用户登录:网站用户登录,登陆后用户获得评论和投票的权限;文章评论:网站用户登录后可以对文章进行评论。后台:管理员:拥有所有权限管理员维护:管理员维护(包含删除)管理员添加用户管理:用户列表(包含删除)文章分类管理:分类列表(包含删除、添加)文章管理:文章列表(包含删除、添加)图片文章管理:图片列表(包含删除、添加)投票查看:查看投票结果公告管理:公告列表(包含删除)公告添加留言管理:留言列表(包含删除)会员:发布留言进行投票系统采用了敏捷开发的思想,结合跨平台的J2EE技术架构,数据库采用了Mysql;使得系统具有易用性、个性化、跨平台等特点;同时又保证数据的安全、稳定、快速和完整;使其运行得高速、安全、稳定。3.2系统功能流程图下面是系统功能流程图如图3.3所示:进入系统首页进入系统首页是管理员吗登录前台进行浏览、搜索文章信息、留言、投票输入用户名密码登录系统后台密码是否正确进入后台进行操作是否是否图3.2系统流程图3.3数据库设计早期数据库设计主要采用手工与经验相结合的方法,设计质量往往与设计人员的经验与水平有直接关系。数据库设计是一种技艺,缺乏科学理论和工程方法的支持,设计质量难以保证。常常是数据库运行一段时间后又不同程度地发现各种问题,增加了系统维护的代价。人们在不断的实践中,提出了如下的数据库设计方法:1新奥尔良(NewOrleans)方法该方法把数据库设计分为若干阶段和步骤,并采用一些辅助手段实现每一过程。它运用软件工程的思想,即用工程化方法设计数据库。新奥尔良方法属于规范设计法。规范设计法,其基本思想是过程迭代和逐步求精。2基于E-R模型的数据库设计方法该方法用E-R模型来设计数据库的概念型,是数据库概念设计阶段广泛采用的方法。3第三范式的设计方法该方法用关系数据理论为指导来设计数据库的逻辑模型,是数据库逻辑设计阶段可以采用的一种有效方法。4ODL(ObjectDefinitionLanguage)方法这是面向对象的数据库设计方法,该方法用面向对象的概念和术语来说明数据库结构。ODL方法可以描述面向对象数据库结构设计,可以直接转换为面向对象的数据库。后台数据库设计MYSQL介绍Mysql是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。Mysql近年来不断更新版本,1996年,Microsoft推出了Mysql6.5版本;1998年,Mysql7.0版本和用户见面;Mysql是Microsoft公司于2007年推出的版本。Mysql特点:(1)真正的读者机/服务器体系结构。(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。(2)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。(3)Mysql与WindowsNT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。Mysql也可以很好地与MicrosoftBackOffice产品集成。(4)具有很好的伸缩性,可跨越从运行Windows95/98的膝上型电脑到运行Windows2000的大型多处理器等多种平台使用。(5)对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。(6)Mysql提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有[7]。3.3.2后台数据库设计系统操作模块如图3.3所示:图3.3系统操作流程图数据库增加模块添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法则重新输入数据。数据增加流程如图3.4所示:是否是否图3.4数据增加流程图3.数据修改模块在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法则保存至数据库,不合法重新输入。数据修改流程图如图3.5所示:是否是否图3.5数据修改流程图4.数据删除模块当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图3.6所示:否是否是图3.6数据删除流程图3.3.3概念结构设计对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等[10]。通过对现实世界概念模型的抽象,确立本系统的实体为:管理员、用户(游客只有文章浏览权限)。全局E-R图如3.7所示:图3.7全局E-R图实体属性图,如图3.8所示:图3.8实体属性图3.3.4逻辑结构设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“关系数据库模型”。即从实体型转化成关系模式。实体的属性就是关系的属性,实体的码就是关系的码[10]。关系数据库系统是支持关系模型的数据库系统。关系模型所具有的特点是:概念单一、规范化、以二维表格表示。综上所述,可将E-R图转换为关系模型。每个关系的码用下划线表示。管理员信息表-t_admin(管理员代码,管理员账号,管理员密码)文章类别表-t_catelog(文章类别编号,文章类别名称,文章类别描述,文章类别删除操作)公告信息表-t_gonggao(公告编号,公告标题,公告详情,公告发布日期,公告发布者,公告删除操作,意见备注)留言信息表-t_liuyan(留言编号,留言标题,留言详情,留言发布时间,留言发布者)文章信息表-t_news(文章标题,文章内容,文章发布时间,文章所属类别编号)图片文章信息表-t_picNews(图片文章编号,图片名称,图片文章内容,图片路径,图片原始名,图片发布时间)投票选项表-t_toupiao(投票选项编号,投票选项名称,投票时间)用户信息表-t_user(用户编号,用户名,用户密码,用户真实姓名,用户地址,用户性别,用户电话,用户邮箱,用户qq,用户年龄,用户生日,用户学历)该系统在Mysql中的数据库名称为db_news,根据以上分析得出数据库中的8张表。3.3.5物理结构设计数据库物理设计是后半段。将一个给定逻辑结构实施到具体的环境中时,逻辑数据模型要选取一个具体的工作环境,这个工作环境提供了数据存储结构与存取方法,这个过程就是数据库的物理设计。物理结构依赖于给定的DBMS和和硬件系统,因此设计人员必须充分了解所用RDBMS的内部特征、存储结构、存取方法[10]。数据库的物理设计通常分为两步,第一,确定数据库的物理结构,第二,评价实施空间效率和时间效率确定数据库的物理结构包含下面四方面的内容:确定数据的存储结构设计数据的存取路径确定数据的存放位置确定系统配置为了满足系统存储数据需要,方便进行插入,更新,统计和查询分析等操作,数据一共设计为两个部分,第一部分为满足插入,更新,删除较多的数据存储。第二部分为满足查询和统计分析。为了方便进行数据库之间的迁移,数据库中不建议采用存储过程,触发器等数据库特征明显的代码,所有表建立,操作SQL均采用标准语句。数据库表结构如下:设计表“admin”列名数据类型长度允许空userIdint4是userNamevarchar50否userPwvarchar50否设计表“catelog”列名数据类型长度允许空catelog_idint4是catelog_namevarchar50否catelog_miaoshuvarchar5000否catelog_delvarchar50否设计表“gonggao”列名数据类型长度允许空gonggao_idint4否gonggao_titlevarchar50否gonggao_contentvarchar8000否gonggao_datavarchar50否gonggao_fabuzhevarchar50否gonggao_delvarchar50否设计表“liuyan”列名数据类型长度允许空liuyan_idint4是liuyan_titlevarchar50否liuyan_contentvarchar5000否liuyan_datevarchar50否liuyan_uservarchar50否设计表“news”列名数据类型长度允许空news_idint4是news_titlevarchar50否news_contentvarchar5000否news_datevarchar50否catelog_idvarchar50否设计表“picNews”列名数据类型长度允许空picNews_idint4是picNews_titlevarchar50否picNews_contentvarchar8000否picNews_picvarchar50否picNews_pic_yuanshimingvarchar50否picNews_datevarchar50否设计表“toupiao”列名数据类型长度允许空toupiao_idint4是toupiao_namevarchar50否toupiao_datevarchar50否设计表“user”列名数据类型长度允许空user_idint4是user_namevarchar50否user_pwvarchar50否user_typeint50否user_realnamevarchar50否user_addressvarchar50否user_sexvarchar50否user_telvarchar50否user_emailvarchar50否user_qqvarchar50否user_manvarchar50否user_agevarchar50否表3.9数据库表单系统实现4.1数据库连接的实现<html><head><title>文章发布_首页</title> <metahttp-equiv="keywords"content="keyword1,keyword2,keyword3"><metahttp-equiv="description"content="thisismypage"><metahttp-equiv="content-type"content="text/html;charset=UTF-8"><!--<linkrel="stylesheet"type="text/css"href="./styles.css">--></head><body><scripttype="text/javascript">varurl="/news/index.action"window.location.href=url;</script></body></html>4.2业务流程模块的实现业务流程图解:访问网页的权限种类分为两种:一为游客,只可以浏览文章,搜索文章;二,经过注册后,成为网站用户,在享有游客的权限外,还可以对文章发表评论,并对网站进行投票。后台管理员通过登录可以对系统进行管理,包括用户管理(包括删除),文章类别的管理(包括添加与删除),文章的管理(包括添加与删除),图片文章的管理(添加与删除),文章评论的管理(包括添加与删除),文章公告的管理(包括添加与删除),以及对网站投票结果的查询。4.3页面的实现4.3.1前台界面的实现通过前面的详细设计,根据该系统的要求现在开始设计系统的前台部分。前台主要实现用户的注册、登录,进入网站后可以搜索并浏览文章,留言、投票等功能,其整体页面如下图4.1所示,图4.1前台页面代码如下:publicStringindex(){ Maprequest=(Map)ServletActionContext.getContext().get("request"); ListpicNewsList=picNewsDAO.findAll(); if(picNewsList.size()>4){ picNewsList=picNewsList.subList(0,4); } request.put("picNewsList",picNewsList); Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); for(inti=0;i<cateLogList.size();i++){ TCatelogcatelog=(TCatelog)cateLogList.get(i); catelog.setNewsList(newsDAO.getHibernateTemplate().find("fromTNewswherecatelogId="+catelog.getCatelogId())); } request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; }4.3.2用户注册界面的实现用户注册页面,填写用户名、密码、真是姓名、住址、联系方式、email、qq等信息完成注册,具体实现页面如下4.2所示,图4.2用户注册页面 publicStringuserReg() { TUseruser=newTUser(); user.setUserName(userName); user.setUserPw(userPw); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserRealname(userRealname); user.setUserEmail(userEmail); user.setUserSex(userSex); user.setUserQq(userQq); userDAO.save(user); //this.setMessage("注册成功"); //this.setPath("/qiantai/index.jsp"); return"successAdd"; } 4.4后台界面的实现后台主要功能模块主要包括了管理员登陆、系统属性、管理员维护、用户管理、文章分类、文章管理、图片文章、投票查看、公告管理、留言管理。管理员添加相应类别文章的界面:管理员在此界面输入文章的相关信息,选择所要输入文章所属类别、文章标题、以及文章的具体内容,然后按要求校验正确性检测,当数据合法时则添加至数据库。其他如文章类别添加、图片文章添加、公告添加等功能输入基本上相类似。如图4.4所示,图4.3后台页面 publicStringadminManageFenye() { ListadminList=adminDAO.findAll(); intpageSize=3; intfromIndex=(index-1)*pageSize; inttoIndex=Math.min(fromIndex+pageSize,adminList.size()); ListadminListFenye=adminList.subList(fromIndex,toIndex); Paginationp=newPagination();//创建分页对象p.setIndex(index);//设置页数p.setPageSize(pageSize);p.setTotle(adminList.size());//设置总共的条数p.setData(adminListFenye);//设置数据p.setPath("adminManageFenye.action?");//跳转的路径 Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("page",p); returnActionSupport.SUCCESS; }4.4.1管理员登陆页面的实现在用户登录界面,在用户名对应的文本框中输入用户名,在密码对应的文本框中输入密码,如果用户名和密码同时与数据库中的用户名和密码相对应,点击“确定”后进入系统的主界面。如果输入的信息不正确,则给出提示。输入:用户名和密码。处理:校检字符的有效性。用户要登录本系统需要提供用户名和密码,在这里就是要检验用户是否满足输入的要求,即检验用户名和密码文本框是否为空,若为空,则提示用户输入用户名和密码。检验用户名是否存在或密码是否正确,即是否存在用户输入的用户名,并且密码是否正确。输出:登录成功,进入用户的系统使用资源页面,不成功则显示错误信息页面。如图4.4所示:图4.4后台登陆页面 <scriptlanguage="javascript"> functioncheck1() {if(document.ThisForm.userName.value=="") {alert("请输入用户名"); document.ThisForm.userName.focus(); returnfalse;} if(document.ThisForm.userPw.value=="") {alert("请输入密码"); document.ThisForm.userPw.focus(); returnfalse; }loginService.login(document.ThisForm.userName.value,document.ThisForm.userPw.value,0,callback);} functioncallback(data) {if(data=="no") {alert("用户名或密码错误");} if(data=="yes") {alert("通过验证,系统登录成功"); window.location.href="<%=path%>/loginSuccess.jsp"; } } </script>数据库链接:id="dataSource" class="mons.dbcp.BasicDataSource"> <propertyname="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"> </property> <propertyname="url" value="jdbc:sqlserver://localhost:1433;databaseName=db_news"> </property> <propertyname="username"value="sa"></property> <propertyname="password"value="sa"></property>4.4.2文章管理页面的实现功能描述:此模块要实现对文章的管理功能,管理员可以添加删除文章的相关信息。文章信息管理模块的IPO过程:a) 添加文章信息操作: 点击添加文章信息按钮,输入需要添加文章的内容。内容包括文章的标题、内容、分类。 检验用户输入的文章的标题、内容、分类是否符合文章数据库表中字段定义。若不符合则提示输入有误。 提示用户信息添加成功。 更新用户数据库表的信息。b) 删除文章信息 点击删除文章信息按钮。 弹出对话框“是否确定删除”,点击是,"yes"传入jsp文件进而执行actionDel方法 删除文章信息成功。 更新用户数据库表的信息。界面如图4.5所示:图4.5文章管理模块 publicStringnewsAll() {ListnewsList=newsDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("newsList",newsList); Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); for(inti=0;i<cateLogList.size();i++) {TCatelogcatelog=(TCatelog)cateLogList.get(i); catelog.setNewsList(newsDAO.getHibernateTemplate().find("fromTNewswherecatelogId="+catelog.getCatelogId()));} request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; }文章添加页面如图4.6所示:图4.6文章添加页面 publicStringnewsAdd() {TNewsnews=newTNews(); news.setNewsTitle(newsTitle); news.setNewsContent(newsContent); news.setNewsDate(newDate().toLocaleString()); news.setCatelogId(catelogId); newsDAO.save(news); this.setMessage("操作成功"); this.setPath("newsMana.action"); return"succeed"; }结论5.1总结本文通过本系统设计与开发,从而得出下列结论:通过这次毕业设计,我明白了只有不断的是实践,多动手操作才能尽快掌

温馨提示

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

评论

0/150

提交评论