jsp电影评论网站ssh论文_第1页
jsp电影评论网站ssh论文_第2页
jsp电影评论网站ssh论文_第3页
jsp电影评论网站ssh论文_第4页
jsp电影评论网站ssh论文_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGEPAGE36摘要随着经济的发展,人们的物质生活和精神生活不断提高,在满足了基本的温饱问题之后,人们更多的在精神生活中得到享受,电影,作为大家日常生活中一个娱乐方式越来越多的走近我们。本文研究B/S架构的电影评论网站的设计与实现过程,从需求分析、网站设计到具体实现都遵循了网站开发的思想和数据库的设计方法。网站的设计与开发使用myeclipse开发工具,应用sqlserver2005管理数据库。采用MVC模式开发。文章详细介绍了一个电影评论网站的分析、设计和开发全过程,分析并实现了电影评论的基本功能。关键词B/SMVC模式电影评论网站AbstractWiththedevelopmentofeconomy,people'smateriallifeandspirituallifecontinuestoimprove,aftermeetingthebasicproblemsoffoodandclothing,moreandmorepeopleinthespirituallifetoenjoy,movie,asaformofentertainmenttopeopledailylifemoreandmoreofus.Therearealotofpeoplechoosetowatchmoviesathome,therearealotofpeopleinthepursuitoftheatmosphere,thepursuitofvisualenjoymenttochoosetogotothecinema.Watchingmoviesathome,youonlyneedtofindthesourcetowatch,andgoingtothecinema,youneedtoknowwhatmovietheatershow,butalsoneedtolineuptobuytickets.Fortheconvenienceofthepublicentertainment,leteverybodyunderstandcinemaplaylist,avoidbuyingmovieticketswhenpeoplesufferfromqueuing,theprocessofdesignandimplementationofonlinemovieticketbookingwebsitebasedonB/Sarchitecture,fromthedemandanalysis,websitedesignandtherealizationmethodfollowthedevelopmentofthesiteanddatabasethe.ThedesignanddevelopmentofthewebsiteusingtheMyEclipsedevelopmenttools,usingSQLServer2005databasemanagement.UsingMVCmodeldevelopment.Thearticleintroducesamovieticketbookingprocessanalysis,designanddevelopmentofthewebsite,theanalysisandtherealizationofthebasicfunctionsofmovietickets.KeywordsB/SMVCpatternThemovieticketbookingwebsite目录摘要 IAbstract II1.1课题背景 11.2目的和意义 11.3系统设计思想 21.3.1用户需求 21.3.2功能性需求 31.3.3非功能性需求 41.4系统开发环境 41.4.1B/S结构的数据库访问模式 41.4.2MyEclipse简介 51.4.3SQLServer2005数据库简介 51.4.4SSH简介 6第2章可行性分析 92.1经济可行性 92.2技术可行性 92.3运行可行性 92.5时间可行性 102.6法律可行性 102.7业务流程图 102.8本章小结 12第3章需求分析 133.1系统规划 133.2系统需求分析 133.2.1功能模块分析 143.3本章小结 20第4章总体设计 214.1系统模块总体设计 214.2数据库设计 224.2.1数据库设计概述 224.2.2数据分析 224.3数据库详细设计 234.3.1数据库的E-R图的设计 234.3.2数据表的设计 244.4本章小结 27第5章详细设计 285.1系统运行平台设置 285.2网站首页界面设计 285.3登录详细设计 295.4后台管理详细设计与实现 325.4.1影片添加实现 325.4.2影片列表展示 375.5前台详细设计与实现 395.5.1注册页面详细设计与实现 395.6本章小结 43第6章软件测试 446.1测试的基本概念 446.2测试的任务和目的 446.2.1测试的任务 446.2.2测试的目的 456.3系统整体测试步骤 456.4本系统测试 456.4.1用户注册测试 466.4.2添加影片测试 476.4.3删除影片测试 476.5本章小结 48结论 49致谢 50参考文献 51附录1 53附录2 54第1章绪论1.1课题背景互联网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体,同时正以其便捷的信息传输形式改变着人们的消费模式,利用简单、快捷、低成本的电子通信方式,买卖双方不谋面就可以进行各种商贸活动,走向商业的互联网已经成为网络经济的大势所趋。1996年前后,在美国学术界提出“电子商务”(E-Buiness或E-Commerce)的概念。短短几年时间内这一概念被广泛接受。根据买方卖方的不同,电子商务市场可划分为4种类型:B2B(BusinesstoBusiness)、C2C(ConsumertoConsumer)、C2B(ConsumertoBusiness)以及B2C(BusinesstoConsumer)几种模式,目前占据主流的是B2B和B2C两种。B2B主要面向企业,这种平台对性能、安全和服务要求比较高;B2C直接面向终端的大众消费者。眼下电子商务网站正如雨后春笋般地大量涌现[1]。1.2目的和意义根据这种现实需要,设计制作一个电影评论网站便成为一件非常有价值的工作。应用电影评论网站对影城进行管理具有传统管理模式不可比拟的优点,它凭借其信息更新速度快、信息存储量大、安全性高、应用简便等特点为影城的管理带来了极大的方便,发挥越来越重要的作用。现如今比较成熟的电影片电影评论网站一般以数据库(如MySql、SQLServer)为基础,应用当今最为流行的网络编程语言(如JAVA、ASP语言)共同制作而成。本文也将结合现实需要,设计出一个基于JSP语言、SQLSERVER2005数据库管理系统的在线电影评论网站。1.3系统设计思想首先对现有系统进行分析,现有系统是信息的重要来源。分析已有系统的功能和实现,从而确定新系统的设计目标和模型。由于条件有限,调研主要是在网上进行,即通过在网上查看已有的电影评论网站,注册成为其会员来了解该网站具备的功能。1.3.1用户需求“用户是上帝”,设计网站前应详细了解用户需求,这样才能避免日后因不满足用户需求而造成大量修改。电影评论网站前台应考虑以下几方面的要求:实现管理员对电影信息的管理,对网站新闻信息的管理,对注册用户信息的管理以及对于用户所发表的影评进行管理,同时实现注册用户对影片信息的查看,对网站新闻的查看,对影片发表影评,对自身注册信息进行管理。1.3.2功能性需求功能性需求分析是指对目标软件系统在功能、行为、性能、设计约束等方面的期望。需求分析是软件设计、实现测试直至维护的主要基础,良好的需求分析可以避免或尽早提出早期的错误,从而降低软件的开发成本,改进软件的质量。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解系统的工作概况,明确各种功能需求,然后在此基础上确定新系统的功能。新系统必须充分考虑今后可能的扩充和改变[3]。本电影评论网站后台应完成以下任务:实现管理员对电影信息的管理,对网站新闻信息的管理,对注册用户信息的管理以及对于用户所发表的影评进行管理,同时实现注册用户对影片信息的查看,对网站新闻的查看,对影片发表影评,对自身注册信息进行管理。。1.3.3非功能性需求(1)用户界面需求:简洁、易用、易懂,友好和谐的用户界面。(2)硬件需求:Pentium以上计算机(3)可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据丢失。(4)安全保密性需求:用户登录需要密码验证。1.4系统开发环境本系统采用B/S结构,前台开发工具为MyEclipse8.0、Dreamweaver,后台数据库是MicrosoftSQLServer2005,服务器为Tomcat6.0,建模工具为MPowerDesigner,软件要求:操作系统为WindowsXP或更高,浏览器为InternetExplorer5.01或更高版本,硬件要求:一台具备MicrosoftWindowsXP系统计算机,处理器为PentiumIV以上,内存为512M以上,硬盘空间为80G以上或更高。1.4.1B/S结构的数据库访问模式B/S结构是真正的三层结构,它以访问Web数据库为中心,HTTP为传输协议,客户端通过浏览器(Browser)访问Web服务器和与其相连的后台数据库,我们称之为B/S(Browser/Server)模式。其三级结构,从左到右,分为三个层次:第一层是客户端即浏览器,主要完成客户和后台的交互及最终查询结果的输出功能。在客户端向指定的Web服务器提出服务器请求,Web服务器用HTTP协议把所需文件资料传给用户,客户端接受并显示在WWW浏览器上;第二层Web服务器是功能层,完成客户的应用功能,即Web服务器接受用户请求,并与后台数据库连接,进行申请处理,然后将处理结果返回Web服务器,再传至客户端;第三层数据库服务器是数据层。数据库服务器应客户请求独立地进行各种处理。与传统的C/S模式相比,B/S结构把处理功能全部移植到了服务器端,用户的请求通过浏览器发出,无论是使用和数据库维护上都比传统模式更加经济方便。而且使维护任务层次化:管理员负责服务器硬件日常管理和维护,系统维护人员负责后台数据库数据更新维护。1.4.2MyEclipse简介MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)是对EclipseIDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate.在结构上,MyEclipse的特征可以被分为7类:1.J2EE模型。2.WEB开发工具。3.EJB开发工具。4.应用程序服务器的连接器。5.J2EE项目部署服务。6.数据库服务。7.MyEclipse整合帮助。1.4.3SQLServer2005数据库简介SQLServer2005和以往的数据解决方案相比,它包含非常丰富的新特性:通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运维风险和成本来;通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂管理需求,推动企业管理信息化建设和业务发展;同时,SQLServer2005将提供一个极具扩展性和灵活性的开发平台,不断拓展您的应用空间,实现Internet数据业务互联。SQLServer2005将提供全新的安全认证、数据加密技术来加强您数据系统的安全性;数据库镜像、快照、时点恢复、实时在线管理等诸多功能大大提高了企业级系统的可靠性、扩展性;而数据集成,各种自动化管理、调试和优化工具。SQLServer2005使您可以快速构建部署各类商业智能解决方案,为你提供深入的业务分析统计和监控预测平台,进一步推动企业的信息化管理和业务发展。1.4.4SSH简介一、Struts2

