基于Web的影院信息管理系统.doc

上传人:文****钱 文档编号:22126 上传时间:2018-04-28 格式:DOC 页数:43 大小:14.89MB
下载 相关 举报
基于Web的影院信息管理系统.doc_第1页
第1页 / 共43页
基于Web的影院信息管理系统.doc_第2页
第2页 / 共43页
基于Web的影院信息管理系统.doc_第3页
第3页 / 共43页
基于Web的影院信息管理系统.doc_第4页
第4页 / 共43页
基于Web的影院信息管理系统.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、本科毕业论文目录1绪论111研究背景及研究意义112研究内容113论文结构22系统开发工具与相关技术介绍321JSF技术322PRIMEFACES323MYECLIPSE424MYSQL425JAVA语言43需求分析531系统功能需求分析5311普通用户功能5312管理员功能632系统数据库分析7321数据库物理建模分析7322实体表详细分析733系统结构分析10331系统功能结构分析10332系统逻辑结构分析104系统详细设计1241普通用户功能的设计12411用户注册/登录功能12412查找电影功能14413电影投票功能14414添加影评功能15415礼品兑换功能15415用户订/退功能1

2、6本科毕业论文42管理员功能的设计17421管理员登录功能18422电影信息管理功能18423用户信息管理功能19424礼品管理功能2143主要界面设计22431主页设计22432电影详情页面设计2344关键问题及解决方案235系统的实现2751系统开发以及运行环境2752面向普通用户的系统功能27521系统主页功能27522用户注册/登录功能28523查找电影功能29524查看全部电影功能29524查看电影排名功能32525投票功能3253面向管理员的系统功能32531管理员主页32532电影信息管理功能33533用户信息管理功能35534礼品管理功能37结论39致谢40参考文献41本科毕业

3、论文第1页共43页1绪论随着经济的发展,人们生活质量提高了,娱乐方式也日新月异。电影不再是“奢侈品”,而是人们日常生活中休闲娱乐必备的商业产物。在这个网络信息化浓厚的时代,网络成为主要的通讯手段。当代网络如此发达,也有不少基于WEB的电影院网站,如深圳太阳数码影城、MTIME时光网、58影院等。他们多用JSP实现动态网站制作。JSP将网页的设计同网页的后台逻辑分离,是支持可重用的基于组件的设计。但是JSP的组件不够丰富,要实现特殊功能的控件,如用户打分的可拖拉五角星打分条,没有现成的组件,编写制作起来非常复杂麻烦。虽然JSP简化了编程开发,但在复杂逻辑中还是要编写很多代码,开发人员的学习负担也

4、不断加重。JAVASERVERFACES(JSF)框架可以很好的解决以上问题,它提供全新的,动态的标签库,且组件丰富多样,组件可以同托管BEAN绑定,进一步简化了代码编写,减少了代码量。利用JSF能制作出饱满的页面,且支持拖拽功能,非常方便。因此本系统要使用JSF框架,利用发达的网络技术,构建起一个基于WEB的影院信息管理系统。11研究背景及研究意义信息时代的今天,我们感受到计算机科学日新月异的气息日渐膨胀。如此,信息的传播途径与传递方式也随之丰富多彩。发展日渐成熟的计算机网络承载着大量信息的流通任务,人们的生活也越来越依靠网络。在日常娱乐商品中,电影成为丰富精神生活的佳品。而如今信息流逝太快

5、,传统媒体不能对影院起到较高效的宣传与展示,电影文化只存在于纸张和胶片中使其传播力度受到局限。由此一来,人们不易在第一时间获知影院动态,许多精彩的电影信息得不到广泛交流,得不到有效的定格,人们想要了解详细的、日志性的影院信息可能也无从下手。我们要利用发达的网络,利用时新的技术,构建起一个基于WEB的影院信息管理系统。这样,各大影院就可以合理规划电影信息,展示影院文化,与客户做好充分交流,让用户感受到实时信息,使影院运营的更加流畅,获取更好的经济效益。12研究内容该系统主要面向普通用户和管理员两种人群。对于普通用户可实现注册/登录功能、积分获取功能、查找站内电影功能(多条件查找)、浏览影院电影信

