网上电影购票系统设计_第1页
网上电影购票系统设计_第2页
网上电影购票系统设计_第3页
网上电影购票系统设计_第4页
网上电影购票系统设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要 .I前言 II1 系统需求分析及总体设计 11.1 需求分析 11.2 系统功能模块设计 11.3 数据库需求分析 12 数据库结构设计 22.1 数据库实现 22.1.1 用户信息 22.1 商品 22.1 订单 22.1 订单细节 322用JSP连接数据库 33 系统详细设计 43.1 功能部分 43.1.1 用户管理模块 53.1.2 购物车模块 63.1.3 生成订单模块 93.1.4 填写用户信息模块 94 结束语 11参考文献 12网上电影购票系统设计摘 要 : 伴随着 Internet 的蓬勃发展,网络购物中心作为电子商务的一种形式正以其高效、低成本 的优势,逐步成为新

2、兴的经营模式和理念,人们已经不再满足用途信息的浏览和发布,而是渴望着 能够充分享受网络所带来的更加多的便利。网络购物正适应了当今社会快节奏地生活,使顾客足不 出户便可以方便快捷轻松地选购自己喜欢的商品。orac技术本系统便是尝试用 JSP 在网络上架构一个动态的电子商务网站,它是在 Windows7 下,以 le 为数据库开发平台, Tomcat 网络信息服务作为应用服务器,采用 JSP(Java Server Pages) 开发的网上购物系统。他分前台部分和后台部分,前台部分由用户使用,主要包括用户注册,购物 车管理,订单管理,个人资料管理,留言板管理等功能;后台部分由管理员使用,主要包括商

3、品管 理,处理订单,用户信息管理,链接信息管理等功能。 建立后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户留言等功能的电子商务网 站。关键字:JSP Oracle、Tomcat、网上电影购票系统I前言21 世纪是网络飞速发展的时代,上网、创建网站已经成为热门话题。 Internet 技术得到持续、 猛烈的发展,已经成为计算机产业的一个技术热点,越来越多的企业开始关注网络,许多人正在或 正准备学习网络知识,进行网络开发或创建自己的网站。JSP的全称是Java Server Pages,是一种以Java为主的跨平台 Web开发语言,它具有安全性, 健全性,运行效率高等许多优点。本次课

4、程设计 基于 JSP ( MVC的网上电影购票网站的设计,是在 Windows 7下,以Oracle 为数据库开发平台,Tomcat网络信息服务作为应用服务器,采用 JSP(Java Server Pages)技术开发 的。在本论文中全面详细地介绍了网上影院系统的设计方案,第1 章为系统需求分析及总体设计,包括需求分析,系统功能模块设计,对具体功能及用例说明,数据库需求分析;第2 章为数据库设计,包括数据库结构设计,用 JSP连接数据库;第3章系统详细设计,主要包括用户注册,购物车 管理,订单管理,用户信息管理等功能;21系统需求分析及总体设计1.1需求分析此基于JSP的购物网站分前台功能和后

5、台功能:1)前台部分由用户使用,主要包括用户注册,购物车管理,订单管理,个人资料管理,留言 板管理2)后台部分由管理员使用,主要包括管理员身份验证,商品管理,处理订单,用户信息管理, 连接信息管理1.2系统功能模块设计功能结构图如下:图1功能模块设计图从图中可以看出,网上电影购票系统分为购物大厅、我的购物车、订单查询、会员登录、填写用户信息、生成订单信息六大模块。1.3数据库需求分析数据库的设计通常是以一个已经存在的数据库管理系统为基础的,常用的数据库管理系统有MYSQL, SQL Server, Oracle等。我采用了 Oracle数据库管理系统,建立的数据库名为jsp.sql。整个系统功

6、能需要以下数据项:用户:用户id、用户名称、用户真实姓名、登录密码、Email、地址、联系电话、等级。商品:商品id、名称、介绍、价格、数量、电影公司、图片地址、类型。订单:订单号、用户名、订购日期、付款方式、是否付款、总价。订单细节:订单号、商品id、数量。2数据库结构设计2.1数据库实现2.1.1 myusers(用户信息表)主要用于保存商品的基本信息,该表的结构如表2所示表1 myusers(用户信息表)VSEEIINUMBERNo111(null)BSEEUAMELAE口KR2Q0 BITE JNoCpuU)2trmll)(niilL)TRUENAMEVAKCHM12GO BYTEDN