1、Struts是采用Java

Servlet/JavaServer

Pages技术,开发Web应用程序的

开放源码、且可扩展的J2EE

web框架;

2、从某种程度上来讲,Struts2没有继承Struts

1的血统,而是继承WebWork的血统,但却

是却吸收了Struts

1和WebWork两者的优势;

3、Struts

2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得

业务逻辑控制器能够与Servlet

API完全脱离开

4、Struts2框架的大概处理流程如下:

(1)

加载类(FilterDispatcher)

(2)

读取配置(struts配置文件中的Action)

(3)

派发请求(客户端发送请求)

(4)

调用Action(FilterDispatcher从struts配置文件

读取与之相对应的Action

(5)

启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证)

(6)

处理业务(回调Action的execute()方法)

(7)

返回响应(通过execute方法将信息返回到FilterDispatcher)

(8)

查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROR,将跳转到哪个jsp页面)

(9)

响应用户(jsp>客户浏览器端显示)

(10)

struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)

二、Hibernate

1、Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对

象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库

2、Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration.这5个核心接口在任何开发中都会用到

,通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制三、Spring

1、Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架

2、轻量——从大小与开销两方面而言Spring都是轻量的

3、控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合

4、面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发

5、容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的

6、框架——Spring可以将简单的组件配置、组合成为复杂的应用