6、息功能、添加影评功能、电影投票功能、订/退票功能、兑换礼品功能;管理员可实现注册/登录功能、更新电影信息功能、据用户投票进行电影排名功能、更新展示的礼品功能、管理用户功能。该系统使用了新框架JAVASERVERFACES20,使用的开发语言为JAVA语言,开发工具采用的是MYECLIPSE100,采用TOMCAT70作为WEB服务器,采用MYSQL作为数据库。本科毕业论文第2页共43页13论文结构本文首先对实现系统所有的技术和工具进行了介绍(第二章);其次对系统需求进行了详细的分析(第三章);再次,本文对系统的详细设计与实现,以及所遇到的关键问题及解决方案做了详细的阐述(第四章);最后对系统实

7、现效果进行了展示(第五章)。本科毕业论文第3页共43页2系统开发工具与相关技术介绍本系统使用JSF20技术,PRIMEFACES35参考实作,MYECLIPSE100开发环境,MYSQL数据库,TOMCAT70服务器。21JSF技术JAVASERVERFACES(JSF)是一个新的,基于JAVA的标准框架。它为WEB应用程序提供了用户接口,而且它化简了用户接口的应用。也就是说,JSF提供了一种以组件为中心的用户界面UI构建方法1,不管是前台页面设计人员还是后台程序开发人员,都可以使用JSF独立地完成自己涉及的模块,前台与后台得到了有效地分离,大大减小了耦合度。JSF20内置于FACELETS提

8、供的先进模板,与AJAX更完美地结合;它提供了复合多种功能的组件,只需将组件的功能属性启动,就可以非常简便的使用该功能;它整合了BEAN的验证,改进了验证规范2。JSF有很多用于提高其WEB应用程序的类库,如PRIMEFACES,MYFACES等,本系统使用了PRIMEFACES类库。MVC是常用的设计模式,本系统使用了JSF来实现。MVC是MODELVIEWCONTROLLER的简称,即模型视图控制器3。使用JSF实现视图层,使页面更加独特美观,它解决了网页设计的静态性与程序设计的动态性间的矛盾,使设计更加方便简洁。JSF提供了一组新的动态的标签,它与后台动态程序相连接。JSF框架自带的SE

9、RVLET担任了MVC中的控制器,而后台BEAN实现了模型层。JSF实现了视图和业务逻辑代码的完全分离,完全遵循MVC2模式4。那么在JSF中是怎样实现前台与后台的联系,利用什么来管理资源的呢这就是托管BEAN。在JAVA编程语言中,一个托管BEAN(MANAGEDBEAN)就是一个JAVA对象。定义了托管BEAN,就不需再手动实例化类对象了。托管BEAN代表了一种可管理的资源,比如一个组件,一个台设备,一个服务类。托管BEAN具有惰性初始化的性质,仅当在运行时间内应用程序需要它时,容器才将它初始化,也就是说,在JSF架构中,后台处理BEAN交由JSF容器进行管理。配置文件为FACESCONF

10、IGXML,BEAN对象的生命周期可以为NULL用时才生成5。任何JAVA公共类,任何无参的构造函数都能做托管BEAN,LIST和MAP对象也可以2。22PRIMEFACESPRIMEFACES是JSF的参考实例。它提供了丰富的组件,内置于AJAX,基于JSF20标准。它是轻组件库,只有一个JAR文件,无需配置,没有必要的依附体,是页面表现的更生动,倍受程序开发者的青睐。PRIMEFACES提供了局部页面呈现功能,这就可以选择在一个JSF生命周期中要运行什么,最后要同AJAX返回什么数据。JSF的原稿基于JQUERY和本科毕业论文第4页共43页JAVASCRIPT6。PRIMEFACES提高了

11、JSFWEB应用程序开发的效率,它主要由三个模块构成,即UI模块,OPTIMUS模块和FACESTRACE模块。UI提供的组件支持通过AJAX更新页面。OPTIMUS模块简化了JSF的开发,FACESTRACE模块提供的各种工具能够JSFWEB应用程序,可查看JSF生命周期,进行性能跟踪查看,监听页面信息等。23MYECLIPSE本系统使用MYECLIPSE100开发平台。MYECLIPSE是ECLIPSE支持下的J2EE开发插件,功能十分完善,具备了完备的编码、调试、测试和发布等功能并且完整支持HTML、STRUTS、JSF、CSS、JSP、SQL、HIBERNATE、SPRING等技术。M

