面向对象程序的设计实训说明书_电影院网上订票系统设计
《面向对象程序设计》java课程设计航空订票管理系统设计大学论文

学号xx xx《面向对象程序设计》课程设计报告题目:xx专业:xx班级:x姓名:xx指导教师:x成绩:xxxx年 x月x日目录1 设计内容及要求 (1)1.1 设计任务与要求 (1)1.2硬件可靠性 (1)1.3系统运行的稳定性 (1)1.4系统功能齐全、开放性好 (1)2 需求分析 (2)2.1 数据的输入 (2)2.2 数据的修改 (2)2.3 数据的删除 (2)2.4 数据的查询 (2)3 概要设计 (3)3.1系统用例图 (3)3.2用例描述 (3)3.3 基本描述 (4)3.4 功能 (4)3.5 算法 (5)3.5 流程逻辑 (6)4系统数据结构设计 (11)4.1 逻辑结构设计要点 (11)4.2 物理结构设计要点 (11)4.3 数据结构与程序的关系 (12)4.4 数据库分析 (12)4.5 程序系统的组织结构 (14)6 系统运行效果与操作 (16)参考文献: (36)1 设计内容及要求1.1 设计任务与要求对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。
建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径,此外还具有重要意义:1、改善航空公司服务质量;2、创造和提升航空公司的品牌优势;3、优化航空公司的服务流程;4、提升信息化的水平;1.2硬件可靠性数据库服务器:数据库服务器用于存放用户及航班信息等资料,配一台专用服务器,安装数据库SQL server2000。
1.3系统运行的稳定性系统支持操作系统如下:Windows vista、Windows XP(服务器版本)(推荐)或Windows 2000,系统运行稳定可靠,可以保证365天*24小时的不间断运行,并安装杀毒软件,防止病毒的干扰,保证系统的运行稳定。
SQL Server数据库服务器版, 可以存储管理大量数据信息1.4系统功能齐全、开放性好订票,退票,查询,管理等业务,全部使用软件来控制,因此今后功能变动、业务改动很灵活。
订票系统面向对象设计

课程设计〔大作业〕报告课程名称:软件设计与体系结构设计题目:航天订票系统院系:软件技术学院设计时间:2011编写目的1.本文档旨在从技术、经济、操作等方面综合研究分析机票预订系统的需求以与各模块需要实现的具体要求,尽可能多地考虑在日后研发过程中可能出现的问题,为日后的概要设计和详细设计打根底2.便于用户、系统分析人员和程序员对需求进展理解和交流,初步判定目标软件能否满足其原来的期望,并可作为系统分析员设计软件的根本出发点;3.确立可测试标准,用于软件开发完成后测试产品。
4.预期的读者和阅读建议:●项目经理,项目组成员:须将本文档的全部容理解清楚。
●测试人员:主要阅读本文中详细的需求局部。
●客户:需明确所有的需求分析是否符合自己提出的要求。
背景说明:1.软件系统名称:航空机票预订系统。
2.任务提出者:XX航空公司3.开发者:08计科一班第九小组4.用户:XX航空公司,各大订票点5.实现:XX航空公司计算中心6.航空机票预订系统构建平台为Windows 2000与以上,其数据库构建在SQL Server 2005上,并可于其他同级别航空公司的订票系统实现权限限制性兼容,与Windows其他软件并不冲突。
用例分析航空订票系统为顾客提供根本服务●预定票务●查询●退订票务●调换航空订票系统组成局部●身份识别器●Web●●打印机●客服交流(在线与前台)●与总系统相连接的子系统电脑●系统启动(开关)提供服务页满足●进展订票时与总系统关系,是否符合订票要求●订票成功打印票务要求●每日更新航班等信息参与者:〔1〕顾客〔2〕操作管理人员〔3〕总系统〔4〕身份识别器〔5〕订票〔6〕退票〔7〕换票系统功能(1)订票〔2〕退票〔3〕换票〔4〕查询〔5〕开启〔6〕关闭用例图用例设计描述用例名称:航空订票系统参与者:顾客,总系统,打印机,验证,前置条件:顾客向订票系统客户端发送订票需求主事件流:1)顾客需求订票2)验证3)系统接收订票4)打印机票辅事件流:1)顾客通过订票系统订票,如果未通过合格身份验证如此返回主顾客订票系统2)如果所订机票已售完返回主顾客订票系统后置条件:订票成功,打印机打印机票顾客取消返回等待概念模型设计顶层架构设计屏幕变化的状态图〔用户界面设计〕取消交易选择结构类图航空类状态图绘画类状态图取消。
java电影购票系统课程设计