7、Spring

特点如下

方便解耦,简化开发

通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合

AOP编程的支持

通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。

声明式事务的支持

在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量

方便程序的测试

可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情。

方便集成各种优秀框架

Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持。

降低Java

EE

API的使用难度

Spring对很多难用的Java

EE

API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java

EE

API的使用难度大为降低。第2章可行性分析该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里主要从技术可行性、经济可行性和操作可行等方面进行分析。2.1经济可行性开发该系统所需的相关资料可以通过已存在的相关系统进行调查采集,所需的其他应用软件、硬件系统也易于获得.因此,开发成本较低。而引进使用本系统后,与传统方式相比,具有高效率、低成本、高质量的特点,可以节省不少人力、物力及财力。所以,从经济的角度来看,该系统可行。2.2技术可行性技术可行性要考虑现有的技术条件是否能够顺利完成开发工作,软硬件配置是否满足开发的需求等。本系统用的是JSP开发语言,调试相对简单,当前的计算机硬件配置也完全能满足开发的需求,因此在技术上是绝对可行的。软件方面:由于目前单机模式相对发展成熟,故软件的开发平台成熟可行,它们速度快、容量大、可靠性能高、价格低,完全能满足系统的需求。本系统的开发,是典型的Mis开发。采用JSP编程语言,已无技术上的问题。2.3运行可行性运行可行性是对组织结构的影响,现有人员和机构和环境对系统的适应性及人员培训补充计划的可行性。当前信息化技术已经相当普及,各类操作人员水平都有相当的高度,所以在运行上是可行性的。2.5时间可行性从时间上看,在两个月的时间里学习相关知识,并开发系统,时间上是有点紧,但是不是不可能实现,通过两个多月的努力功能基本实现。2.6法律可行性①所有技术资料都为合法。②开发过程中不存在知识产权问题。③未抄袭任何系统,不存在侵犯版权问题。④开发过程中未涉及任何法律责任。综上所述,本系统的开发从技术上、从经济上、从法律上都是完全可靠的。2.7业务流程图业务流程图的绘制基本上按照业务的实际处理步骤和过程绘制。是用来反映实际业务处理过程的“流水账”。业务流程分析则是在业务功能的基础上将其细化,利用系统调查的资料将业务处理过程中的每一个步骤用一个完整的图形将其串起来。在绘制业务流程图的过程中发现问题,分析不足,优化业务处理过程。所以说绘制业务流程图是分析业务流程的重要步骤。根据电影片评论的具体情况,业务主要有两类。第一类是影院管理人员的票务订单管理;第二类是普通用户的浏览评论功能。1.管理人员管理业务流程管理人员需要在影片的类型进行维护,需要维护影片信息,需要对注册用户进行管理,需要对评论信息进行处理,如图2-1所示。2.普通用户评论业务流程普通用户注册,然后浏览影片信息,进行评论。