7、i(null J3(null)Omll)PASSEDFYTENq(null4(null)(Mill)EMAILVABC1UR2 C40 BYTE)lb5(null)(null)FHOHEVARC1UR2C2O BYTENoIjvullJ&Giull)Grail)ABBEESS¥AKCHkR2C3O BYTE JNa(jwillJ7(null)(null)NUMBERYfiE5atnull) .(mill)2.1.2 goods(商品表)主要用于记录留言信息,该表的结构如表3所示。表2 goods(商品表)GOODSIDNUMBERNo11(mill)GOOIJSKAMEVAE

8、CHAE2(40 ETTE)Tes(jwiLl)2(null)IjwiLl)coobsinVAHCHAE2 (500 EYTE1TesCnuill)3広ull)CnuiLl)COODSFRICEFLOATYes4(null)&mll)GCiOESmJHNUNIBERYesIjmll)5(null)Ijmll)FUBUSHERVAKCHWt2 (40 BYTETesIjiulLI)&(null)Crwill)PHOTOVABCHAR2 (40 BYTE)Yes(jnill)7(null)(jmll)TYPEVARCHAK2 (10 BYTE)TesIjmll)8(null)2.1

9、.3 orders(订单表)主要用于保存管理员信息,该表的结构如表4所示。表3 orders (订单表)DKDZBSIBN1JMBEKNoJ(null)111(null)USERirNUMBERYes(mill)2(null)(null)DRDEKDATEDATEYom3(null)(null)F 扎MEVAECHAK2 (40 BYTE)Yes4GiulL)Ijiull)ISPAOTWtlEERYes(jiull)5(jiull)(nuLl)TOTUJRICEFlATlk(jkull)|6(null)(null)3.1.4 orderDetail(订单细节表)主要用于保存会员等级信息,该表的

10、结构如表4所示。表4 orderDetail(订单细节表)D1 1ORIESIID* AHUMBERTti:tnull)1<耆1(null)j(null)G00BSH)NUMBERYes(mill)2(riulljnullHUHSWMBERlbtnull)3(null)(null)2.2用JSP连接数据库在本系统中,需要多次连接数据库,而且这种连接是一项很消耗资源的操作,因此,在本系统 中对数据库连接的部分写成了一个JavaBean。文件名为ConnDB.java,关键代码如下:import java.sql.C onnection;import java.sql.Driver;impo