java电影购票系统课程设计一、课程目标知识目标:1. 学生能理解并掌握Java语言中面向对象编程的基本概念,包括类、对象、继承、封装和多态。
2. 学生能运用所学知识设计并实现一个电影购票系统的基本功能,如用户注册、登录、电影浏览、选座购票等。
3. 学生了解数据库连接和SQL语句的基本使用,实现对电影信息和用户信息的数据存储和查询。
技能目标:1. 学生通过本课程学习,培养分析和解决实际问题的能力,能够运用Java语言设计并开发小型应用系统。
2. 学生掌握使用集成开发环境(IDE)进行Java程序开发的方法,提高编程效率。
3. 学生掌握基本的调试技巧,能够独立解决程序中出现的常见问题。
情感态度价值观目标:1. 学生通过团队合作开发电影购票系统,培养团队协作精神和沟通能力。
2. 学生在课程实践中,增强对计算机编程的兴趣和热情,培养自主学习、勇于探索的精神。
3. 学生认识到编程在解决实际问题中的重要作用,激发对信息技术的热爱,提高社会责任感。
课程性质:本课程为高年级Java语言课程的设计实践环节,旨在巩固和提高学生面向对象编程能力,通过实际项目的开发,让学生将所学知识应用于实际问题的解决。
学生特点:学生已经掌握了Java基础知识和面向对象编程的基本概念,具有一定的编程能力,但实际项目经验不足。
教学要求:结合学生特点,注重实践操作,以项目为导向,引导学生通过团队合作、自主探究完成课程目标。
在教学过程中,关注学生的个体差异,提供有针对性的指导,确保每个学生都能在课程中取得实际的学习成果。
二、教学内容本课程教学内容主要包括以下几部分:1. 面向对象编程基础:回顾Java语言中的类、对象、继承、封装和多态等基本概念,确保学生具备扎实的面向对象编程基础。
相关教材章节:第3章 类与对象、第4章 继承与多态、第5章 封装与接口。
2. Java数据库连接:介绍JDBC的基本使用方法,使学生掌握如何使用Java 语言访问数据库。
《2024年电影票订票系统的设计与实现》范文