管理人员管理业务流程图,如图2-1所示:管理员管理员用户影片订单维护实体图2-1管理人员管理业务流程图普通用户评论业务流程,如图2-2所示。用户用户登录浏览信息/订票注册生成订单图2-2普通用户评论业务流程图2.8本章小结本章主要介绍了系统的核心模块的业务流程,并给出相应的业务流程图做以说明。并且分别从经济可行性、技术可行性和运行可行性对系统的可行性进行了分析。同时,对其可行性进行了分析,主要从经济、技术、运行、时间、法律五方面进行的分析。分析结果是该系统技术成熟,设计合理。第3章总体设计系统设计是在系统分析的基础上由抽象到具体的过程。主要目标是将系统分析阶段所提出的反映了信息需求的系统逻辑方案转换成可以实施的基于计算机与通信系统的物理(技术)方案,为下一阶段系统实施提供必要的技术资料,应符合系统性,灵活性,可靠性,经济性的要求。3.1系统模块总体设计本系统一共分为前台和后台两大部分,这两大部分之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。并且在数据流中会有所依靠。系统的功能模块如下:1.用户管理管理员可以对系统的注册用户进行管理。2.类别管理管理员可以对影片类型进行管理。3.影片管理管理员可以对影片进行管理。5.评论管理管理员可以对用户的评论进行管理。6.注册登入管理普通用户可以注册成为网站会员,并登陆网站进行评论。7.搜索影片管理用户可以在线搜索查看影片信息。3.2数据库设计数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体的说,数据库设计是一个给定的应用环境,构造最优的用户的应用需求(信息要求和处理要求)。这个问题是我们在进行软件开发时期的主要研究方向。3.2.1数据库设计概述数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术,具体的说,数据库设计是一个给定的应用环境,构造最优的用户的应用需求(信息要求和处理要求)。这个问题是我们在进行软件开发时期的主要研究方向。3.2.2数据分析数据分析过程同数据库的逻辑结构和物理结构密切相关,需要确定、编制、组织、筛选应用程序所使用的信息。它以一种能够分析和分类的方式来捕获用户的所有信息,这使得某一模型可以直接转化成数据库结构。我们使用一种信息建模技术,这种技术是通过实体、关系、属性三种基本对象来定义信息。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系,关系为实体记录(实例)之间的联系和交互作用方式建立了模型。3.3数据库详细设计在管理系统的设计中,数据库设计非常重要。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。在设计数据库前应对现有类似系统的数据库进行仔细研究,找出它的不足以完善自己所设计的数据库。在设计前,应考虑以下事项: 1.定义标准的对象命名规范。2.工欲善其事,必先利其器。选择理想的数据库设计工具。3.对数据完整性的保护。4.数据库和用户权限的安全要求。5.了解你的业务。根据业务需要创建数据表。6.创建数据字典和ER图表。7.数据库维护。3.3.1数据库的E-R图的设计E-R方法是一种用来在数据库设计过程中表示数据库系统结构的方法,该方法用E-R图来描述现实世界的概念模型,E-R方法也称为E-R模型。在E-R图中,包含了实体(即数据对象)、关系和属性等3种基本成份。实体是需要维护和使用的相关特性的集合体;属性是实体的特性或特征;关系是实体之间的联系。通过对以上系统业务流程图和数据流图的分析,确定系统全局E-R图。3.3.2数据表的设计数据库设计是对保存网站数据的数据库结构进行设计,主要是设计出数据表的结构,包括数据表中各字段的数据类型以及字段类型的长度等。合理的设计出数据库的结构对整个网站的开发具有非常重要的作用。本系统的数据库命名为:db_dingpiao。db_dingpiao数据库中有7张信息表如下。T_admin如表4-1所示。表4-1T_admin(管理员表)序号英文名中文名类型长度(字符)1userId编号int202userName用户名Varchar163userPw密码Varchar20t_catelog如表4-2所示。表4-2t_catelog(类别表)序号英文名中文名类型长度(字符)1catelog_id编号Varchar202catelog_name名称Varchar203catelog_miaoshu描述Varchar1604catelog_del状态Varchar2t_goods如表4-3所示。表4-3t_goods(影片)序号英文名中文名类型长度(字符)1goods_id编号Numeric18,02goods_fangyingshi放映室Varchar203goods_catelog_id类别编号Int204goods_name名称Varchar205goods_miaoshu描述Varchar206goods_pic图片Varchar207goods_shichangjia市场价Int208goods_tejia特价Int209goods_isnottejia不是特价Varchar2010goods_isnottuijian是否推荐Varchar2011goods_kucun库存Int2012goods_Del状态Varchar20t_liuyan如表4-4所示。表4-4t_liuyan(留言表)序号英文名中文名类型长度(字符)1liuyan_id编号Int202liuyan_title标题Varchar202liuyan_content内容Varchar202liuyan_date时间Varchar202liuyan_user留言者Varchar20t_user如表4-7所示。表4-7t_user(用户表)序号英文名中文名类型长度(字符)1user_id编号int112user_name用户名Varchar203user_pw密码Varchar204user_realname真实姓名Varchar205user_sex性别Varchar206user_address地址Varchar207user_tel电话Varchar208user_del状态Varchar204.4本章小结例如总体设计阶段,在需求分析的基础之上规划出了系统的功能模块,以及在此分析基础上设计出的具体的、可以满足本系统全部需求的数据库。该系统由八个功能模块组成,并对每个模块的基本功能进行了叙述。同时利用E-R图分析了数据库中各表之间的关系。第4章详细设计4.1系统运行平台设置1.硬件环境:组装台式电脑一台。运行环境如表5-1所示。表5-1运行环境硬件配置硬件配置处理器PentiumIV内存512M硬盘空间80G2.软件环境:WindowsXP操作系统。4.2网站首页界面设计本网站作为一个评论网站,首页要尽可能多的展示一些用户需要的信息,比如用户的注册登入,影片的查询,我的预定,我的信息等,如图5-1所示。图5-1网站首页界面5.3登录详细设计管理员要想对系统进行维护,首先必须登入系统。登录界面如图5-2所示。图5-2登录界面2.管理员登录程序流程描述当管理员输入操作员用户名和密码后首先要进行身份验证,如果操作员用户名存在,则成功登录,反之,如果操作员用户名不存在,提示错误信息“登录失败!”,返回登录界面重新输入操作员用户名和密码。操作员登录的程序流程图如图5-3所示。

