毕业设计__电影订票网站的设计与实现论文

目录

1 引言............................................. 错误!未定义书签。

1.1 研究课题的意义和背景........................... 错误!未定义书签。

1.2 课题可行性研究报告............................. 错误!未定义书签。

2 主要技术介绍..................................... 错误!未定义书签。

2.1 MVC设计模式.................................... 错误!未定义书签。

2.2 JSP相关知识.................................... 错误!未定义书签。

2.3 JavaBean相关知识............................... 错误!未定义书签。

2.4 JDBC相关知识................................... 错误!未定义书签。

3 系统开发工具介绍................................. 错误!未定义书签。

3.1 MyEclipse ...................................... 错误!未定义书签。

3.2 MySql相关...................................... 错误!未定义书签。

3.3 容器........................................... 错误!未定义书签。

3.4 Tomcat相关..................................... 错误!未定义书签。

4 系统总体设计..................................... 错误!未定义书签。

4.1 系统功能设计................................... 错误!未定义书签。

4.1.1 总体功能设计................................. 错误!未定义书签。

4.1.2 处理流程设计................................. 错误!未定义书签。

4.2 数据库设计..................................... 错误!未定义书签。

4.2.1 数据表需求分析............................... 错误!未定义书签。

5 详细设计......................................... 错误!未定义书签。

5.1 数据库详细设计................................. 错误!未定义书签。

5.1.1 数据表具体设计............................... 错误!未定义书签。

5.2 系统主界面模块设计............................. 错误!未定义书签。

5.3 用户注册模块设计............................... 错误!未定义书签。

5.4 用户登录模块设计............................... 错误!未定义书签。

5.5 关键字查询模块设计............................. 错误!未定义书签。

5.6.1 修改头像..................................... 错误!未定义书签。

5.6.2 修改基本信息................................. 错误!未定义书签。

5.6.3 修改密码..................................... 错误!未定义书签。

5.7 用户订单管理................................... 错误!未定义书签。

5.7.1 购票......................................... 错误!未定义书签。

5.7.2 选座......................................... 错误!未定义书签。

5.7.3 查看订单..................................... 错误!未定义书签。

5.8 用户评论管理................................... 错误!未定义书签。

5.8.1 用户发表评论................................. 错误!未定义书签。

5.8.2 用户对自己发表的评论进行浏览和删除操作....... 错误!未定义书签。

5.9 用户收藏管理................................... 错误!未定义书签。

5.9.1 加入收藏...................................... 错误!未定义书签。

5.9.2 用户对自己的收藏进行浏览以及删除操作......... 错误!未定义书签。

5.10 注销退出...................................... 错误!未定义书签。

6 系统测试......................................... 错误!未定义书签。

6.1 测试的定义以及重要性........................... 错误!未定义书签。

6.2 测试的方法..................................... 错误!未定义书签。

6.2.1 需求测试..................................... 错误!未定义书签。

6.2.2 界面测试..................................... 错误!未定义书签。

6.2.3 功能测试..................................... 错误!未定义书签。

6.2.4 性能测试..................................... 错误!未定义书签。

6.3 电影订票网站的设计与开发--用户功能子系统测试... 错误!未定义书签。

7 结论............................................. 错误!未定义书签。参考文献......................................... 错误!未定义书签。致谢.............................................. 错误!未定义书签。

1 引言

1.1 研究课题的意义和背景

正在爆发的互联网革命席卷了生活的方方面面。当受众惊叹于足不出户就可以欣赏互联网所带来的视听盛宴时,网线的另一头,富于创造力的程序员已然将互联网编织成一张涵盖社会生活方方面面,惠及百姓日常所需的高科技工具。同时,由互联网所引导的生活方式的改变同样革新着传统行业的服务方式,电影订票网站就是传统电影行业适应这一变革利用Internet和电子商务[1]的成熟技术所创造的产物。在国外,借助于网络技术发展起步早发展快的优势,率先开展了网络销售电影票的相关业务。而就目前的状况来看在国内网络售票业务任然具有很大的发展空间。近几年,我国电影行业发展迅猛,各大院线纷纷扩张院线,每年新投入市场的荧屏数量增长显著。与院线扩张相辅相成的是人们的观影需求显著提高。人们需要知道自己的空闲时间是否有合适的电影可供观赏,也需要知道哪家电影院有自己需要的电影票,同时手握电影排挡及上映信息的电影院的经营者也急需掌握观影者的消费需求,这种买卖双方之间信息交流上的阻碍更催生了“电影订票网站”发展。