12、YECLIPSE插件基本上涵盖了众多ECLIPSE插件的功能,能满足我们的各种应用需求,基本上安装了它就无须其它任何插件7。用GENUITEC公司的集成开发环境MYECLIPSE做开发,人机界面良好、交互性好、实时性强、移植性强,经过实际运行检验,证实了该系统操作简便,响应快,通用性、灵活性和安全性好8,能够明显提影院信息管理的效率。24MYSQLMYSQL是由瑞典MYSQLAB公司开发的一个开放源码的小型关联式数据库管理系统,由于其体积小、速度快、总体拥有成本低被广泛地应用在INTERNET上的中小型网站开发中,目前通过JDBC连接MYSQL一般采用两种方式JDBCODBC连接桥方式和纯JA

13、VA驱动程序直接连接的方式9。JDBC(JAVADATABASECONNECTIVITY)是基于中间件平台的一种数据库访问技术,他能够很好的与ODBC(OPENDATABASECONNECTIVITY)结合,具有可移植性、平台无关性10。要通过JDBC访问MYSQL,需要下载JDBC驱动程序。通过DRIVERMANAGER类的GETCONNECTION方法可以建立连接11。数据库中数据的丢失,若无法通过软件等途径恢复,则会致使业务无法进行12。所以数据库的备份是非常重要的。MYSQL可通过MYSQLDUMP、客户端管理工具、直接拷贝、日志进行备份。25JAVA语言JAVA语言是一种纯面向对象的

14、编程语言。它主要的特性是面向对象,可移植性,多线程,动态性。面向对象所具有的封装性,继承性,多态性等特点使其具有强大的生命力15。JAVA文件中存放了JAVA源程序,它经JAVAC命令编译后就生成了相应的CLASS文件。本科毕业论文第5页共43页3需求分析所谓好的开始是成功的一半,在启动一个项目前需求分析是必不可少的也是至关重要的一步。我们要对准启动项目进行数据采集,分析预计实现的功能及功能的可行性,对系统结构进行搭建,对数据对象进行物理建模,对其存储方式、存储结构、依赖关系进行缜密的揣测定夺。31系统功能需求分析基于WEB的影院信息管理系统面向两种用户,即普通用户和管理员。普通用户为影院的大

15、众客户,通过该系统与影院进行信息交流;管理员则是对系统的数据进行管理,主要是对数据的修改,添加和修改。下面对面向普通用户功能和面向管理员功能进行具体分析。311普通用户功能普通用户功能用例图建模分析如图31所示。图31普通用户功能用例建模分析图A普通用户注册功能用户输入用户名及密码后,注册成功后方可登录。未经注册登录者,系统予以提示,并拒绝本次登录。普通用户身份代码为“0”。B普通用户登录功能对已注册用户经行用户名与密码的匹配验证。验证通过后方可登录成功。C积分获取功能用户注册成功后自动获取相应积分(本系统为30分)。订票成功后会获取相应积分(本系统为10分),退票后收回所获积分。积分可换取礼

16、品。本科毕业论文第6页共43页D添加影评功能用户可对电影进行评价,打分。E电影投票功能用户可选择进入投票页面,对电影进行投票。F订票功能用户登录成功后可订电影票,根据座位图选择座位号,订票成功后返回订单号。G退票功能登录后可查看订单信息,在订单生产后24小时内可退订。H查找电影功能用户可根据电影名称,电影效果(是否为3D电影),上映日期,观看日期,电影分类查找站内电影。I浏览网站功能用户无需登录,可查看近期上映电影信息,站内电影列表,电影详细信息等页面,但如果要实现登录后才有的功能,若尚未登录,系统会予以提示。312管理员功能管理员功能用例图建模分析如图32所示。图32管理员功能用例建模分析图

17、A管理员登录功能管理员已添加到数据库中,身份代码为“1”。管理员无注册功能,新的管理与由已有管理员进行添加(见更新用户功能)。登录时,系统根据身份代码验证身份,同时验证用户名和密码是否匹配,可报错。登录成功后进行相应操作。B更新电影信息功能可添加/删除电影;修改电影信息电影名称,上映时间,电影简介,电影效果,海报。C更新礼品信息对用户积分可换取的礼品进行添加,删除。D发布电影排榜功能根据用户投票对电影进行热度排名,将排名列表公布。E更新用户功能总管理员身份代码为“1”可添加新管理员和普通用户,新管理员本科毕业论文第7页共43页属于二级管理员,身份代码为“2”。只有总管理员才能删除二级管理员和普