《电影票订票系统的设计与实现》篇一一、引言随着科技的不断进步,网络应用已成为我们日常生活中不可或缺的一部分。
在此背景下,电影票订票系统应运而生,旨在为观众提供便捷、高效的电影票购买服务。
本文将详细阐述电影票订票系统的设计与实现过程,包括系统概述、系统需求分析、系统设计、系统实现及测试与部署等关键环节。
二、系统概述电影票订票系统是一个基于网络的应用程序,通过该系统,用户可以方便地浏览电影信息、选择场次、订购电影票并完成支付。
系统旨在为用户提供友好的操作界面,降低购票的复杂性和时间成本。
三、系统需求分析1. 用户需求:用户可以注册、登录系统,浏览电影信息,选择场次和座位,完成购票及支付操作。
2. 功能需求:系统应支持多平台访问,包括PC端、移动端等;提供实时电影票务信息;支持多种支付方式;具备用户信息管理和订单管理功能。
3. 性能需求:系统应保证数据传输的安全性,确保用户信息不被泄露;提供稳定的服务器支持,保证系统运行的流畅性。
四、系统设计1. 系统架构设计:本系统采用B/S架构,即浏览器/服务器模式,用户通过浏览器访问系统,服务器负责处理用户的请求和数据存储。
2. 数据库设计:数据库是系统的核心部分,负责存储用户信息、电影信息、场次信息、订单信息等。
数据库设计应遵循规范化原则,确保数据的完整性和一致性。
3. 界面设计:界面设计应简洁明了,操作便捷。
用户界面应提供友好的交互体验,方便用户进行操作。
五、系统实现1. 后端实现:后端采用Java语言开发,使用Spring Boot框架构建Web应用。
通过JDBC或ORM框架连接数据库,实现数据的增删改查操作。
2. 前端实现:前端采用HTML、CSS和JavaScript等技术开发,使用jQuery或Vue.js等框架辅助开发。
界面设计应符合用户体验原则,提供良好的交互体验。
3. 支付接口实现:系统应支持多种支付方式,如支付宝、微信支付等。
需要与支付平台进行接口对接,实现支付功能的调用。
电影院售票系统详细设计说明书

1引言 2 1.1编写目的 21.2背景 21.3定义 21.4参考资料 22程序系统的结构 23程序1(标识符)设计说明 23.1程序描述 33.2功能 33.3性能 33.4输人项 33.5输出项 33.6算法 33.7流程逻辑 33.8接口 33.9存储分配 43.10注释设计 43.11限制条件 43.12测试计划 43.13尚未解决的问题 44程序2(标识符)设计说明 4详细设计说明书1引言1.1编写目的本说明书再概要设计的基础上,对软件的各模块、程序、子系统分别进行了实现层面上的要求和说明,从而在编码阶段可以把这些描述直接翻译成具体的用程序语言编写的程序。
预期读者为参加该项目的小组成员。
1.2背景项目名称:电影院售票管理系统项目提出者:小组采用C/S开发模式,客户端程序建立在windows NT系统上,服务器可采用linux为操作系统的工作站,采用access为开发软件的数据库服务程序。
1.3定义无1.4参考资料《实用软件工程与实训》杜文杰白萍清华大学出版社《C#程序设计与开发》谭恒松清华大学出版社《项目需求分析报告》2程序系统的结构由于系统模块过多,而且有些模块功能的实现方法基本上一样。
这里只用个主要的模块来说明。
1. 登陆模块(Login_Form)2. 售票模块(Sale)3. 退票(Ticket_Back)4. 会员注册(Register)5. 影片管理(Film_Manage)6. 数据库访问(DataAccess)3程序1(Login_Form)设计说明3.1程序描述实现登陆功能,可以选择售票员或管理员登陆,为进入系统后做准备。
3.2功能IPO图如下:3.3性能输入采用字符串型数据,窗口快速相应操作3.4输人项名称控件类型用户名文本框 String密码文本框 String登陆类型单选按钮 Object3.5输出项根据相应输入操作实现相应功能,同时把数据保存备用3.6算法没有采用算法3.7流程逻辑流程如下:3.8接口主要是和数据库模块之间的接口3.9存储分配用Microsoft Visual Studio 2008 编写,内存分配有系统自动分配3.10注释设计请参考程序编码内的注释3.11限制条件无3.12测试计划具体参考测试计划说明3.13尚未解决的问题无4程序2(Sale)设计说明4.7流程逻辑6程序4(Register)设计说明7程序5(Register)设计说明。
C语言课程设计——电影院订票系统