2008年,看够网携全国百家影院同时开通网络预订,观众可以通过登陆看购网网站预订影票[2]、提前订座。观众可以随时登录相关网站查询影讯,提前预订影票,并可尊享一定的优惠折扣。新影联院线副总经理高军表示:“网络订票并不会对影院售票构成利益冲突,而是相互促进,它能缓解上映大片时观众买票难的现象,也有利于影院根据影票预售情况提前排片。”网络购票在国外早已成为电影售票的一种成熟渠道,在国内也已蔚然成风。与看购网同时上线网络业务的还有中国电影网、网票网、时光网、新浪网、谷歌等多家网站。他们都提供影讯服务、网络售票等服务,不过看购网所推出的网络预订业务还属于新兴业务,也是国内第一次实现全国网络预订影票。票务预订在体育赛事、演艺、交通票务方面并不新鲜,与单纯的售票业务相比,订票业务在满足用户需求方面实现了很大的跃进。

目前,各大电影公司和部门都广泛采用计算机管理系统[3]和互联网技术,推出网上电影订票服务,大大减轻了订票、售票、检票、调度、票款管理等不能工作人员的劳动强度,提高了整个行业的工作效率,而且在很大程度上减少了顾客的长时

间排队购票的时间和由此带给顾客的疲劳和烦躁情绪,为广大顾客提供了更加快捷、优质、有序的服务,提高了各大影城的服务水平,也逐步树立了企业形象,赢得了消费人群的良好口碑。这种消费形式的发展也逐渐反衬出传统售票方式存在的诸多不足,比如实时差、交易时间过长、运营成本高、信息无法共享以及售票过程中可能出现的其他不确定因素,更加促进了网上电影订票项目的蓬勃发展。

我们向广大用户推出的是一种全新的网上信息服务,旨在提供一个面向消费者的便捷、安全、高效的网上影票订购平台。

1.2 课题可行性研究报告

以尽可能小的代价在尽短时间内确定问题是否能够解决是可行性研究要解决的要素之一。一般从经济可行性,技术可行性以及操作可行性来研究一个系统是否具备开发的基本条件。成本和效益分析是经济可行性分析中最重要的内容之一。对于一个基于计算机的开发项目要在经济方面评价它是否合理,成本和效益分析要估计开发的花销和系统上线之后的收益。本系统属于网页应用,应用开发软件进行开发,成本更多的体现在劳务成本上。如果采用自主开发方式,系统上线后,正常运转将加快电影票销售进程,更有效地支持影城的运行,所产生的效益远大于开发花销,实现小投入,大产出。所以,电影订票网站在经济上是可行的。

信息化发展非常迅猛的今天,计算机技术被应用于各个领域中。对于影城管理,实施本系统只需要企业内部接入互联网,配合使用先进的数据库管理技术和服务器管理技术,使数据的准确性与安全性得到保障,加上现有的Microsoft SQL Server 2005数据库为设计工作提供了必要的保证。经过调研以及需求分析得出此次系统开发的技术完全能实现电影订票网站需要的各项功能。因此,它在技术上是可行的。

本系统为一个中小的电影票预订系统[4],所耗费的硬件资源非常少,企业的电脑和服务器在硬件和软件上都能够满足需求,因此,本系统在操作上也是可行的。

2 主要技术介绍

2.1 MVC设计模式

每个设计模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,我们可以无数次地使用那些已有的解决方案,无需再重复相同的工作。开发中常用到的设计模式主要有MVC设计模式,简单工厂模式等。其中MVC设计模式是最常用、最核心的一种设计模式,用来开发JSP/Servlet或者J2EE的相关应用。本项目就采用了该种设计模式。以下是对MVC 的详细介绍:

M指的是模型层(Model),开发人员在此编写代码来实现需求人员根据客户要求编写的需求上的各种功能,数据库管理员在此对数据库中的数据进行各种操作,如增加字段,减少字段,删除字段,修改字段内容等,这一部分通常用javaBean来实现,文中相应部分会对javaBean进行详细的阐述。

V指的是视图层(View),美工人员、前台设计人员在此进行前台页面的设计与功能的展示,这一部分一般是用html页面或是jsp页面来显示。

C指的是控制层(Controller),在此可以进行业务逻辑的实现或是请求的转发,一般用servlet来实现。

2.2 JSP相关知识

JSP[5]是Java Server Pages 的简称,它实际上就是一种动态的Java页面。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web 的应用程序的开发变得迅速和容易。

JSP的运行原理为JSP在首次载入时被翻译成Servlet文件(*.java),JSP引擎调用java编译器将*.java编译成class,然后JSP引擎调用JVM执行*.class,将运行结果返回给服务器,服务器封装响应后返回给客户端。

JSP的生命周期共分为三个阶段,分别是:翻译阶段,编译阶段,执行阶段。其中,翻译阶段是指当容器接收到客户端第一次对JSP的请求后,先判断被请求的JSP是否存在,若不存在返回404错误;若存在,则将该JSP先翻译成一个Servlet。编译阶段是指将Servlet的源文件编译成一个字节码文件,然后由容器将其装在进虚拟机并实例化(单例)。执行阶段是指调用Servlet的init()、service方法、destroy()。

特别需要补充说明的是,如果被请求的jsp源文件内容发生变化,那么要重新将jsp 翻译成Servlet,再编译、装载和实例化,最后运行Servlet。如果第二次请求jsp时,此时若被请求的jsp已经有对应的Servlet实例,那么就直接运行该Servlet。

JSP中的元素主要由脚本元素,指令元素,动作元素三种。脚本元素又分为声明(Declaration),表达式(Expression),脚本(Scriptlet)三类。值得注意的是在表达式中着重强调了9中隐含对象,以下是详细说明。page对象:page对象代表JSP页面本身,更准确的说它代表JSP被翻译后的Servlet;pageContext对象:是avax.servlet.jsp.pageContext接口,提供了对JSP页面内使用到的所有对象及名字空间的访问,提供了几种对页面属性的访问,允许向其他应用组件转发;request对象:request对象是HttpServletRequest接口的实现类,封装了客户的请求信息,request 的生命周期由JSP容器控制,当接收到一个客户端请求,JSP容器创建并封装request对象,当请求处理完毕,request对象被销毁;session:处理客户端与服务端的会话,从客户端连接到服务端开始,session对象用来保存每个用户的信息,以便跟踪每个用户的操作状态,其中,session信息保存在容器里,session 的ID保存在客户机的Cookie中,用户首次登陆系统时容器会给用户分配一个唯一的session id标识,用于区别其他的用户;application对象:保存Web应用程序中共有的数据,可存放全局变量服务器启动后自动创建application对象,该对象一直有效,直到服务器关闭。用户对该对象属性的操作将影响到其他用户;config对象:config对象是JSP页面通过JSP容器进行初始化时被传递的对象,封装了JSP配置参数的信息。可读取web.xml中配置的初始化参数;out对象:out对象用来向客户端输出内容,并管理服务器上输出缓冲区。out对象被封装成javax.servlet.jsp.JspWriter接口。可以使用page指令来改变缓冲区大小;exception:exception对象实现了https://www.360docs.net/doc/816634481.html,ng.Throwable接口,用来处理JSP在执行时发生的错误和异常.exception对象需要在page指令中isErrorPage属性设为true。值得一提的是表达式翻译进Servlet后变成了out.print(expression),该代码处于_jspService()方法中。并且在此过程中expression都一律被转换成字符串后再写到输出流out(JspWriter)中。另外,expression中不能有分号(;)。在指令元素中,主要有page指令(作用是利用page指令中的属性可以和容器进行通信,这些属性的设置对整个JSP都有影响),include指令(作用是在一个页面中导入另一个页面的内容),taglib指令(作