11、rt java.sql.DriverMa nager;import java.sql.SQLExcepti on;public class ConnDB Connection conn = n ull;public Connection getC onn() try Class.forName("oracle.jdbc.driver.OracleDriver");conn=DriverMa nager.getC onnection ("jdbc:oracle:th in: localhost:1522:orcl","scott",&q

12、uot;tiger"); catch (SQLException e) e.pri ntStackTrace();catch (ClassNotF oun dExcepti on e) e.pri ntStackTrace();return conn;3 系统详细设计3.1 功能部分 功能部分由购物大厅、我的购物车、订单查询、会员登录、填写用户信息等几个部分。 (1)模块功能介绍 购物大厅:此部分用于展示商品信息。用户可以通过此页面进行订购电影票。 我的购物车:此部分显示购物的信息。订单查询:登陆用户可以通过订单号查询订单。会员登录:会员可以登录,用户注册后可登陆。 填写用户信息:购

13、买商品后填写地址、电话等信息。 生成订单:用户生成订单信息。(2)网站前台首页的运行结果如图 11 所示。45RE£Er-iF-fiMj r-i&J3-±ts歩百IBCM-2Q年M03_f ft 节ri-§8-Ill炖图2购票网站首页3.1.1用尸管理模块用户管理模块主要包括用户注册、登录2个部分.(1) 登录和用户注册当用户第一次登录时首先要注册,成为会员后,才可以购买物品用户可以通过单击首页的注册按 键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图3所示.密码:登貳| |注册图 3 会员登录和用户注册页面关键代码如下:UserBeanBO

14、ubb = new UserBeanBO(); if(ubb.checkUser(u, p)/验证成功,将用户的信息保存到 sessionUserBean ub = ubb.getUserBean(u); request.getSession().setAttribute("userInfo",ub );/取出购物车信息放到 arrayList 里面去而不是放到 session 中,因为 session 只用来 存放一些不得已的数据ShowMyCar smc =(ShowMyCar)request.getSession().getAttribute("Car&qu

15、ot;);ArrayList al =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 购物车模块在

16、用户看中自己的商品后可以选择将商品放到购物车中进行暂时的保存。(1)我的购物车 我的购物车就是把用户选中的商品放在购物车中。当用户在前台首页中单击商品展示区的 “购 买”按钮时,系统会将该商品的详细信息展示在查看物品清单页中,运行结果如下图:地您爭盘魏廖矗即常O-OODOQE 由悴扁:555000 甘服信辎:“監 vuig-MiiS126. comCopyright电旻:!兀泾冋图4查看商品清单页面运行结果用户在单击物品清单页面下方的购买”链接,便可将商品放入购物车,关键代码如下:<%ArrayList al = (ArrayList)request.getAttribute("

17、;showCarl nfo");ShowMyCar smc =(ShowMyCar)sessio n. getAttribute("Car");%><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>showMyCar</title><li nk href="css/style.css" type="tex

18、t/css"rel="stylesheet" ><script type="text/javascript">ArrayList<GoodsBea n> al = new ArrayList<GoodsBea n> ();try this.allPrice=O.Of;/*Stri ngBuilder suBuilder= new Strin gBuilder(sql);*/Iterator it = hm.keySet().iterator();/ 使用迭代器从 hm 中取出货物的 id if(it.h

19、asNext()String sql = "select * from goods where goodsId in "String sub = "("while (it.hasNext() / 判断是否有值String goodsId = (String)it.next();/ 取值 if(it.hasNext()/ 进行逗号的判断,有值就加逗号 sub+=goodsId+","else sub+=goodsId+")"sql+=sub;/ 这才是一个完整的 sql 语句conn = new ConnDB().g

20、etConn(); ps = conn.prepareStatement(sql) ; rs = ps.executeQuery(); while(rs.next()GoodsBean gb = new GoodsBean(); int goodsId=rs.getInt(1); gb.setGoodsId(goodsId ); gb.setGoodsName(rs.getString(2); gb.setGoodsIntro(rs.getString(3); float unit = rs.getFloat(4); gb.setGoodsPrice(unit);gb.setGoodsNum(

21、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) 清空购物车 清空购物车是指当用户订单生成后,倘若还想继续购物,一定要清空购物车在进行选购商品, 这样防止重复购物。清空购物车是将购物信息全部清除,关键代码如下: HashMap<

22、String,String> hm = new HashMap<String,String>();public void clear() hm.clear();3.1.3 生成订单模块生成订单是网上购物商城的最终目的,前面的所有的功能的实现都是为最后生成一个用户满意 的订单做基础,在此要生成一个可以供用户随时查询订单号,还要保存用户订单中所购买的商品信 息。当用户确认对购物车不再改变后,就可以到收银台结帐并生成订单。结帐的流程是:从购物车 中读取商品名称,商品数量,商品价格信息,生成唯一的一个订单号,同时也把用户注册的基本信 息读取出来,形成一个完整的订单写入数据库中,结帐填

23、写订单的页面如下图。图 5 购物车在网页中运行结果 在生成订单模块中主要使用了调出用户信息并生成唯一订单号,调出用户信息就是完全的对数 据库进行操作,利用 session 对象把登陆后的用户名保存起来,在订单生成时把保存的用户名 从数据库的用户表中取出即可。3.1.4 填写用户信息模块图 7 填写用户信息页面关键代码如下:<td colspan="9" align="center"> 订单详细信息 </td></tr><tr><td width="10%"> 订单号 <

24、/td><td width="8%"> 收货人 </td><td width="13%">收货地址 </td><td width="15%">电话 </td><td width="11%">总价 </td><td width="14%">用户名 </td><td width="18%">电子邮件 </td><td widt

25、h="11%">&nbsp;</td></tr> <tr><td><%=oib.getOrderid() %></td> <td><%=oib.getTruename() %></td> <td><%=oib.getAddress() %></td> <td><%=oib.getPhone() %></td> <td><%=oib.getTotalPrice() %

26、></td> <td><%=oib.getUsername()%></td> <td><%=oib.getEmail() %></td> <td> 查看详情 </td></tr><tr><td colspan="8" align="center"> 您的订单已经完成, 我们稍后会向您的邮箱发送确认信 息,并确认订单 </td></tr>OrderBeanBO obb = new Or

27、derBeanBO();ShowMyCar smc = (ShowMyCar) request.getSession().getAttribute("Car");int userId = (UserBean) request.getSession().getAttribute("userInfo").getUserid();OrderInfoBean oib = 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 和代码设计 优化,运行环境和插件的版本

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论