18、通用户。F普通用户功能管理员登录后拥有普通用户的多有功能。32系统数据库分析本系统设计到的实体表有用户信息表、电影信息表、电影分类表、影评表、礼品信息表、影院座位表、订单表、礼品兑换单表。321数据库物理建模分析系统数据库物理建模如图33所示。USERINFORMFILMGIFTCRITICISMFILMCATEGORYSUBSCRIBGIFTEXCHANGEALLSEATN1外键USERID1N外键GIFTIDN1外键USERIDN1外键FILMIDN1外键FILMIDNN图33数据库物理建模USERINFORM(用户信息表)与GIFT(礼品表)通过GIFTEXCHANGE(礼品兑换单表)关

19、联起来;USERINFORM与FILM(电影信息表)通过SUBSCRIBE(订单表)关联起来;FILM与CRITICISM(评论表)为N1的关系;FILM与FILMCATEGORY(电影分类表)为NN的关系;ALLSEAT为座位表,存储影院多有座位号,与其他表没有关联。322实体表详细分析AUSERINFORM为用户信息表。它记录了用户名(USERNAME),用户密码(PASSWORD),身份编码(USTATUS,标记普通用户和管理员级别),用户编号(USERID),用户积分(USCORE)。用户信息表如表31所示。BFILM为电影信息表。它记录了电影名称(FILMNAME),电影编号(FIL

20、MID),电影效果(IS3D),电影海报(FILMPICTURE),电影简介(FILMDESCRIBE),电影得分(FILMSCORE),所得投票数(VOTE),上映时间(FILMTIME),播出时间(SHOWTIME),电影分类(CATEGORY1,CATEGORY2,CATEGORY3),余票数(TICKETCOUNT)。电影信息表如表32所示。本科毕业论文第8页共43页表31用户信息表字段名称字段类型主键外键是否为空默认值USERIDINT11是否USERNAMEVARCHAR10否PASSWORDVARCHAR15否USTATUSINT1否USCOREINT10UNSIGNED是表32

21、电影信息表字段名称字段类型主键外键是否为空默认值FILMIDINT11是否FILMNAMEVARCHAR20是NULLIS3DVARCHAR5是NULLFILMDESCRIBETEXT是NULLFILMPICTUREVARCHAR20是NULLCATEGORY1VARCHAR10是NULLCATEGORY2VARCHAR10是NULLCATEGORY3VARCHAR10是NULLFILMTIMEVARCHAR20是NULLSHOWTIMEVARCHAR100是NULLVOTEINT11是NULLFILMSCOREINT11是NULLTICKETCOUNTINT11是NULLCFILMCATEG

22、ORY为电影分类表。它记录了分类编号(FCATEGORYID),分类名称(FCATEGORY)。电影分类表如表33所示。表33电影分类表字段名称字段类型主键外键是否为空默认值FCATEGORYIDINT11是否FCATEGORYVARCHAR10是NULLDGIFT为用户积分兑换的礼品信息表。它记录了礼品编号(GIFTID),礼品名称本科毕业论文第9页共43页(GIFTNAME),礼品描述(GIFTDESCRIBE),礼品实体图(GIFTPICTURE),所需积分(REQUIREDSCORE)。礼品信息表如表34所示。表34礼品信息表字段名称字段类型主键外键是否为空默认值GIFTIDINT11

23、是否GIFTNAMEVARCHAR20是NULLGIFTDESCRIBETEXT是NULLGIFTPICTUREVARCHAR20是NULLREQUIREDSCOREINT11是NULL表35电影票订单表字段名称字段类型主键外键是否为空默认值SUBIDINT11是否FILMIDINT11是否FILMNAMEVARCHAR20是NULLSUBTIMEVARCHAR20是NULLSUBNUMINT11是NULLUSERIDINT11是否ESUBSCRIB为电影票订单表。它记录了订单号(SUBID),电影编号(FILMID),电影名称(FILMNAME),下单时间(SUBTIME),座位号(SUBN

24、UM),用户编号(USERID)。电影票订单表如表35所示。FCITICISM为电影评论表。它记录了影评编号(CRIID),影评内容(CRIDESCRIBE),电影编号(FILMID)。电影评论表如表36所示。表36电影评论表字段名称字段类型主键外键是否为空默认值CRIIDINT11是否CRIDESCRIBETEXT否FILMIDVARCHAR20是否GGIFTEXCHANGE为礼品兑换单表,它的性质同电影票订单表一样,用户每兑换一样本科毕业论文第10页共43页礼品便生成一张兑换单。它记录了兑换单编号(GIFTEXCHANGEID),礼品编号(GIFTID),用户编号(USERID),礼品名称