图5-3管理员登录程序流程图5.4管理员功能后台管理主要是管理员对类型的管理,对影片的管理,对用户的管理,对留言的管理,对评论的处理等。由于管理部分基本都涉及到增删改查,基本都是列表的展示,和输入等,所以这里选取部分介绍。5.4.1电影类别管理1、管理员点击左侧的菜单“类别管理”,页面跳转到类别管理界面,调用后台的action类查询所有电影类别。2、程序效果图如下图5-4图5-4电影类别管理3、关键代码publicclasscatelogActionextendsActionSupport{ privateintcatelogId; privateStringcatelogName; privateStringcatelogMiaoshu; privateStringmessage; privateStringpath; privateTCatelogDAOcatelogDAO; privateTGoodsDAOgoodsDAO; publicStringcatelogMana() { Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; } publicStringcatelogAll() { Stringsql="fromTCatelogwherecatelogDel='no'"; ListcateLogList=catelogDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("cateLogList",cateLogList); returnActionSupport.SUCCESS; } publicStringcatelogAdd() { TCatelogcatelog=newTCatelog(); catelog.setCatelogName(catelogName); catelog.setCatelogMiaoshu(catelogMiaoshu); catelog.setCatelogDel("no"); catelogDAO.save(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); return"succeed"; } publicStringcatelogDel() { Stringsql="fromTGoodswheregoodsDel='no'andgoodsCatelogId="+catelogId; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); if(goodsList.size()>0) { this.setMessage("请先删除此类别下的商品"); this.setPath("catelogMana.action"); } else { TCatelogcatelog=catelogDAO.findById(catelogId); catelog.setCatelogDel("yes"); catelogDAO.attachDirty(catelog); this.setMessage("操作成功"); this.setPath("catelogMana.action"); } return"succeed"; }5.4.3评论信息管理1、管理员点击左侧的菜单“留言信息管理”,页面跳转到聊天室管理界面,调用后台的订单Action类查询出所有的留言信息2.、程序效果图如图5-6所示: 图5-6在线评论管理3.主要代码publicclassliuyanActionextendsActionSupport{ privateintliuyanId; privateStringliuyanTitle; privateStringliuyanContent; privateTLiuyanDAOliuyanDAO; privateStringmessage; privateStringpath; publicStringliuyanMana() { ListliuyanList=liuyanDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("liuyanList",liuyanList); returnActionSupport.SUCCESS; } publicStringliuyanAdd() { TLiuyanliuyan=newTLiuyan(); liuyan.setLiuyanContent(liuyanContent); liuyan.setLiuyanTitle(liuyanTitle); liuyan.setLiuyanDate(newDate().toLocaleString()); Mapsession=ActionContext.getContext().getSession(); if(session.get("user")!=null) { TUseruser=(TUser)session.get("user"); liuyan.setLiuyanUser(user.getUserName()); } liuyanDAO.save(liuyan); this.setMessage("留言成功"); this.setPath("liuyanAll.action"); return"succeed"; } publicStringliuyanDel() { TLiuyanliuyan=liuyanDAO.findById(liuyanId); liuyanDAO.delete(liuyan); this.setMessage("留言删除成功"); this.setPath("liuyanMana.action"); return"succeed";}5.4.4会员信息管理1、游客访问该站点的时候,可以注册成为会员,管理员登陆后可以管理会员信息,点击左侧的“会员管理“,页面调转中后台的是java类userAction,在此类中,读取数据库中,提取会员的信息,绑定到request对象,再输出到相应的jsp显示页面页面2、程序效果图如下图5-7图5-7会员信息管理3.主要代码ListuserList=userDAO.findAll(); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS;publicListfindAll() { log.debug("findingallTUserinstances"); try { StringqueryString="fromTUserwhereuserDel='no'"; returngetHibernateTemplate().find(queryString); }catch(RuntimeExceptionre) { log.error("findallfailed",re); throwre; } }5.4.5电影信息管理1、管理员点击左侧的菜单“电影管理”,页面跳转到电影管理界面,调用后台的action类查询所有电影信息。2、程序效果图如下图5-8图5-8电影信息管理3、关键代码publicclassgoodsActionextendsActionSupport{ privateIntegergoodsId; privateStringgoodsFangyingshi; privateStringgoodsName; privateStringgoodsMiaoshu; privateStringgoodsPic; privateIntegergoodsShichangjia; privateIntegergoodsTejia; privateStringgoodsIsnottejia; privateStringgoodsIsnottuijian; privateIntegergoodsCatelogId; privateintgoodsKucun; privateStringgoodsDel; privateStringmessage; privateStringpath; privateTGoodsDAOgoodsDAO; publicStringgoodsAddNotejia() { TGoodsgoods=newTGoods(); goods.setGoodsFangyingshi(goodsFangyingshi); goods.setGoodsCatelogId(goodsCatelogId); goods.setGoodsName(goodsName); goods.setGoodsMiaoshu(goodsMiaoshu); goods.setGoodsPic(goodsPic); goods.setGoodsShichangjia(goodsShichangjia); goods.setGoodsTejia(goodsShichangjia); goods.setGoodsIsnottejia("no"); goods.setGoodsIsnottuijian("no"); goods.setGoodsKucun(goodsKucun); goods.setGoodsDel("no"); goodsDAO.save(goods); this.setMessage("操作成功"); this.setPath("goodsManaNotejia.action"); return"succeed"; } publicStringgoodsManaNotejia() { Stringsql="fromTGoodswheregoodsDel='no'andgoodsIsnottejia='no'orderbygoodsFangyingshidesc"; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("goodsList",goodsList); returnActionSupport.SUCCESS; } publicStringgoodsDelNotejia() { TGoodsgoods=goodsDAO.findById(goodsId); goods.setGoodsDel("yes"); goodsDAO.attachDirty(goods); this.setMessage("操作成功"); this.setPath("goodsManaNotejia.action"); return"succeed"; } publicStringgoodsDetailHou() { Maprequest=(Map)ServletActionContext.getContext().get("request"); TGoodsgoods=goodsDAO.findById(goodsId); request.put("goods",goods); returnActionSupport.SUCCESS; }5.4.6修改个人密码1、输入用户名和用户的原有密码,输入新密码以后点击修改按钮即可修改密码成功。2、程序效果图如图5-9图5-9修改密码3、关键代码TUseruser=userDAO.findById(userId); user.setUserName(userName); user.setUserPw(userPw); user.setUserRealname(userRealname); user.setUserSex(userSex); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserDel("no"); userDAO.attachDirty(user); HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("msg","修改成功,重新登录后生效"); return"msg";5.5前台详细设计与实现包括用户所看的网页信息,用户对网站的一些操作,注册,登入,留言,评论等。5.5.1用户注册页面模块1、对于游客,至于浏览的功能,如果想进一步使用本系统,比如说预订影片、在线下订单等,首先需要注册一个合法的账号,然后登陆后,方能使用,点击导航栏菜单“免费注册”,调用js的open()方法,弹出注册页面,输入相关正确信息后点击注册按钮即可完成注册,如果是没有输入完整的信息,或都会给出相应的错误提示,不能录入成功。2、程序效果图如图5-10所示:图5-10注册页面3、关键代码TUseruser=newTUser(); user.setUserName(userName); user.setUserPw(userPw); user.setUserRealname(userRealname); user.setUserSex(userSex); user.setUserAddress(userAddress); user.setUserTel(userTel); user.setUserDel("no"); userDAO.save(user); HttpServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("msg","注册成功,请登录"); return"msg";5.5.21、用户点击导航栏的“电影信息查询”。调用后台的java类goodsAction根据电影名字查询所有的电影信息,并绑定这些信息到request对象中,在显示层jsp展示出来,然后用户点击电影名称,即可显示该电影的详细的信息。2、程序效果图如图5-11所示:图5-11电影信息查询3、关键代码Maprequest=(Map)ServletActionContext.getContext().get("request"); Stringsql="fromTGoodswheregoodsDel='no'andgoodsIsnottejia='no'andgoodsFangyingshi>?orderbygoodsFangyingshi"; Object[]c={newSimpleDateFormat("yyyy-MM-dd").format(newDate())}; ListgoodsList=goodsDAO.getHibernateTemplate().find(sql,c); request.put("goodsList",goodsList); returnActionSupport.SUCCESS;5.7本章小结本章除了介绍了开发本系统所采用的开发工具和数据库外,还介绍了本系统的主要功能模块的实现目的和实现过程,并给出了一些主要代码实现。第6章软件测试经过需求分析、设计和编码等阶段的开发后,得到了源程序,开始进入到软件测试阶段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程。在测试之前的各阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用,甚至会导致巨大的损失。目前,程序的正确性证明尚未得到根本的解决,因此软件测试仍是发现软件中错误和缺陷的主要手段。测试是一项很艰苦的工作,其工作量约占软件开发总工作量的40%以上,特别对一些关系到人的生命安全的软件。6.1测试的基本概念软件测试是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。软件测试的目的是为了尽可能多的发现程序中的问题之后解决问题,明确测试的目的是一件非常重要的事,因为在现实世界中对测试工作存在着许多模糊或者错误的看法,这些看法严重影响着测试工作的顺利进行。测试方法分为白盒测试和黑盒测试两种。白盒测试是从开发人员的角度进行测试,把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试,检查程序中的逻辑通路是否都按预定的要求正确地工作。黑盒测试是从用户的角度进行测试,把程序看成一只黑盒子,测试者完全不了解(或不考虑)程序的结构和处理过程。它根据规格说明书规定的功能来设计测试用例,检查程序的功能是否符合规格说明的要求。6.2测试的任务和目的测试的任务是使开发的软件少debug,测试软件的功能;软件测试的目的是尽可能多地发现软件产品(主要是指程序)中的错误和缺陷。6.2.1测试的任务在软件投入生产性运行之前,尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。软件测试是保证软件软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。软件测试的结果也是分析软件可靠性的重要依据。6.2.2测试的目的1.测试的目的是为了发现程序中的错误而执行程序的过程。2.好测试方案是极有可能发现迄今为止尚未发现的错误的测试方案。3.功的测试方案是发现了到今为止尚未发现的错误的测试。6.3系统整体测试步骤认测试软件测试的主要步骤有单元测试、集成测试、确认测试和系统测试。1.单元测试(UnitTesting)单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。单元测试主要发现编码和详细设计中产生的错误,通常采用白盒测试。2.集成测试(IntegrationTesting)集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。3.确认测试(ValidationTesting)确认测试的任务是进行系统全面的测试,即检查软件的功能、性能及其他特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。4.系统测试(SystemTesting)系统测试是更大范围内进行测试,它将经过确认测试的软件作为整个基于计算机的系统的一个元素,在实际运行环境下,对系统进行的一系列集成和确认测试。6.4本系统测试根据测试的步骤,在测试的开始阶段本系统选择了白盒测试中的单元测试,因为程序的编写由我一个人完成,程序的流程很清楚,所以根据程序的内部结构和逻辑进行测试,测试程序中各个模块是否按照我的设计完成功能。在该阶段的测试中出现了一些程序上的错误,采用程序中的设置断点和输出语句的方法,进行测试,逐步缩小范围并最终找到问题所在,查找资料解决问题。单元测试后又进行了集成测试,将各个模块组装起来进行整体的测试,在不考虑内部程序的情况下,程序是否能够完成应有的功能并输出正确数据。由于本系统的模块较多,测试方法不能一一进行描述,在本节中测试实现方法仅以用户注册,管理员添加影片,管理员删除影片为例。6.4.1用户注册测试用户注册流程,用户来的首页面,点击注册按钮,会跳转到注册界面,在注册界面用户要填写信息,然后进行注册,这里我们输入一些非法字符,输入相同用户名的一些信息,总之输入非法信息进行测试,如果可以注册成功表示存在问题,如果注册不成功,系统给出了提示表示该功能已经做了数据检查,最后我们输入正确信息提示注册成功。测试结果如图6-1所示。图6-1用户注册效果图6.4.2添加影片测试管理员可以对影片进行添加,系统会检查数据完整性,然后根据检查结果给出提示,并且对数据库进行操作界面如图6-2所示。图6-2添加影片测试效果图6.4.3删除影片测试管理员可以对影片进行删除操作,删除主要是对数据库进行操作。如图6-3所示。图6-3删除影片效果图6.5本章小结软件测试是软件开发中的重要阶段,在项目管理过程中,强调的是每个过程的每一个环节都要进行测试,保证系统在每个阶段可以控制。本章主要采用黑盒测试的等价分类法对各功能模块进行了测试,测试结果与预期的效果基本一致。但是在功能页面的设计上还存在着很多不足,需要进行一步的改进。结论经过四个多月的努力,在导师指导下,对基于SSH开的电影片评论网站有了较深刻的认识,也具备了一定的实际开发经验。认识到开发系统首先要明确用户的需求,然后进行系统分析,其次构建系统模型、建立完善的数据库,接着编写代码,最后测试系统。系统分析阶段,查阅了大量基于不同技术的网站开发的文章,具有了一定的理论基础后,比较分析后采用了JSP编程技术和sqlserver数据库,在WindowsXP操作系统环境下,运用Myeclipse开发工具,开发了这个基于B/S结构的电影片评论网站。本系统不但有良好的系统运行稳定性、可靠性和实用性,而且操作简单,维护方便,具有一定的实用价值。系统进入编程阶段后,遇到了很多的困难。数据库的建立需要有很强的逻辑性,反复画图研究后仍然制作的不是很规范,对Java语言的运用不是很熟练,导致在调试过程中一些细小错误的经常出现等。但经过自己的努力及老师的指导,最终解决了这些问题,开发出一个基本的电影片评论网站,并达到了预期的设想。虽然系统还有很多不足之处,如:程序中错误处理和输入控制不够全面,可能导致输入无效引发错误。但在整个开发过程中学到了很多的知识,增强了动手能力,积累了解决各种难题的经验。同时也让发现了自己的许多不足之处,有待在将来的工作中进一步的学习和完善,掌握和运用更多的知识。致谢项目,论文在这个时候即将划上一个句号。但是对于我的人生道路来说,这仅仅是一个逗号,我将面对的是又一次征程的开始。回忆过去,许许多多的事情浮现在脑海:刚上大学时欢乐心情和兴奋的场景还历历在目。一切都是那么新鲜,那么富有吸引力。有快乐也有艰辛,有收获也有失落。衷心感谢科技大学所有支持帮助过我的老师,谢谢你们多年来的关心和爱护。同窗的友情同样难忘,你们与我共同走过了人生中不平凡的道路,给我留下了值得珍藏的美好记忆。最后,我要特别感谢指导论文刘松霭,郭轶卓老师。本论文是在他们的悉心指导和热情帮助下完成的,老师认真负责的工作态度,严谨的治学精神和精深的理论水平都使我受益匪浅。他们无论在理论上还是在实践中,都给予我很大的帮助,使我专业技能的应用水平得到很大提高,这对于我以后的工作和学习都有益处。值此论文完成之际,特别向指导老师表示衷心的感谢和崇高的敬意,谢谢他们细心而又耐心地辅导,使得我得以顺利的完成毕业设计开发工作,同时也要感谢其他帮助过我的老师和同学,他们在我成长过程中给予了我很大的帮助,在此一并表示感谢。由于本人水平有限,加上时间紧促,本文一定有不少缺点和不足,恳请各位老师给予帮助和指正。参考文献[1]张孝祥、徐明华.JAVA基础与案例开发详解[M].清华大学出版社.2009.45-46.[2]康牧.JSP动态网站开发实用教程[M].清华大学出版社.2009.127-127.[3]刘亚宾.精通Eclipse--JAVA技术大系[M].电子工业出版社.2005.167-168.[4]于万波.网站

温馨提示

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

评论

0/150

提交评论