用是指定在JSP中要使用的标签描述文件(*.tld)的路径)。

2.3 JavaBean相关知识

作为一个动态网站[6]开发语言,JSP在现代编程中已经越来越受大家的青睐。而JSP + JavaBean更加成为了一个完美的组合,并且这个组合已经发展成为了一种广泛使用的JSP程序的标准。

JavaBean是Java中的可重用组件,是一种普通的Java类,它实现了Serializable 接口,它拥有无参构造器,它有相应的属性,并且相应属性有对应public的setter 和getter。

JavaBean按照位置分为:可视化JavaBean,它位于客户端,如在Swing中处理事件的JavaBean;不可视化JavaBean,位于服务端,用于封装数据信息,业务,数据。

为什么使用javaBean呢?javaBean作为一个可重用的组件,可以用来封装数据信息,业务,数据访问,事物控制逻辑的代码。也可以用来封装JSP中的一些脚本,便于重用,可以减少jsp中脚本的使用。

2.4 JDBC相关知识

JDBC使我们用Java语言编写的软件具备和数据库交互的能力[7],简而言之就是一种连接数据库的Java语言。

JDBC和ODBC相比有以下几个有点:没有指针;没有ODBC复杂;是纯Java 语言。同时这也是JDBC深受大众喜爱的原因。

JDBC涉及到了JDBC的API,API能以一致的形式访问不同类型的关系型数据库,并且API本身就是Java语言的组成内容。API包括一系列的接口:由Sun 公司制定,由数据库软件程序员使用。还包括接口实现类:由数据库厂商实现。

JDBC驱动程序是由Sun公司所制定的JDBC接口实现类的集合,由数据库厂商提供,不同数据库其JDBC驱动程序是不同的。JDBC驱动程序由以下四种类型实现:(1)JDBC-ODBC桥: 将对数据库的调用转嫁为对ODBC的调用,需要在Java 程序所在的机器安装ODBC驱动管理器,效率差,不能跨平台;

(2)JDBC程序由二部分组成,一部分用Java编写,一部分是其它语言编写的二进制代码。

(3)纯Java, 将对数据库的调用转嫁为中间服务器的调用[8];

(4)纯Java,直接和数据库进行交互。对相关代码进行了优化,性能最高。

JDBC的具体使用如下:

(1)注册Driver -> oracle.jdbc.driver.OracleDriver

方式一:Class.forName("oracle.jdbc.driver.OracleDriver"); 方式二:Driver driver = new DriverImpl();

DriverManager.registerDriver(driver);

方式三:-Djdbc.drivers=oracle.jdbc.driver.OracleDriver (2)获得Connection

方式一:Connection conn = DriverManager.getConnection(

url,user,password);

方式二:Driver driver = new DriverImpl();

Connection conn = driver.connect(url,pro);

(3)创建Statement

Statement stmt = conn.createStatement(); PreparedStatement pstmt =conn.prepareStatement(sql); (4). 执行SQL语句

//实现和数据库交互,传输SQL语句到数据库并执行SQL ResultSet rs = stmt.executeQuery(sql);

int i = stmt.executeUpdate(sql);

boolean flag = stmt.execute(sql);

//实现和数据库交互,传输参数值到数据库并执行SQL pstmt.setInt(1,100);

pstmt.setString(2,"zs");

pstmt.setDate(3,Date.valueOf("1979-9-1"));

ResultSet rs = pstmt.executeQuery();

int i = pstmt.executeUpdate();

boolean flag = pstmt.execute();

(5)处理结果集

a) 使用结果集(ResultSet)对象的访问方法获取数据;

a. next():下一个记录

b. first():第一个记录

c. last():最后一个记录

d. previous():上一个记录

b) 通过字段名或索引取得数据