C语⾔课程设计——电影院订票系统1. 课题简介⼤家都爱看电影,现请参考⼀个熟悉电影票预订系统,实现C语⾔版的订票系统。
了解订票如何实现的。
系统主要有2类⽤户:管理员⽤户和顾客⽤户。
管理员⽤户登录系统后,实现电影放映厅信息管理和电影场次信息管理。
具体菜单有:1.电影放映厅信息管理选择该菜单能展⽰所有放映厅,⽤户输⼊某个放映厅编号后,能实现对放映厅增加、删除、修改功能。
主要对movie_house.txt数据修改。
放映厅主要字段信息有:放映厅编号、放映厅名称、放映厅⾏数、放映厅列数、放映厅座位初始状态。
假如放映厅是⼀个10⾏10列座位安排,其初始状态可以⽣成⼀个⼆维数组house[10][10]={0,1,2,0,0},存储座位状态。
0表⽰未定、1表⽰已定、2表⽰不能定。
初始时候应该只有0,2两种状态。
2.电影场次信息管理实现对movie.txt数据增删改及查找。
答辩务必演⽰增删改操作,对于已存在场次能提⽰不得修改。
不存在场次不能删除等容错处理。
修改和添加记录时候,⼀个放映厅⼀个时段只能排1部电影。
若超过要提⽰不能修改。
movie.txt主要字段有:电影场次编号、电影名称、播放⽇期、播放时间段、所在放映厅、放映厅座位当前状态。
(1)放映厅位置当前状态,表⽰当前位置购票情况,如house[10][10]={0,1,2,0,0}。
其中:0表⽰未定座位、1表⽰已定座位、2表⽰不能定座位。
(2)当前状态初始值应该是从movie_house.txt读取放映厅座位初始状态。
顾客登录系统后,主菜单:查看我的订单展⽰所有历史订票信息,然后可删除未看的电影订单。
(选做)注意删除订单后,相应电影场次中位置信息状态也要修改。
电影订票操作步骤如下:(1) 展⽰当前时间段后可看的电影场次信息。
(注意时间,⼀定是当前时间段后的电影信息)(2) 顾客输⼊观看电影名称和时间段,展⽰⽬前厅内位置信息。
注意⽤矩阵⽅式显⽰位置信息,每⾏10列左右,具体⾃⼰设计。
2015《面向对象的程序设计实训》指导书

《面向对象的程序设计实训》指导书课程编号:课程名称:面向对象的程序设计实训/ Practise of Object Oriented Programming Design周数/学分:2/2先修课程:计算机程序设计基础(C语言)、企业数据库应用、网站建设与网页设计、面向对象的信息系统设计适应专业:信息管理与信息系统开课学院、系或教研室:管理学院信息管理与信息系统系一、目的和要求1.目的课程设计的目的主要是提高综合应用能力。
面向对象的程序设计课程本身只讲基本知识、基本概念、通用技术,而未强调算法、软件工程、数据库等计算机应用中的重要内容。
在具体设计一个小系统中就会发现,对课程知识必须有所补充和局部深化。
2.要求本课程设计需要的先修课目有:数据库原理、管理信息系统、面向对象设计。
设计中,必定会遇到不少困难,特别是还未学管理信息系统。
在选定题目后,需要广泛的查阅资料、参考借鉴。
需要特别提醒的是:不要急于编程序,事先,一定要1)先明确系统的功能、数据关系,2)较准确地确定数据表的个数、内容、关系,3)确定系统的操作过程和界面情况, 4)约定好文件、类、变量等的命名规则。
二、课程设计内容1.开发环境 2010版本。
数据库服务器一般用Ms SQL Server 2008,其它服务器不推荐。
2.任务内容1.按问题的需要,设计出系统目标、模块结构、数据库结构。
要求:问题分析透彻、关系理解正确、处理得当。
程序结构合理,界面完备清晰。
尽量发挥面向对象程序的特色。
至少涉及3个数据库表,至少3个窗口,至少用到10种组件。
2.编制程序。
至少500行程序代码。
3.调试程序,以达到预期的目的。
4.撰写出规范的设计说明书(报告),并为指导教师提供电子文档。
同时要提交软件源程序及数据库脚本、数据库文件每人一题,具体模块功能的实现各人独立完成。
设计报告切忌雷同、切忌抄袭。
设计报告中应包括分析设计(含系统功能图、库表及表间的关系、界面设计)、关键技术描述、主要源代码等。
电影院售票系统详细设计说明书