25、(GIFTNAME),礼品实体图(GIFTPICTURE)。礼品兑换单表如表37所示。表37礼品兑换单表字段名称字段类型主键外键是否为空默认值GIFTEXCHANGEIDINT11是否GIFTIDINT11是否USERIDINT11是否GIFTNAMEVARCHAR20是NULLGIFTPICTUREINT11是NULLHALLSEAT为影院所有的座位编号表。它为独立的表,与其它表没有联系。它之记录了所有座位号(SEATNUMBER)。座位编号表如表38所示。表38座位编号表字段名称字段类型主键外键是否为空默认值SEATNUMBERINT11是否33系统结构分析331系统功能结构分析本系统面向

26、的操作主体为普通用户和管理员,操作对象主要为电影信息、用户信息和礼品信息。普通用户对电影信息的操作有查看、打分、投票、订/退票;对礼品信息的操作有查看、兑换;对用户个人信息的操作有查看和修改。管理员对三种信息的操作有增加、删除、修改。系统功能结构图如图34所示。332系统逻辑结构分析JSF中用到托管BEAN实现前台页面同后台的传值。该系统采用JDBC技术实现同数据库的连接。包CINEMASMANAGEBEAN中定义了所有的托管BEAN,托管BEAN与前台空间绑定。DAO包中定义了所有的具体的业务逻辑。后台通过DAO包同数据库连接,对数据库进行操作,在CINEMASMANAGEBEAN包中调用这

27、些操作和返回的结果集向前台页面传值。FILTER包中是过滤器,文件上传时用到。系统包图如图35所示。本科毕业论文第11页共43页图34系统功能结构图CINEMASMANAGEBEANDAOFILTER图35系统包图基于WEB的影院信息管理系统普通用户功能管理员功能电影信息礼品个人信息电影信息礼品信息用户信息个人信息查看添加影评、打分订/退票兑换修改删除修改增加本科毕业论文第12页共43页4系统详细设计本系统面向管理员和普通用户两种人群。管理员不可注册,只能由已有管理员进行添加。系统主页,所有电影信息是开放的,无需登录就可浏览;而订票,兑换积分,电影投票,电影评价是要用户进行登录后才可享有的功能

28、。系统要对实体用户、电影、电影分类、影评、礼品、订单进行管理,所以建立了相应的托管BEAN的类USERBEAN,FILMBEAN,ALLFCATEGORYBEAN,CRITICISMBEAN,GIFTBEAN,SUBSCRIBBEAN;托管BEAN要对数据库进行访问则通过DAO包的相应类USERDAO,FILMDAO,ALLFCATEGORYDAO,CRITICISMDAO,GIFTDAO,SUBSCRIBDAO实现。系统类图如图41所示。USERBEANFILMBEANGIFTBEANALLFCATEGORYBEANCRITICISMBEANSUBSCRIBBEANBASEDAOUSERDA

29、OFILMDAOGIFTDAOALLFCATEGORYDAOCRITICISMDAOSUBSCRIBDAO图41系统类图41普通用户功能的设计411用户注册/登录功能本科毕业论文第13页共43页A用户注册USERLOGXGTMLUSERBEANUSERBEANUSERDAOUSERDAOUREGISTUSERDETAILXHTMLXHTMLSETUSERNAMESTRINGUSERREGISTSTRING,STRINGSETPASSWORDSTRING图42用户注册时序图该功能实质就是对数据库的用户表进行插入操作。用户注册时向页面的输入用户名和密码,分别与USERBEAN中的USERNAME和

30、PASSWORD绑定,的REQUIRED属性值为真,用进行输入空的提示。注册按钮的ACTION属性值为USERBEANUREGIST,即与USERBEAN的PUBLICSTRINGUREGIST()方法绑定。点击注册按钮后,触发USERBEAN类中的UREGIST()方法,在该方法中又嵌套调用USERDAO中的PUBLICSTRINGUSERREGIST(STRINGUSERNAME,STRINGPASSWORD)方法,将前台传入USERBEAN的USERNAME和PASSWORD的值作为参数传给USERREGIST()方法。若注册成功,则返回字符串“YES”,若失败则返回“FAIL”。对FA