c) 结果集保持了一个指向了当前行的指针,初始化位置为第一个记录前。(6)关闭对象、释放资源,一般推荐先构建的后释放一般在finally里定义;

a) 首先关闭记录集;

b) 其次关闭声明;

c) 最后关闭连接对象。

3 系统开发工具介绍

3.1MyEclipse

MyEclipse,是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开元产品的支持十分不错。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以及应用程序服务器[9]的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate[10]。本项目的开发与运行就是运用了MyEclipse。

3.2 MySql相关

本系统主要运用了Mysql数据库。

Mysql是关系数据库管理系统(DBMS),它最初是Sybase和Ashton-Tate公司共同开发的,并于1988年推出了第一个OS/2版本。Mysql近年来不断更新版本,1996年,推出了Mysql 6.5版本;1998年,Mysql 7.0[11]版本和用户见面;MYSQL是于2005年推出的版本。Mysql 特点:

(1)真正的读者机/服务器体系结构。

(2)图形化用户界面,使系统管理和数据库管理更加直观、简单。

(3)丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。

(4)Mysql与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。Mysql也可以很好地与Microsoft BackOffice[12]产品集成。(5)具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。

(6)对Web技术的支持[13],使用户能够很容易地将数据库中的数据发布到Web 页面上。

3.3 容器

容器是Web Server中的其中一个组成部分,它的主要工作就是管理部署在Web Server上的web应用的运行(装载和卸载web应用)以及这些web应用中的web组

件(servelt,jsp等)的生命周期。

本系统页面采用JSP,所以对应的容器采用Apache Tomcat6.0,在Tomcat中容器的名字叫Catalina。既然是JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境中,它才能发挥它的作用。这个环境就是我们所说的容器。容器也是Java程序,它主要功能除了为Servlet提供环境。客户端想服务器发送数据,遵循的是HTTP协议的数据格式。在客户端和服务器端,可能存在这不同的编程语言编写的程序,比如java,C++的等等。各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些java object,这样才能使用java的方法进行数据处理[14]。同理,当这些处理完成,又需要将这些java object转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在于服务器端)。JSP/Servlet容器就扮演了完成这个双向转换的角色。

3.4 Tomcat相关

Tomcat[15]是Apache的一个开源的项目。Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并且提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat等。由于Tomcat 本身也内含一个HTTP服务器,它也可以被视作一个单独的Web服务器。但是,不能将Tomcat和Apache Web服务器混淆,Apache Web Server是一个用C语言实现的HTTP web server;这两个HTTP web server 不是捆绑在一起的。Apache Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

4 系统总体设计

4.1系统功能设计

4.1.1总体功能设计

如图4.1为系统整体功能结构图:

图4.1 电影订票系统—用户功能子系统功能图如图4.2为系统流程图

图4.2 电影订票系统—用户功能子系统数据流图如图4.3为系统E-R图

图4.3 电影订票系统—用户功能子系统E-R图

4.1.2处理流程设计

(1)数据增加流程

添加信息时,编号字段由系统自动生成,且不能修改,其他信息由用户输入,之后对数据进行合法判断,合法则写入保存至数据库,不合法重输。如图4.4所示。

图4.4 数据增加流程图

(2)数据修改流程

在修改信息时,先选中一条待修改的记录,然后直接输入数据,判断合法性,合法

所示。

图4.5 数据修改流程图

(3)数据删除流程

当用户选定一条记录时,单击删除按钮,会提示用户是否确定删除,然后删除数据库相关内容。数据删除流程图如图4.6所示。

图4.6 数据删除流程图

4.2 数据库设计

4.2.1 数据表需求分析

用户表:用于存放用户的一些信息。此表中设计12个字段。

影院表:用于存放影院的一些基本信息。此表中设计6个字段。

影片表:用于存放正在热映的影片的信息。此表中设计9个字段。

订单表:用于存放用户已生成的订单的信息。此表中设计8个字段。

影评表:用于存放用户所发表的影评的详细信息。此表中设计5个字段。

收藏表:用于存放用户收藏的影片。此表中设计3个字段。

相关主题
相关文档
最新文档