电影院售票系统详细设计说明书2013 年12 月 2 日1.引言1.1编写目的本说明在总体设计的基础上,对软件的各模块、程序、子系统分别进行了实现层面上的要求和说明,包括程序员描述、输入输出、算法和流程逻辑,提出详细的模块和界面设计,为软件编程和系统维护提供基础。
本说明书的预期读者为系统设计人员、软件开发人员、软件测试人员和项目评审人员。
1.2背景●电影院售票系统;●任务提出者:软件开发老师开发者:解瑛、徐亚美用户:电影院●该项目将对电影票数据库系统进行管理和设计,以满足售票员对售票,订票,退票等进行高效的管理。
不同的电影院只需对其稍作修改就能开发出符合该电影院的售票系统。
1.3定义数据库:指的是以一定的方式储存在一起、能为多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
C#:C#是一种简单、现代、面向对象和类型安全的编程语言,由C和C++发展而来。
接口:接口是一种非常有效的编码工具,它可将对象的定义与实现分离,从而在不破坏现有应用程序的情况下使对象得以扩充完善,减少了系统维护的负担。
2. 系统的结构图2.1 系统的结构框图3.系统的模块设计3.1登录模块设计说明3.1.1模块描述登录系统这个功能模块有两个部分组成,分为管理员和售票员登录。
3.1.2功能用户可以进行登录,根据自己登录类型,可以管理不同的模块。
安全可靠,细分的权限管理,拒绝非法用户进入系统和合法用户的越权操作,避免系统遭到恶意破坏,防止系统数据被窃取和篡改。
可以长期稳定正常工作可以完成用户所需要的基本操作,界面通俗易懂。
3.1.4输入项输入用户名和密码。
3.1.5输出项登录成功!对不起,您用户名或密码不正确!3.1.6接口通过窗体首页中登录窗口中“登录”按钮进行调用与主页面相连接。
3.2影片信息查询模块设计说明3.2.1模块描述该模块是管理员进行影片具体信息查询,按查询会显示查询结果。
3.2.2功能管理员可以通过电影名称和影片放映时间查询影片信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中北大学面向对象程序设计实训说明书学院、系:软件学院专业:软件工程学生班级:13140A01学生姓名:景贝贝学号:1314011438 设计题目:电影院网上订票系统设计起迄日期: 2015年6月29日- 2015年7月10日指导教师:秋翔2015 年 7月 8 日实训任务书实训任务书一、需求分析需求分析包括可行性分析、系统流程图和数据流图,数据字典。
可行性分析包括技术可行性、经济可行性和操作可行性。
1.1 可行性分析1.1.1 技术可行性根据电影院提出的系统功能、性能及实现系统的各种约束条件,根据新系统目标来衡量所需的技术是否具备,本系统是一个数据库管理和查询的系统,现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,估计利用现有技术条件应完全可以达到该系统的功能目标。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限完成开发的。
由以上分析可知,影院售票系统的开发在技术上是可行的。
1.1.2 经济可行性电影院具有信息化的处理设施,并且拥有支持本系统的应用平台。
因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,电影院无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
由以上分析可知,影院售票系统在经济上是可行的。
1.1.3 操作可行性根据系统页面用户可以自动查询影片信息。
还可浏览完影片信息以后操作订票、退票等功能。
管理员也可以在后台添加、修改并删除影片信息,还可以管理注册用户信息和用户订票信息。
由以上分析可知本系统在操作上也是可行的。
1.2 系统流程图首先未注册的用户要先注册,注册完了以后输入用户名和密码进入页面。
根据上的影片信息用户可以选择自己喜欢的电影来订票。
然后订票信息会自动存储到后台订票信息数据当中。
本系统的具体流程为如图所示。
系统流程图1.3 数据流图本系统的基本模型数据流图为如图所示。
系统基本模型数据流图系统功能数据流图1.4数据需求(1)影片信息:电影名称、导演、演员、电影简介、语言、片场(分钟)、放映日期、时间、价格、票数、(2)订票信息:电影名称、放映时间、放映大厅、座位号、票价(单价)(3)用户信息:用户名、用户密码、手机号(4)放映厅信息:放映大厅名字、座位数1.5数据字典Film(电影表)seatname 放映大厅varchar10)10列名含义类型长度取值围UID 用户序号Int 2 1-1010 50username 用户名varchar(10)10 0-9password 用户密码varchar(10)列名含义类型长度取值围10 50Adminname 用户名varchar(10)10 0-9password 用户密码varchar(10)Seat(座位类别)列名含义类型长度取值围Seatid 主键Int 1-103 1-100seatname 座位编号Nvarchar(10)二、概要设计从数据需求分析中得出系统的实体属性图,遵循三式原则,对实体之间的依关系进行了整合,得出本系统E-R图,如图所示。
系统E-R图其中影片信息实体属性图又为如下图所示。
影片信息实体属性图订单详情实体属性图为如图所示。
图影片场次实体属性图用户实体属性图为如图所示。
图用户信息实体属性图全局概念E-R图三、详细设计ER图向关系模型的转换影片(影片编号,类别,票价,播放日期,名称,导演,片长)影票(影票编号,票价,播放日期,影片名称,座位号)注册用户(用户编号,用户名,密码)放映大厅(大厅编号,名字)座位(座位id,座位号)Orders(orderId,FName,Time,Hall,Number,Money);Seat(SEID,seatname);Hall(HID,HHall);User(username,password,phonenumber);Film(FID,FilmName,FDirector,FLanguage,FLong,FDate,FMoney,FNumber,FTimeID);列名含义类型长度其他TId 影票号Int 主码20TFName 电影名称Nvarchar(20)50TDate 放映日期Nvarchar(50)TTime 放映时间Nvarchar(5050)HID 放映大Nvarchar(1010 外部码user(用户表)四、编码实现文件目录IOrderDAOimpl.javapackage.movie.impl;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.List;import.movie.dao.IOrderDAO;import.movie.vo.FilmInformation;import.movie.vo.Order;public class OrderDAOImpl implements IOrderDAO{private Connection conn;private PreparedStatement pstmt = null;private PreparedStatement pstmt1 = null;private PreparedStatement pstmt2 = null;private PreparedStatement pstmt3 = null;public OrderDAOImpl(Connection conn) {this.conn=conn;}Overridepublic boolean doUpdate(Order vo) throws Exception {boolean flag = false;return false;}Overridepublic boolean doRemove(int id,String hall,String filmname,String seatname) throws Exception {boolean flag = false;//System.out.println(id);String sql = "DELETE FROM orders WHERE orderId=?";this.pstmt = this.conn.prepareStatement(sql);this.pstmt.setInt(1,id );String sql1 = "select seatnamea from hall where hall='"+hall+"' ";this.pstmt1 = this.conn.prepareStatement(sql1);ResultSet rs = this.pstmt1.executeQuery();rs.next();//System.out.println("++++++++++"+rs.getString(1));String sql2="insert into "+rs.getString(1)+"(seatname) values(?)" ;this.pstmt2 = this.conn.prepareStatement(sql2);this.pstmt2.setString(1,seatname);this.pstmt2.executeUpdate();String sql3="update film set number=number+1 where filmName=?";this.pstmt3=this.conn.prepareStatement(sql3);this.pstmt3.setString(1,filmname);this.pstmt3.executeUpdate();//System.out.println(id);if (this.pstmt.executeUpdate() > 0) {flag = true;}return flag;}Overridepublic Order findById(String id) throws Exception {// TODO Auto-generated method stubreturn null;}Overridepublic List<Order> findAll(String keyWord, int currentPage, int lineSize) throws Exception {List<Order> all = new ArrayList<Order>();String sql = "select * from orders where username=?";this.pstmt = this.conn.prepareStatement(sql);this.pstmt.setString(1, keyWord);ResultSet rs = pstmt.executeQuery();while (rs.next()) {Order order = new Order();order.setOrderId(rs.getInt(1));order.setSeatname(rs.getString(3));order.setFilmname(rs.getString(4));order.setTime(rs.getString(6));order.setHall(rs.getString(5));order.setMoney(rs.getInt(7));all.add(order);}return all;}public boolean doCreate(Order order) throws Exception {boolean flag = false;String sql = "INSERT INTO orders(username,seatname,filmname,hall,time,money) VALUES (?,?,?,?,?,?) ";this.pstmt = this.conn.prepareStatement(sql);this.pstmt.setString(1,order.getUsername());this.pstmt.setString(2, order.getSeatname());this.pstmt.setString(3,order.getFilmname());this.pstmt.setString(4,order.getHall());this.pstmt.setString(5,order.getTime());this.pstmt.setInt(6, order.getMoney());String sql1="update film set number=number-1 where filmName=?";this.pstmt1=this.conn.prepareStatement(sql1);this.pstmt1.setString(1,order.getFilmname());this.pstmt1.executeUpdate();String sql2 = "select seatnamea from hall where hall='"+order.getHall()+"' ";this.pstmt2 = this.conn.prepareStatement(sql2);ResultSet rs = pstmt2.executeQuery();rs.next();String sql3="delete from "+rs.getString(1)+" where seatname=?";this.pstmt3 = this.conn.prepareStatement(sql3);this.pstmt3.setString(1,order.getSeatname());this.pstmt3.executeUpdate();if (this.pstmt.executeUpdate() > 0) {flag = true;//System.out.println("判断");}//System.out.println(flag);return flag;}public long getAllCount(String keyWord) throws Exception { return 0;}Overridepublic List<Order> findAll() throws Exception {List<Order> all = new ArrayList<Order>();String sql = "select * from orders";this.pstmt = this.conn.prepareStatement(sql);ResultSet rs = pstmt.executeQuery();while (rs.next()) {Order order=new Order();order.setOrderId(rs.getInt(1));order.setUsername(rs.getString(2));order.setSeatname(rs.getString(3));order.setHall(rs.getString(4));order.setTime(rs.getString(5));order.setMoney(rs.getInt(6));all.add(order);}return all;}Overridepublic boolean doRemove(String id) throws Exception {// TODO Auto-generated method stubreturn false;}Overridepublic List<String> getAllseat(String keyWord) throws Exception { //System.out.println(keyWord);String sql = "select seatnamea from hall where hall='"+keyWord+"' ";this.pstmt = this.conn.prepareStatement(sql);ResultSet rs = pstmt.executeQuery();rs.next();//System.out.println("++++++++++"+rs.getString(1));String sql1="select seatname from "+rs.getString(1);this.pstmt1 = this.conn.prepareStatement(sql1);ResultSet rs1 = pstmt1.executeQuery();List<String> seatname =new ArrayList<String>();int i=0;while (rs1.next()) {//System.out.println(rs.getString(1));seatname.add(rs1.getString(1));}return seatname;}}OrderServlet.javapackage.movie.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import.movie.factory.DAOFactory;import.movie.vo.FilmInformation;import.movie.vo.Order;public class OrderServlet extends HttpServlet {public OrderServlet() {super();}public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=GBK");request.setCharacterEncoding("GBK");String status = request.getParameter("status"); // 接收操作的状态if(request.getParameter("film")!=null){String filmname= new String(request.getParameter("film").getBytes("iso8859-1"),"GBK");String hall = new String(request.getParameter("hall").getBytes("iso8859-1"),"GBK");String time=request.getParameter("time");int money =Integer.parseInt(request.getParameter("money"));HttpSession se=request.getSession();se.setAttribute("film", filmname);se.setAttribute("hall", hall);se.setAttribute("time", time);se.setAttribute("money",money);}if (!(status == null || "".equals(status))) {if ("list".equals(status)) {this.seatlist(request, response);}if ("listdetails".equals(status)) {//this.listdetails(request, response);}if ("insert".equals(status)) {this.insert(request, response);}if ("update".equals(status)) {//this.update(request, response);}if ("delete".equals(status)) {this.delete(request, response);}if ("show".equals(status)) {//this.show(request, response);}} else { // 如果没有的话才执行此跳转//request.getRequestDispatcher(pages).forward(request, response);}}private void seatlist(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("GBK") ;String hall = new String(request.getParameter("hall").getBytes("iso8859-1"),"GBK");try {//System.out.println("-----------"+hall);request.setAttribute("seat",DAOFactory.getIOrderDAOinstance().getAllseat(hall));} catch (Exception e) {e.printStackTrace();}request.getRequestDispatcher("seat_list.jsp").forward(request, response);}public void insert(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String seatname = request.getParameter("seatname");//System.out.println("zhixing1");try {HttpSession session=request.getSession();String username =(String) session.getAttribute("username");String filmname=(String) session.getAttribute("film");String hall=(String) session.getAttribute("hall");String time=(String) session.getAttribute("time");//System.out.println("zhixing2");int money=(Integer) session.getAttribute("money");/*String filmname= new String(request.getParameter("film").getBytes("iso8859-1"),"GBK");String hall = new String(request.getParameter("hall").getBytes("iso8859-1"),"GBK");String time=request.getParameter("time");int money =Integer.parseInt(request.getParameter("money"));*/System.out.println("------------------"+filmname+username+hall+time+seatnam e);//System.out.println(money);//System.out.println("zhixing2");Order order=new Order();order.setFilmname(filmname);order.setHall(hall);order.setMoney(money);order.setSeatname(seatname);order.setTime(time);order.setUsername(username);if (DAOFactory.getIOrderDAOinstance().doCreate(order)) {request.setAttribute("msgs", "订单提交成功!");} else {request.setAttribute("msgs","订单提交失败");}} catch (Exception e) {e.printStackTrace();}request.getRequestDispatcher("order_operate_do.jsp").forward(request, response);}public void delete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String pages = ""; // 默认让其跳转到错误的处理页try {int orderid = Integer.parseInt(request.getParameter("orderid"));String filmname= new String(request.getParameter("filmname").getBytes("iso8859-1"),"GBK");String seatname= new String(request.getParameter("seatname").getBytes("iso8859-1"),"GBK");String hall = new String(request.getParameter("hall").getBytes("iso8859-1"),"GBK");//System.out.println(orderid);System.out.println(filmname+seatname+hall);if (DAOFactory.getIOrderDAOinstance().doRemove(orderid, hall,filmname, seatname)) {request.setAttribute("msg", "删除成功!");} else {request.setAttribute("msg", "删除失败!");}pages = "orders_operate_do.jsp";} catch (Exception e) {e.printStackTrace();}request.getRequestDispatcher(pages).forward(request, response);}public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {this.doPost(request, response);}public void init() throws ServletException {// Put your code here}}五、测试登陆界面注册界面登陆成功界面电影信息页面选择座位号页面订单提交成功我的订单页面六、心得体会通过这次实验,让我学会了基于B/S模式,并采用MVC架构,减少了代码的重复,实验过程中还有一些未解决的问题,人机交互方面还有待改进,需要今后继续努力,平时应该多加练习,不止要学会课本上的知识,也要尽量多涉及一些与课程有关的知识。