电影院网上订票与排坐管理系统
Java EE课程
题 目: 电影院网上订票与排坐管理
学 号:20111714姓名: 楼晨隽
院 系: 计算机科学与技术学院
专业年级: 计算机科学与技术2011级
2014 年6 月12 日
1
目 录
【注意:目录部分由word系统自动生成 】
目录
第一章 系统需求与分析 错误~未定义书签。 第二章 系统设计 错误~未定义书签。 第三章 系统关键模块技术实现 错误~未定义书签。 第四章 系统测试与部署 错误~未定义书签。 第五章 系统开发总结与
错误~未定义书签。 参考文献 错误~未定义书签。
2
第一章 系统需求与分析 【注意:参考所给的模版,尽量用文字和图形的方式实现,充分实现UML建模
技术】
(1) 设计并实现电影放映信息在线录入与维护基本功能。
管理员需要对影片的信息进行操作。
对所播放电影能够进行添加,删除,修改,查询。
对所有用户能够进行添加,删除,修改,查询。
不同的电影可以在不同的放映厅重复播放。
(2) 实现网上订票功能
客户付款成功后即打印电子客票,并进入选座板块。
(3) 实现网上订票排座功能。
客户可根据自己喜欢的影片的场次自行进行在线选座,座位可随意选取,先到
先得。
管理员
登注 录 册
操作影片 操作用户
添修删查查删
加改除询询除
影影影影用用
片 片 片 片 户 户
3
用户
注登 册 录
查退订 询 出单
登查
录 询
查询影片信息
选
择
场
次
选
择
时
间
座
位
预 定
4
第二章 系统设计
操作系统:OS/X 10.9.3
编写代码平台:Myecplise 10
数据库:Mysql+Mysql workbench
数据库设计
E-R图
属性 数据类型 数据长度 是否为主健 是否为空
是 否 aname Varchar 45
否 否 apwd Varchar 45
属性 数据类型 数据长度 是否为主健 是否为空
是 否 mno Int
否 否 mname varchar 45
属性 数据类型 数据长度 是否为主健 是否为空
是 否 Hallno Int
否 否 seatcount int
5
属性 数据类型 数据长度 是否为主健 是否为空
是 否 Mno Int
是 否 Hallno Int
是 否 Begintime Datetime
否 否 Endtime Datetime
否 否 seatcanbechoosed Int
属性 数据类型 数据长度 是否为主健 是否为空
是 否 Uname Varchar 45
否 否 upwd varchar 45
属性 数据类型 数据长度 是否为主健 是否为空
是 否 seatno int
属性 数据类型 数据长度 是否为主健 是否为空
是 否 Mno Int
是 否 Hallno Int
是 否 Begintime Datetime
是 否 Uname Varchar 45
是 否 seatno int
6
第三章 系统关键模块技术实现
12【注意:主要是选择核心模块,具体模块(选到个模块)的代码设计。要有
1/2页)】 文字说明、图形演示以及部分核心代码(代码每次不超过
本次开发应用的软件:
使用的驱动:mysql-connector-java-5.1.7-bin.jar;
本次项目共有2大类,分别为SQLHelper,Dao码如下:
SQLHelper类:
package dbutil;
import java.sql.*;
public class SQLHelper {
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://127.0.0.1:3306/mydb";
private static String user = "root", pwd = "";
private static Connection con = null;
static {
try {
Class.forName(driver);
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static int executeUpdate(String sql) {
int r = 0;
try {
Connection con = DriverManager.getConnection(url, user, pwd);
Statement cmd = con.createStatement();
r = cmd.executeUpdate(sql);
con.close();
} catch (Exception ex) {
ex.printStackTrace();
}
return r;
}
public static ResultSet executeQuery(String sql) {
ResultSet rs = null;
try {
con = DriverManager.getConnection(url, user, pwd);
Statement cmd = con.createStatement();
rs = cmd.executeQuery(sql);
} catch (Exception ex) {
7
ex.printStackTrace();
}
return rs;
}
public static void closeConnect() {
try {
if (con != null && !con.isClosed()) {
con.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
Dao类(操作类):
public class MovieDao {
public int addmovieplay(String mno,String hallno,String begintime,String endtime,String seatcanbechoosed,String mname){
int r=0;
try{
String sql="insert into movieplay values('"+mno+"','"+hallno+"','"+begintime+"','"+endtime+"','"+seatcanbechoosed+"','"+mname+"')";
r=SQLHelper.executeUpdate(sql);
}
catch(Exception ex){}
return r;
}
public int addmovie(String mno,String mname,String mtime,String mtype){
int r=0;
try{
String sql="insert into moviemes values('"
+mno+"','"+mname+"','"+mtime+"','"+mtype+"')";
r=SQLHelper.executeUpdate(sql);
}
catch(Exception ex){}
return r;
}
public int deleteMovieByMno(String mno){
int r=0;
String sql="delete from moviemes where mno='"+mno+"'";
r=SQLHelper.executeUpdate(sql);
8
return r;
}
public void querymovieno(String mno){
String sql="select * from moviemes where mno='"+mno+"'";
SQLHelper.executeQuery(sql);
}
public void querymoviename(String mname){
String sql="select * from moviemes where mno='"+mname+"'";
SQLHelper.executeQuery(sql);
}
}
第四章 系统测试与部署
【注意:对系统主要部分进行测试。系统部署运行截取部分界面并做简 单描述】
9
10
11
用户操作:
12
13
14
第五章 系统开发总结与心得体会
【注意:谈主要遇到的问题及其解决
】
本次J2EE大作业为个人独立开发,主要使用了javabean编程技术,流程较为复杂,也遇到了不少的问题,例如如何使用CSS,如何将CSS与DIV布局联系起来,通过自己的不断调试,目前已基本掌握其用法。还有就是对于集合类ArrayList,以及session会话的使用有了一些认识。其他的就是系统逻辑关系,在不断的调试与改进中便能解决。未能解决的问题是,未能对视图的操作有更近一步的了解。
本次大作业也使我对本学期所学习的J2EE有更深一步的了解,掌握了在实际开发中的基本操作流程及基本技术运用,对将来真正的项目研究有实质性的效果。
15
参考文献
【注意:按照指定的格式】
,1,邓子云。Java Web轻量级开发全体验。电子工业出版社。 ,2,周平。Java EE大学教程。清华大学出版社。
,3,黄开枝,许勇,王黎等。Java EE 5完全学习手册。清华大学出版社。 ,4,雷景生,叶文珺,李永斌。数据库原理及应用。清华大学出版社。
16