31、CECONFIGXML进行配置,检测与USERBEAN绑定的函数的返回值,实现页面跳转。时序图如图42所示。B用户登录USERLOGXHTMLXHTMLUSERBEANUSERBEANUSERDAOUSERDAOUCHECKLOGINFINDUSERSSTRING,STRINGSETSESSIONVALUESTRING,OBJECT本科毕业论文第14页共43页图43用户登录时序图用户登录就是对数据库的用户表进行查找,锁定用户名和密码两个条件。用户登录时向中输入用户名和密码,两个输入文本框分别与USERBEAN的USERNAME和PASSWORD绑定,其REQUIRED属性值为真。登录按钮与US

32、ERBEAN的PUBLICSTRINGUCHECKLOGIN()方法绑定,点击登录按钮后触发USERBEAN类中的UCHECKLOGIN()方法,在该方法中又嵌套调用USERDAO类中的PUBLICSTRINGFINDUSERS(STRINGUSERNAME,STRINGPASSWORD)方法,将前台传入USERBEAN的USERNAME和PASSWORD作为参数送入FINDUSERS(),登录成功后返回字符串“SUCCESS”,若失败则返回“FAIL”。同样对FACECONFIGXML文件进行配置实现页面跳转。时序图如图43所示。412查找电影功能该功能使用PRIMEFACES中的控件DAT

33、ATABLE实现。DATATABLE的VALUE属性值是一个数据集,即要放入该数据表的数据集合。在此,该数据集为FILMBEANFILMS,即DATATABLE与FILMBEAN中的集合FILMS绑定。FILMS由FILMDAO类中的PUBLICLISTFINDFILM()方法返回。DATATABLE的VAR属性值表示数据集中的一个元素,在此VAR“FSEARCH”。DATATABLE中加入,使用期FILTERBY属性即可实现按指定字段查找。如按电影上映日期查找,赋值FILTERBY“FSEARCHFILMTIME”(FILMTIME为FILMBEAN的一个属性,表示上映时间)即可。413电影

34、投票功能FVOTEXHTMLXHTMLUSERBEANUSERBEANFILMBEANFILMBEANFILMDAOFILMDAOFILMVOTEACTIONEVENTGETSESSIONVALUESTRINGFILMVOTEINT,INT图44电影投票时序图该功能就是对数据库的电影表的票数字段进行更新操作。该功能使用DATATABLE盛放数据集,即所有电影,每条记录后面加一个投票功能列,使用。其ACTIONLISTENER属性值为FILMBEANFILMVOTE,即与FILMBEAN类的PUBLICVOIDFILMVOTE(ACTIONEVENTEVENT)方法绑定。FILMVOTE()中调

35、用FILMDAO类的PUBLICINTFILMVOTE(INT本科毕业论文第15页共43页VOTE,INTFILMID)方法。形参VOTE为当前票数,FILMID为待打分电影的编号,这两个参数由页面的传入。在后台使用EVENTGETCOMPONENTGETATTRIBUTESGET“FATTRIBUTE的NAME属性值”方法即可获取FATTRIBUTE的值。时序图如图44所示。414添加影评功能用户在电影详细信息页面进行电影打分和添加影评。A电影打分使用PRIMEFACES的RATING组件实现,并给RATING添加AJAX。设置RATING与FILMSCORE(FILMBEAN的一个属性,表

36、示电影当前得分)绑定,设置AJAX监听事件为“RATE”,监听动作为FILMBEANONRATE,更新对象为消息控件,即用户进行打分动作后会触发FILMBEAN类的PUBLICVOIDONRATE(RATEEVENTRATEEVENT)方法,在该方法中嵌套调用FILMDAO类中的PUBLICINTRATESCORE(INTFILMSCORE,INTFILMID)方法,将前台传入的电影当前得分(通过GETSESSIONVALUE(“键”)得到)和电影编号(通过前台RATING组件的得到)作为实参传入,如此实现打分。打分的实质就是对数据库的电影表进行更新操作,更新其得分字段。打分成功后会有消息提示

37、用户的打分值,在ONRATE方法中调用FACECONTEXTGETCURRENTINSTANCEADDMESSAGE方法实现消息提示。B添加影评影评的添加实质上就是在数据库中影评表里插入一条记录的操作。使用盛放用户输入的评论,该控件与CRITICISMBEANCRIDESCRIBE(CRIDESCRIBE属性为影评字段)绑定。提交按钮与CRITICISMBEANFCRITICISMINSERT绑定,且设置提交按钮的AJAX值为真,更行对象为整个表单,实现动态刷新,提交评论后就能立刻看到自己的评论。点击提交按钮后触发CRITICISMBEAN类的PUBLICVOIDFCRITICISMINSER

