网上电影购票系统设计.docx
《网上电影购票系统设计.docx》由会员分享,可在线阅读,更多相关《网上电影购票系统设计.docx(15页珍藏版)》请在冰豆网上搜索。
网上电影购票系统设计
摘要…………………………………………………………………………………………………………..I
前言II
2.1订单细节3
2.2用JSP连接数据库3
3系统详细设计4
3.1功能部分4
3.1.1用户管理模块5
3.1.2购物车模块6
3.1.3生成订单模块9
3.1.4填写用户信息模块9
4结束语11
参考文献12
网上电影购票系统设计
摘要:
伴随着Internet的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本的优势,逐步成为新兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着能够充分享受网络所带来的更加多的便利。
网络购物正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的商品。
本系统便是尝试用JSP在网络上架构一个动态的电子商务网站,它是在Windows7下,以oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的网上购物系统。
他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商品管理,处理订单,用户信息管理,链接信息管理等功能。
建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网站。
关键字:
JSP、Oracle、Tomcat、网上电影购票系统
前言
21世纪是网络飞速发展的时代,上网、创建网站已经成为热门话题。
Internet技术得到持续、猛烈的发展,已经成为计算机产业的一个技术热点,越来越多的企业开始关注网络,许多人正在或正准备学习网络知识,进行网络开发或创建自己的网站。
JSP的全称是JavaServerPages,是一种以Java为主的跨平台Web开发语言,它具有安全性,健全性,运行效率高等许多优点。
本次课程设计——基于JSP(MVC)的网上电影购票网站的设计,是在Windows7下,以Oracle为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用JSP(JavaServerPages)技术开发的。
在本论文中全面详细地介绍了网上影院系统的设计方案,第1章为系统需求分析及总体设计,包括需求分析,系统功能模块设计,对具体功能及用例说明,数据库需求分析;第2章为数据库设计,包括数据库结构设计,用JSP连接数据库;第3章系统详细设计,主要包括用户注册,购物车管理,订单管理,用户信息管理等功能;
1系统需求分析及总体设计
1.1需求分析
此基于JSP的购物网站分前台功能和后台功能:
1)前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言板管理
2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理,连接信息管理
1.2系统功能模块设计
功能结构图如下:
图1功能模块设计图
从图中可以看出,网上电影购票系统分为购物大厅、我的购物车、订单查询、会员登录、填写用户信息、生成订单信息六大模块。
1.3数据库需求分析
数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL,SQLServer,Oracle等。
我采用了Oracle数据库管理系统,建立的数据库名为jsp.sql。
整个系统功能需要以下数据项:
用户:
用户id、用户名称、用户真实姓名、登录密码、Email、地址、联系电话、等级。
商品:
商品id、名称、介绍、价格、数量、电影公司、图片地址、类型。
订单:
订单号、用户名、订购日期、付款方式、是否付款、总价。
订单细节:
订单号、商品id、数量。
2数据库结构设计
2.1数据库实现
2.1.1myusers(用户信息表)
主要用于保存商品的基本信息,该表的结构如表2所示
表1myusers(用户信息表)
2.1.2goods(商品表)
主要用于记录留言信息,该表的结构如表3所示。
表2goods(商品表)
2.1.3orders(订单表)
主要用于保存管理员信息,该表的结构如表4所示。
表3orders(订单表)
3.1.4orderDetail(订单细节表)
主要用于保存会员等级信息,该表的结构如表4所示。
表4orderDetail(订单细节表)
2.2用JSP连接数据库
在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统中对数据库连接的部分写成了一个JavaBean。
文件名为ConnDB.java,关键代码如下:
importjava.sql.Connection;
importjava.sql.Driver;
importjava.sql.DriverManager;
importjava.sql.SQLException;
publicclassConnDB{
Connectionconn=null;
publicConnectiongetConn(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
conn=DriverManager.getConnection("jdbc:
oracle:
thin:
@localhost:
1522:
orcl","scott","tiger");
}catch(SQLExceptione){
e.printStackTrace();
}catch(ClassNotFoundExceptione){
e.printStackTrace();
}
returnconn;
}
3系统详细设计
3.1功能部分
功能部分由购物大厅、我的购物车、订单查询、会员登录、填写用户信息等几个部分。
(1)模块功能介绍
购物大厅:
此部分用于展示商品信息。
用户可以通过此页面进行订购电影票。
我的购物车:
此部分显示购物的信息。
订单查询:
登陆用户可以通过订单号查询订单。
会员登录:
会员可以登录,用户注册后可登陆。
填写用户信息:
购买商品后填写地址、电话等信息。
生成订单:
用户生成订单信息。
(2)网站前台首页的运行结果如图11所示。
图2购票网站首页
3.1.1用户管理模块
用户管理模块主要包括用户注册、登录2个部分.
(1)登录和用户注册
当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首页的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图3所示.
图3会员登录和用户注册页面
关键代码如下:
UserBeanBOubb=newUserBeanBO();
if(ubb.checkUser(u,p)){
//验证成功,将用户的信息保存到session
UserBeanub=ubb.getUserBean(u);
request.getSession().setAttribute("userInfo",ub);
//取出购物车信息放到arrayList里面去而不是放到session中,因为session只用来存放一些不得已的数据
ShowMyCarsmc=(ShowMyCar)request.getSession().getAttribute("Car");
ArrayListal=smc.showCar();
request.setAttribute("myCarInfo",al);
request.getRequestDispatcher("shopping3.jsp").forward(request,response);
}else{
request.getRequestDispatcher("shopping2.jsp").forward(request,response);
}
为了便于方便用户的登录,将用户登录信息放到session中进行保存。
3.1.2购物车模块
在用户看中自己的商品后可以选择将商品放到购物车中进行暂时的保存。
(1)我的购物车
我的购物车就是把用户选中的商品放在购物车中。
当用户在前台首页中单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中,运行结果如下图:
图4查看商品清单页面运行结果
用户在单击物品清单页面下方的“购买”链接,便可将商品放入购物车,关键代码如下:
<%
ArrayListal=(ArrayList)request.getAttribute("showCarInfo");
ShowMyCarsmc=(ShowMyCar)session.getAttribute("Car");
%>
showMyCar
ArrayListal=newArrayList();
try{
this.allPrice=0.0f;
/*StringBuildersuBuilder=newStringBuilder(sql);*/
Iteratorit=hm.keySet().iterator();
//使用迭代器从hm中取出货物的id
if(it.hasNext()){
Stringsql="select*fromgoodswheregoodsIdin";
Stringsub="(";
while(it.hasNext()){//判断是否有值
StringgoodsId=(String)it.next();//取值
if(it.hasNext()){//进行逗号的判断,有值就加逗号
sub+=goodsId+",";
}else{
sub+=goodsId+")";
}
}
sql+=sub;//这才是一个完整的sql语句
conn=newConnDB().getConn();
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
while(rs.next()){
GoodsBeangb=newGoodsBean();
intgoodsId=rs.getInt
(1);
gb.setGoodsId(goodsId);
gb.setGoodsName(rs.getString
(2));
gb.setGoodsIntro(rs.getString(3));
floatunit=rs.getFloat(4);
gb.setGoodsPrice(unit);
gb.setGoodsNum(rs.getInt(5));
gb.setPublisher(rs.getString(6));
gb.setPhoto(rs.getString(7));
gb.setType(rs.getString(8));
//计算总价
this.allPrice=this.allPrice+unit*Integer.parseInt(this.getNumById(goodsId+""));
al.add(gb);
(2)清空购物车
清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在进行选购商品,这样防止重复购物。
清空购物车是将购物信息全部清除,关键代码如下:
HashMaphm=newHashMap();
publicvoidclear(){
hm.clear();
}
3.1.3生成订单模块
生成订单是网上购物商城的最终目的,前面的所有的功能的实现都是为最后生成一个用户满意的订单做基础,在此要生成一个可以供用户随时查询订单号,还要保存用户订单中所购买的商品信息。
当用户确认对购物车不再改变后,就可以到收银台结帐并生成订单。
结帐的流程是:
从购物车中读取商品名称,商品数量,商品价格信息,生成唯一的一个订单号,同时也把用户注册的基本信息读取出来,形成一个完整的订单写入数据库中,结帐填写订单的页面如下图。
图5购物车在网页中运行结果
在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数据库进行操作,利用session对象把登陆后的用户名保存起来,在订单生成时把保存的用户名从数据库的用户表中取出即可。
3.1.4填写用户信息模块
图7填写用户信息页面
关键代码如下:
订单详细信息
订单号
收货人
收货地址
电话
总价
用户名
电子邮件
|
<%=oib.getOrderid()%> | <%=oib.getTruename()%> | <%=oib.getAddress()%> | <%=oib.getPhone()%> | <%=oib.getTotalPrice()%> | <%=oib.getUsername()%> | <%=oib.getEmail()%> | 查看详情 |
您的订单已经完成,我们稍后会向您的邮箱发送确认信息,并确认订单
|
OrderBeanBOobb=newOrderBeanBO();
ShowMyCarsmc=(ShowMyCar)request.getSession().getAttribute("Car");
intuserId=((UserBean)request.getSession().getAttribute("userInfo")).getUserid();
OrderInfoBeanoib=obb.addOrder(smc,userId+"");
if(oib!
=null){
request.setAttribute("detailBean",oib);
request.getRequestDispatcher("shopping4.jsp").forward(request,response);
}else{
request.getRequestDispatcher("shopping3.jsp").forward(request,response);
}
}
4结束语
通过几天的艰苦奋斗终于完成了本次的jsp课程设计,在此期间遇到了很多的bug和代码设计优化,运行环境和插件的版本及兼容性等问题,不过经过自己的耐心调试和请教其他的同学和老师,最终呈现出完整的系统测试界面,中间无错误出现。
期间自己肯定是学到了很多的知识和经验。
《网上电影购物系统》是一个综合性的系统,里面涉及到很多的知识,MVC模式是很多企业经常采用的,其结构逻辑清晰,调试和维护非常的简便,易于管理。
总之,进行jsp的MVC应用真正能使自己的能力得到很多的提高。
最后衷心地感谢那些帮助过我的同学们,老师们!
参考文献
[1]陈火旺,徐建波,周新莲.Web设计原理与编程技术[M].中南大学出版社.2005.
[2]武延军,黄飞跃.精通JSP编程技术[M].人民邮电出版社.2001.
[3]徐国智,SQLServer2000数据库系统开发实例精粹,电子工业出版社,2006
[4]飞思科技产品研发中心.JSP应用开发详解[M].电子工业出版.2002
[5]柏亚军.JSP编程基础及应用实例集锦[M].人民邮电出版社.2001.
[6](美)MichaelJ.Young,前导工作室译.XML学习指南[M].机械工业出版社.2001.
[7]李江,张威.实例解析XML/XSL/Java网络编程[M]北京希望电子出版社2002
[8]李振华,季小武.Drwamweaver基础教程.清华大学出版社.2005.
[9]聂小燕.DrwamweaverMX2004动态网站建设全攻略.兵器工业出版社,北京科海电子出版社.2005.
[10]塞奎春.JSP信息系统开发实例精选.机械工业出版社.2006.
[11](美)DamonHougland,AaronTavistock,马朝晖译.JSP核心技术.机械工业出版社.2001.
[12]潇湘工作室刘涛徐冉.DrwamweaverUltraDev网页设计与网站开发.人民邮电出版社.2000.
[13]许增伟,张强.JSP快速高效开发利器——DrwamweaverUltraDev.清华大学出版社.2002
[14]刘韬,SQLServer2000数据库系统开发实例导航,人民邮电出版社,2004
[15]熊锡仪,动态网页设计,清华大学出版社,2004