面向对象程序设计实训说明书电影院网上订票系统设计

合集下载

《面向对象程序设计》java课程设计航空订票管理系统设计大学论文

《面向对象程序设计》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系统功能齐全、开放性好订票,退票,查询,管理等业务,全部使用软件来控制,因此今后功能变动、业务改动很灵活。

面向对象程序设计(C#.net)实训指导书

面向对象程序设计(C#.net)实训指导书

江门职业技术学院《面向对象程序设计》课程实训指导书电子与信息技术系刘丽琳2009.10目录实训一WINDOWS窗体基本控件的应用 (1)一、实验目的 (1)二、实验设备和仪器 (1)三、实验原理及步骤 (1)练习1、时钟实例 (1)(一)实训目标 (1)(二)实训内容 (1)练习2、加法练习器实例 (2)(一)实训目标 (2)(二)实训内容 (3)练习3、项目选择器实例 (5)(一)实训目标 (5)(二)实训内容 (5)练习4、选择题应答器实例 (7)(一)实训目标 (7)(二)实训内容 (7)练习5、英文字母练习器实例 (9)(一)实训目标 (9)(二)实训内容 (9)四、编写实验报告 (12)实训二文件处理的应用 (13)一、实验目的及要求 (13)二、实验设备和仪器 (13)三、实验原理及步骤 (13)练习1、文件夹浏览器实例 (13)(一)实训目标 (13)(二)实训内容 (13)练习2、操作EXCEL文件实例 (17)(一)实训目标 (17)(二)实训内容 (18)四、编写实验报告 (20)实训三图形图像的应用 (21)一、实验目的及要求 (21)二、实验设备和仪器 (21)三、实验原理及步骤 (21)练习1、动画设计---跳舞的小女孩实例 (21)(一)实训目标 (21)(二)实训内容 (21)练习2、人物拼图游戏实例 (23)(一)实训目标 (23)(二)实训内容 (23)练习3、生成数字字符验证码图片实例 (28)(一)实训目标 (28)(二)实训内容 (28)练习4、不规则窗体实例 (32)(一)实训目标 (32)(二)实训内容 (32)四、编写实验报告 (33)实训四多媒体的应用 (34)一、实验目的及要求 (34)二、实验设备和仪器 (34)三、实验原理及步骤 (34)练习1、播放声音文件实例 (34)(一)实训目标 (34)(二)实训内容 (34)练习2、播放RealPlayer文件实例 (36)(一)实训目标 (36)(二)实训内容 (36)四、编写实验报告 (40)实训五综合实训---小型管理信息系统的开发应用 (41)一、实验目的及要求 (41)二、课程设计过程与具体要求 (41)三、开发阶段任务及角色分工参考 (41)四、课程设计交付成果说明 (42)五、考核方式及评分标准 (43)六、可选系统题目 (43)六、范例 (45)学生信息管理系统 (45)一、需求分析 (45)二、系统分析 (48)三、数据库设计 (50)四、系统实现 (53)实训一Windows窗体基本控件的应用一、实验目的1.熟悉C#的编译环境。

java电影购票系统课程设计

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 语言访问数据库。

基于Android的网上影院售票系统

基于Android的网上影院售票系统
Keywords: Android, Ticketing Online,Cinema System
中北大学 2017 届毕业设计说明书
目录
1 需求分析 .......................................................... 1 1.1 背景及现状..................................................... 1 1.1.1 研究背景 ...................................................... 1 1.1.2 研究现状 ...................................................... 2 1.2 设计目的 ....................................................... 4 1.3 具体任务需求................................................... 4 1.3.1 非功能性需求 .................................................. 4 1.3.2 功能性需求 .................................................... 5 1.4 本文章节安排................................................... 5 2 系统总体设计 ...................................................... 7 2.1 系统架构设计................................................... 7 2.1.1 系统总体架构设计 .............................................. 7 2.1.2 客户端架构设计 ................................................ 7 2.2 数据库设计..................................................... 8 2.2.1 数据概念库设计 ................................................ 8 2.2.2 主要数据表 ................................................... 11 3 系统详细设计 ..................................................... 14 3.1 用户模块...................................................... 14 3.2 影票购买模块详细设计.......................................... 14 3.3 订单管理模块详细设计.......................................... 15 3.4 其他模块详细设计.............................................. 15 3.4.1 评论和影院模块 ............................................... 15 3.4.2 后台模块 ..................................................... 16 4 系统实现 ......................................................... 17 4.1 整体界面及框架实现............................................ 17 4.1.1 主界面实现 ................................................... 17 4.1.2 整体框架功能实现 ............................................. 19

电影院售票系统详细设计说明书

电影院售票系统详细设计说明书

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)设计说明。

电影院售票系统详细设计说明书

电影院售票系统详细设计说明书

电影院售票系统详细设计说明书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功能管理员可以通过电影名称和影片放映时间查询影片信息。

java电影购票系统课程设计

java电影购票系统课程设计

java电影购票系统课程设计一、课程目标知识目标:1. 让学生掌握Java语言面向对象编程的基本概念和原理。

2. 使学生了解并掌握Java中集合框架、异常处理和多线程的基础知识。

3. 帮助学生掌握Java GUI编程的基本技能,能够使用Swing组件设计用户界面。

4. 让学生掌握数据库连接和SQL语句的基本使用,实现对购票系统的数据管理。

技能目标:1. 培养学生运用面向对象思想分析和解决问题的能力。

2. 培养学生独立设计和实现小型电影购票系统的能力。

3. 提高学生团队协作和沟通能力,能在项目中进行有效的分工与合作。

4. 培养学生运用Java技术进行项目开发,具备一定的编程实践能力。

情感态度价值观目标:1. 培养学生积极的学习态度,对编程产生浓厚兴趣。

2. 培养学生勇于克服困难、不断探索的精神,增强自信心。

3. 培养学生关注社会热点问题,将所学知识应用于实际生活,提高社会责任感。

4. 培养学生遵守编程规范,养成良好的编程习惯,注重代码的可读性和可维护性。

本课程针对高年级学生,结合Java语言和数据库知识,设计电影购票系统。

课程性质为实践性较强的项目式课程,要求学生在掌握基本理论知识的基础上,注重实际操作和团队协作。

通过本课程的学习,学生能够将所学知识应用于实际项目中,提高编程技能和解决实际问题的能力。

同时,培养学生积极的学习态度和良好的编程习惯,为未来进一步学习和发展奠定基础。

二、教学内容1. Java面向对象编程基础:类与对象、继承与多态、封装与抽象。

2. Java集合框架:List、Set、Map接口及其实现类的使用。

3. Java异常处理:异常的概念、try-catch-finally结构、自定义异常。

4. Java多线程:线程的创建与控制、线程同步与通信、线程池。

5. Java GUI编程:Swing组件的使用、事件处理、布局管理器。

6. 数据库连接:JDBC技术、数据库连接与操作、SQL语句编写。

电影院订票系统课程设计

电影院订票系统课程设计

电影院订票系统课程设计一、课程目标知识目标:1. 让学生掌握计算机科学中的基本问题解决方法,特别是在设计订票系统方面的应用。

2. 使学生理解并能够描述电影院订票系统的基本功能、工作流程及数据结构。

3. 帮助学生了解数据库的基础知识,并运用这些知识进行票务信息的存储和管理。

技能目标:1. 培养学生运用所学的编程语言和工具,设计并实现一个简单的电影院订票系统。

2. 培养学生的问题分析能力,通过分解复杂问题为若干小问题,逐一解决。

3. 提升学生的团队协作能力,通过分组合作完成系统设计、开发和测试。

情感态度价值观目标:1. 培养学生对计算机编程和系统设计的兴趣,激发其创新意识和探索精神。

2. 引导学生认识到技术对于提高生活品质的重要性,并理解其在社会中的应用价值。

3. 通过实践活动,增强学生的自信心和成就感,培养积极向上的学习态度。

分析课程性质、学生特点和教学要求,本课程目标旨在使七年级学生能够将所学的计算机基础知识应用于实际问题的解决中,通过设计订票系统,将理论与实践结合,提升学生的实践操作能力和逻辑思维能力。

通过具体的学习成果的分解,教师将能够进行有针对性的教学设计和后续的学习成果评估。

二、教学内容本章节教学内容将围绕以下三个方面进行组织:1. 计算机基础知识:- 数据类型与变量- 控制结构(顺序、分支、循环)- 函数与模块2. 系统设计原理:- 系统需求分析- 数据库基本概念与操作- 系统设计流程(UML图、流程图)3. 编程实践:- 使用Python等编程语言进行系统开发- 设计订票系统的界面与功能- 数据存储与查询实现教学大纲安排如下:1. 引言与背景知识介绍(1课时)- 电影院订票系统的应用背景- 计算机基础知识回顾2. 系统设计原理讲解(2课时)- 需求分析及系统设计流程- 数据库基本概念及操作3. 编程实践指导(3课时)- 编程语言的选择与使用- 订票系统界面设计与功能实现- 数据存储与查询功能的编写教学内容与课本关联性说明:本教学内容与七年级下册计算机科学教材第三章“数据处理与分析”相关,重点在于指导学生运用所学的编程知识和系统设计原理,解决实际问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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(电影表)order(订票表)Hall(放映大厅)Seat(座位类别)二、概要设计从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依关系进行了整合,得出本系统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);Ticket(订票表)Seat(座位类别)Film(电影表)user(用户表)Hall(放映大厅)四、编码实现文件目录IOrderDAOimpl.java package cn.movie.impl; import java.sql.Connection;import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.ArrayList; import java.util.List;import cn.movie.dao.IOrderDAO;import cn.movie.vo.FilmInformation;import cn.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 cn.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 cn.movie.factory.DAOFactory;import cn.movie.vo.FilmInformation;import cn.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= newString(request.getParameter("film").getBytes("iso8859-1"),"G BK");String hall = new String(request.getParameter("hall").getBytes("iso8859-1"),"G BK");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"),"G BK");try {//System.out.println("-----------"+hall);request.setAttribute("seat",DAOFactory.getIOrderDAOinstance().getAllseat(hall));} catch (Exception e) {e.printStackTrace();}request.getRequestDispatcher("seat_list.jsp").forward(req uest, 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"),"G BK");String hall = new String(request.getParameter("hall").getBytes("iso8859-1"),"G BK");String time=request.getParameter("time");int money =Integer.parseInt(request.getParameter("money"));*/System.out.println("------------------"+filmname+username +hall+time+seatname);//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"),"G BK");//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架构,减少了代码的重复,实验过程中还有一些未解决的问题,人机交互方面还有待改进,需要今后继续努力,平时应该多加练习,不止要学会课本上的知识,也要尽量多涉及一些及课程有关的知识。

相关文档
最新文档