38、T方法,该方法中又嵌套调用CRITICISMDAO类中的PUBLICINTFILMCRIINSERTBYID(INTFILMID,STRINGCRIDESCRIBE)方法,FILMID通过GETSESSIONVALUE()方法得到,CRIDESCRIBE通过绑定的前台控件传入。415礼品兑换功能用户登录成功后,点击礼品兑换选项卡进入礼品列表页面,此选项卡使用PRIMEFACES的控件实现。用户每兑换一次礼品前进行用户的积分检测,积分符合则实现兑换,用户的积分要相应的减少,对数据库中礼品兑换单表插入一天兑换记录。GIFTBEAN是管理礼品的托管BEAN,集合ALLGIFTS是其属性之一,表示所有

39、礼品的集合,通过GIFTDAO类中的FINDALLGIFTS()方法返回,该方法实质就是对数据库进行一次查询操作。在前台页面中使用PRIMEFACES的DATAGRID控件来盛放该集合,与DATATABLE相似,VAR属性也表示集合中的一个元素。兑换按钮的ACTIONLISTENER值为GIFTBEANGIFTEXCHANGE,AJAX值为真,更新对象为整个表单,这样用户兑换后就能立刻看到刚才兑换的礼品(页面动态本科毕业论文第16页共43页刷新具体实现见44)。点击兑换按钮后触发GIFTBEAN类的GIFTEXCHANGE(ACTIONEVENTEVENT)方法。在该方法中,首先通过SESSI

40、ON得到用户积分,将该积分与礼品所需积分对比,少于则提示积分不足,多余则先后调用GIFTDAO类中PUBLICSTRINGEXCHANGEINTUSERID,INTGIFTID,STRINGGIFTNAME,STRINGGIFTPICTURE和PUBLICVOIDUSERSCOREDIVIDINTREQUIREDSCORE,INTUSERID两个方法,其中GIFTID,GIFTNAME,GIFTPICTURE,REQUIREDSCORE通过兑换按钮下的得到,USERID通过SESSION得到。415用户订/退功能A用户订票USERDETAILXHTMLXHTMLUSERBEANUSERBEAN

41、FILMBEANFILMBEANFILMDAOFILMDAOGETFILMSFINDFILMSELECTEDFILMACTIONEVENTBUYTICKETXHTMLXHTMLSELECTBYIDINTSUBSCRIBBEANSUBSCRIBBEANSUBSDAOSUBSCRIBDAOGETALLSEATSFINDSELECTEDSEATSINTFINDSEATSBUYTICKETACTIONEVENTGETSESSIONVALUESTRINGADDSUBSCRIBINT,INT,STRING,STRING,STRINGFILMTICKETSDIVIDINTUSERSCOREADDINT图45

42、用户订票时序图用户登录成功后点击订票选项卡进入有订票功能的电影列表。该列表由PRIMEFACES的DATAGRID盛放。订票操作实质上是对数据库中三个表的操作对订单表插入一条订单记录,对电影表的余票字段进行减量更新,对用户表的用户积分字段进行增量更新。点击订票按钮后跳转到BUYTICKET(订票)页面,将该电影编号传入此页面(页面传值详细实现见44),该页面根据电影余票数动态生成座位号(生成座位号详细实现见44),即本科毕业论文第17页共43页已订走的座位号不再出现。每个座位号是一个按钮,点击按钮生成一个订单,该按钮ACTIONLISTENER属性与SUBSCRIBBEANBUYTICKET绑

43、定,点击座位号按钮触发SUBSCRIBBEAN类的PUBLICVOIDBUYTICKETACTIONEVENTEVENT方法,在该方法中首先嵌套调用FILMDAO类的PUBLICINTTICKETCOUNTS(INTFILMID)方法检测电影余票数,有余票则先后调用SUBSCRIBBEAN类的PUBLICSTRINGADDSUBSCRIBINTUSERID,INTFILMID,STRINGSUBSTIME,INTSEATNUM,STRINGFILMNAME,PUBLICVOIDFILMTICKETSDIVIDINTFILMID和PUBLICVOIDUSERSCOREADDINTUSERID方法

44、。其中FILMID,FILMNAME,USERID通过SESSION得到,SEATNUM通过座位号按钮下的得到,SUBSTIME是下单时间,通过调用GIDTDAONOWTIME()方法得到当前系统时间(详细实现见44)。时序图见图45所示。B用户退票USERDETAILXHTMLXHTMLSUBSCRIBBEANSUBSCRIBBEANSUBSDAOSUBSCRIBDAOFILMBEANFILMBEANDELETESUBACTIONEVENTGETSESSIONVALUESTRINGDELETESUBINTFILMTICKETSADDINTUSERSCOREDIVIDINT图46用户退票时序图

45、用户登录成功后会进入用户详情界面,其中包括用户订单列表,可对该列表进行删除行的操作。删除订单的实质就是对数据库的订单表进行删除操作,对用户表的用户积分字段值进行减量更新,对电影表的余票数字段值进行增量更新。使用PRIMEFACES的DATATABLE控件盛放该用户订单的集合,由SUBSCRIBDAO类的PUBLICLISTFINDALLSUBSINTUSERID方法返回。其中USERID通过SESSION得到,即通过用户编号从数据库的订单表中选出对应用户的所有订单。删除按钮同SUBSCRIBBEANDELETESUB绑定,及点击删除按钮后调用SUBSCRIBBEAN的PUBLICVOIDDEL

46、ETESUBACTIONEVENTEVENT方法,在该方法中先后调用SUBSCRIBDAO类的PUBLICVOIDDELETESUBSTRINGSUBID方法,PUBLICVOIDFILMTICKETSADDINTFILMID方法和PUBLICVOIDUSERSCOREDIVIDINTUSERID方法。其中SUBID和FILMID通过删除按钮下的得到,USERID通过SESSION得到。时序图如图46所示。42管理员功能的设计本科毕业论文第18页共43页421管理员登录功能同用户登录相似。不同的是管理员登录时调用USERBEAN类中的PUBLICSTRINGCHECKLOGIN()方法,在此方

47、法中嵌套调用USERDAO类中的PUBLICSTRINGFINDMUERS(STRINGUSERNAME,STRINGPASSWORD)方法,该方法中调用了SETSESSIONVALUE()方法,将管理员编号与身份代码保存到SESSION中,供修改个人信息和删除操作时用。此方法中加上了身份代码的验证条件(管理员的身份代码为1或2),通过验证则登录成功。422电影信息管理功能电影信息管理功能分为添加电影,修改电影信息,删除电影,添加电影分类,和删除分类。A添加电影电影名称(FILMNAME),电影效果(IS3D),电影分类(CATEGORY1,CATEGORY2,CATEGORY3),代售票数(

48、TICKETCOUNT),上映日期(FILMTIME)都使用输入,电影简介(FILMDESCRIBE)使用输入,这些控件分别与FILMBEAN的相应属性绑定。电影的海报添加要使用文件上传功能,由PRIMEFACES的FILEUPLOAD控件实现(详细实现见44)。添加按钮与FILMBEANFILMINSERT绑定,点击添加按钮触发FILMBEAN类的PUBLICVOIDFILMINSERT()方法,在此方法中嵌套调用FILMDAO类中的PUBLICINTFILMINSERTSTRINGFILMNAME,STRINGIS3D,STRINGCATEGORY1,STRINGCATEGORY2,STR

49、INGCATEGORY3,STRINGFILMPICTURE,STRINGFILMDESCRIBE,STRINGFILMTIME,INTTICKETCOUNT方法,其中的参数都有前台绑定的FILMBEAN的属性值得到。添加成功或失败都有相应的消息提示,设置添加按钮的AJAX属性值为真,更新对象为相应消息提示框。时序图如图47所示。FILMINSERTXHTMLXHTMLFILMBEANFILMBEANFILMDAOFILMDAOFACECONTEXTFILMINSERTFILMINSERTSTRING,STRING,STRING,STRING,STRING,STRING,STRING,STRING,INTADDMESSAGESTRING图47添加电影时序图B修改电影信息该功能就是根据前台页面传来的FILMID查到电影表的一条记录,对该记录进行更新操作。电影列表由盛放,每条记录后有一个修改按钮,此修改按钮下的将FILMID传入后台,通过FILMID选出要修改的电影的详细表单,管理员能够本科毕业论文第19页共43页修改电影名称(FILMNAME),电影效果(IS3D),电影分类(CATEGORY1,CATEGORY2,CATEGORY3),代售票数(TICKETCOUNT),上映日期(FILMTIME),电影

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。