毕业设计(论文)基于JSP购物网站的设计与开发.doc

上传人:仙人指路1688 文档编号:2399974 上传时间:2023-02-17 格式:DOC 页数:31 大小:1,010KB
返回 下载 相关 举报
毕业设计(论文)基于JSP购物网站的设计与开发.doc_第1页
第1页 / 共31页
毕业设计(论文)基于JSP购物网站的设计与开发.doc_第2页
第2页 / 共31页
毕业设计(论文)基于JSP购物网站的设计与开发.doc_第3页
第3页 / 共31页
毕业设计(论文)基于JSP购物网站的设计与开发.doc_第4页
第4页 / 共31页
毕业设计(论文)基于JSP购物网站的设计与开发.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《毕业设计(论文)基于JSP购物网站的设计与开发.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于JSP购物网站的设计与开发.doc(31页珍藏版)》请在三一办公上搜索。

1、本科毕业论文(设计)题目: 基于JSP购物网站的设计与开发 学院: 数学与计算机科学学院 班级: 08级计算机本科三班 姓名: 指导教师: 职称: 讲师 完成日期: 2012 年 6 月 2 日基于JSP购物网站的设计与开发摘要:随着网络化和信息化的发展,人们生活水平的不断提高,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人所接受,越来越多的网络商店走入了大众的生活,对电子商务网站的设计和实现技术要求也越来越高,网上手机销售也成为商家新的运作模式。本网站主要以MySQL为数据库开发平台,采用JSP开发技术实现前台用户页面和后台管理员管理页面。此

2、系统的开发改善了一些技术和增加创新,使之代替了传统的销售方式,解决了管理困难、销售成本高等问题。同时此系统具有使用简单,用户界面友好,便于操作等特点。关键词:JSP;MySQL;手机商城目 录1 绪论11.1 网站的开发背景11.2 系统开发工具概述21.2.1 JSP简介21.2.2 JSP的优点21.2.3 JSP的弱势21.2.4 MyEclipse简介21.2.5 MySql简介31.2.6 Tomcat简介31.2.7 系统开发环境32 需求分析42.1 功能需求分析42.2 业务流程分析42.3 数据流分析43 系统设计73.1系统总体功能结构73.2 系统数据库模型设计83.2.

3、1系统概念结构设计E-R图83.2.2 系统逻辑结构设计关系模型103.2.3 数据库逻辑结构设计关系表103.2.4 数据表详细说明104 详细设计与系统实现124.1 系统详细设计总体概述124.2 数据库的操作的JavaBean设计134.3 用户主界面设计144.4 用户信息管理模块的设计154.4.1 会员登录模块设计154.4.2 会员注册模块的设计174.4.3 用户信息的查看与修改模块的设计184.5 购物车模块和订单模块的设计194.5.1 购物车添加商品的设计204.5.2 订单的提交设计214.6 后台管理模块的设计214.6.1 后台用户管理模块设计214.6.2 后台

4、手机管理模块设计235 软件测试245.1 软件测试的目的245.2 软件测试过程245.3 软件测试结论245.3.1 软件能力245.3.2 缺陷和限制245.3.3 测试结论256 结束语251 绪论1.1 网站的开发背景随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人所接受。信息技术飞速发展,手机的销售和管理水平也随之提高,逐步实现信息化,缩减中间渠道,形成网上直销,免去时间和空间的限制,在传统购物的过程中,这些中间环节是不可能避免的,要想买到自己所需要的商品,就必须去实体店,也就是人们所说的商

5、场,如果网上商城开发成熟,人们就可以坐在家里,或者是任何一个地方,只要有一台联网的电脑,就能买到自己需要和想要的商品,极大的方便了人们的生活,节省了很多时间,此外网上的商品种类齐全,对一些特殊商品的需求也能得到满足,由于网上购物可以减少很多中间环节,大大的节省了成本,只需很少的运费就能送到家,所以再价钱上也占很大的优势。在国外,“网上购物”的理念已经十分成熟,结合购物搜索、在线图形技术等实现在线试穿、在线着装,并且可以以平面图像、3D影像的表现形式使用户的体验水平非常人性化。而我国的信息化购物起步相对较晚,但由于电子商务的飞速发展,信息化程度有了明显的提高,像淘宝、当当、卓越等网站和新浪、搜狐

6、的网上商城等,极大的促进了我国商品销售信息化的发展。在设计上,该系统采用MVC模式,由于是满足一些小型企业和商家的需求,不可能把所有的功能都完善,这对于任何一个网站来说也是不可能实现的,随着客户需求的增加,后期的升级与改进是很必要的,这种开发模式将显示模式与设计模式相分离,对于后期的开发人员来说,是一件极大的好事,只需增加相应的代码,提供相应的接口就可以了,而不必过多的考虑系统的整体情况,当然,如果是大型的网站,就必须运用一些架构等,但对于这样的小型网站来说,这种模式就足够了。此网上手机销售网站正是针对传统销售出现的一系列问题而开发的,实现了销售的高效率、低错误、信息化、自动化和规范化。1.2

7、 系统开发工具概述1.2.1 JSP简介JSP(Java Server Pages)是由Sun Microsystems公司倡导,许多公司参与一起建立的一种动态网页技术。就是普通网页文件中插入Java程序和JSP标记,就形成了JSP文件。JSP是在服务端执行的,使用Java语言编写和封装生成动态网页的处理逻辑,将逻辑与显示分离,服务器遇到访问JSP页面的请求时,先执行网页中的程序代码段,然后再将执行后的结果和JSP文件中的HTML代码生成一个HTML文本返回给客户端,因此客户端只需要有浏览器就能浏览。1.2.2 JSP的优点JSP是目前主流的网络编程环境之一,是一种将各种Web元素组合在一起的

8、服务器技术,是一个网站开发的平台,它提供了生成Web应用程序所必需的各种服务。主要有以下几个好处:(1)一次编写,到处运行。(2)系统的多平台支持。(3)强大的可伸缩性。(4)多样化和开发工具的支持。 (5)支持服务器端组件。1.2.3 JSP的弱势(1)很高的复杂性,因为具有跨平台性和强大的伸缩性,所以无形之中就增加了复杂程度。 (2)Java的运行是靠class常驻内存来实现的,占用内存较高。此外还需要一定的硬盘空间存放.java文件和.class文件以及相应的版本文件。1.2.4 MyEclipse简介 MyEclipse是一个用于开发Java、J2ee的Eclipse插件集合,功能强大

9、,支持广泛,对各种开源产品的支持十分不错。简单而言,MyEclipse是Eclipse的插件,是最强大的J2EE的集成开发环境之一,支持代码编写、配置、测试以及除错,MyEclipse6.0以后版本安装时不再需要安装Eclipse。1.2.5 MySql简介MySQL是一种关联数据库管理系统,将数据保存在不同的表中,因此增加了速度并提高了灵活性。MySQL使用SQL“结构化查询语言”,多种操作系统的支持,为多种编程语言提供了API,支持多线程,优化的SQL查询算法,可以处理大型数据库,支持多种存储引擎等,成本低、速度快、体积小和开放源码,由于它拥有这么多优点,所以许多中小型网站都采用MySQL

10、作为网站的数据库。1.2.6 Tomcat简介 Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。其性能稳定、技术先进,扩展性好,占用的系统资源小,支持邮件服务等与负载平衡等系统功能并且免费,得到了开发人员的喜爱和认可,成为目前流行的应用服务器。1.2.7 系统开发环境A 性能要求本网站采用了JSP开发技术和MySQL数据库技术,因此必须在Windows XP以上的操作系统上运行。作为一个普通的小型网站来说,没有必要对所有的数据都进行加密。B 运行要求硬

11、件要求:1)服务器端:一台配置为512M内存,CPU为Intel Pentium IV 2.0GHZ以上,硬盘容量为80G的微机.2)客户端:586以上的微机软件要求:1)服务器端:使用语言:JSP(Java Server Pages) 数据库: MySQLJSP编译环境: J2SDK+TOMCAT+MySQL操作系统: WindowsXP Professional以上 浏览器:Internet Explore6.0以上版本2)客户端:IE6.0以上的浏览器版本, 800*600分辨率以上,使用Windows9X/2000/NT/XP 以上系统2 需求分析2.1 功能需求分析一是前台顾客购买功

12、能,客户进入网站首页可以查看最新上市的商品,正在搞活动的商品,商家推荐的商品,分类商品以及相关内容。当用户选中某款商品时可以进行登录购买,如果不是本站会员也可以进行注册,然后再继续购买,与传统购物流程相似,但操作更为简单,实现了随时随地只要在电脑前就可以购物的愿望。二是用户的后台管理功能。不同的用户有不同的权限,如果是管理员,可以实现商品的添加与商品信息和用户信息的修改、活动商品的管理、对违法用户的删除,订单的查看与管理等功能,如果是普通用户则只能对自己信息的修改,自己订单的查询等操作。2.2 业务流程分析 管理员对手机商城用户人员的管理(用户级别的修改、对用户信息的查看和删除),商品的管理(

13、商品的添加,删除,对商品信息的查看和更新),订单的管理(订单的查看和删除)等。 普通用户在网站首页了解相关信息发布(各型号手机信息、特价手机、新款手机),用户信息的管理(用户登录、修改密码、选购手机、自助订机、订单提交、订单查看)。后台管理端流程如图1,前台用户端流程如图2: 2.3 数据流分析数据流程分析即对信息流的传递、流动、存储、处理等相关内容的分析。目前的数据流程分析主要是通过数据流程图来描述的。其具体的步骤是:按照业务流程图得出业务流程的顺序,把了解到数据的流向和处理的过程,绘制成完整的数据流程图。就此网站系统来说,后台管理员可以把手机的各种信息录入数据库,同时允许修改和更新各种信息

14、,对用户的删除和用户级别的修改,订单的查看和删除;其他会员用户可以录入注册信息,提交登录信息、查看手机信息和个人信息以及其他信息。管理员验证手机管理订单管理机品管理用户账户管理成功失败图1 后台管理端流程图管理员此外数据文件有用户表,手机信息表,订单表等。图2 前台用户端流程图1.1 用户登录1.2 用户注册1.3 用户信息的修改与查询用户登录信息用户信息用户信息D1 用户信息表用户信息表用户信息表用户信息表图3 用户信息管理数据流网站的各种信息流的内部逻辑流向和逻辑变换过程和交换关系可以用数据流图表示出来,如图3为用户信息管理数据流图:添加的机品信息添加的机品类别信息2.3 机品明细添加2.

15、4 机品信息的修改D6 机品类别信息表机品类别信息表机品明细机品信息D4 机品信息表机品的一般信息表机品明细表机品信息表2.2 机品类别的添加图4 商品管理数据流2.1 机品信息的添加商品管理流图,显示商品信息流在商品管理端与数据库之间的逻辑交换和逻辑关系,如图4所示:后台订单管理数据流图,如图5所示:2.1 订单的确认2.2 订单的查询2.3 订单的发送确认订单信息待确认订单信息订单信息待发送订单信息发送订单信息D5 订单信息表订单信息表订单信息表订单信息表图5 后台订单管理数据流3 系统设计3.1系统总体功能结构通过前面对需求分析和实际情况的了解,得出网上手机商城的总体功能结构:其中前台用

16、户端包括手机信息浏览,购物车和用户信息管理三个模块;后台管理端包括手机商品管理,订单管理,用户管理三个模块。系统主要模块及其功能如下:A 用户信息管理:此模块用于对账户信息的各种相关操作,如用户的注册,登录等。B 手机种类信息及相关信息浏览:主要包括手机具体内容、分类列表,特价专区等内容的查看。C 购物车模块:将手机放入购物车,商品取消和购买,查看购物车,修改手机数量,全部删去购物车中的商品。D 订单处理:用户查阅订单,生成新的订单,查看订单列表和详细内容以及订单的确认。E 后台用户管理:查看用户信息,删除用户。F 手机商品管理:网上手机商城后台管理端订单管理手机商品管理后台用户管理前台用户端

17、购物车用户信息管理手机信息浏览订单的查看订单的确认与发送手机类别的管理手机的添加与更新用户的查看和删除订单的生成与查看手机类别的查看活动信息的查看手机详情的查看用户登录用户注册用户信息的查看与修改用户级别的修改图6 系统功能结构图查看手机分类列表和手机的详细信息,管理员添加、修改、删除手机信息等操作。具体结构如图6:3.2 系统数据库模型设计3.2.1系统概念结构设计E-R图E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。是一种描述概念结构模型的方法。具体方法是用矩形表示实体;用椭圆表示属性,并用直线将两者连接起来;用菱形表示实体和实体之间的联

18、系,并用直线将有关实体型连接起来, E-R图就是这样一种的图形。用户ID订单号编号ID管理员ID时间时间商品ID用户商品浏览管理包含包含类型订单处理开出管理员管理 mnmmnm1nnmmnkk 1图图7 系统结构E-R图根据前面的具体分析就可以得到下面的关系模型图,如图7:具体属性如下: 用户:会员ID,会员名,真实姓名,登录密码,会员性别,电话号码,E-mail,具体住址,邮政编码,用户级别。(管理员属性同上。) 手机:产品ID,所属种类,手机型号,手机简介,活动与否,正常单价,活动单价,手机图片,库存数量,邮费。 订单:订单号,用户ID,订单时间,用户真实姓名,具体地址,邮政编码,商品总价

19、。 订单包含手机联系属性:数量,单项价格,总价。 管理员信息:编号,姓名,密码,权限。 手机商品包含联系属性:数量。 管理员处理订单属性:订单确认人,确认时间。3.2.2 系统逻辑结构设计关系模型根据数据库原理的相关规范可以做以下处理: 根据相关原则规范从E-R图向关系模型进行转换。 由于普通用户和管理员的关系模型除了在权限不同,其他属性全部一样,所以可以将这两种关系模型看成是一种,只需加入一个级别段将两者进行区分就可以了。 浏览关系模式和此网站系统其它功能要求关系不大,因此可以忽略。 由于手机分类的关系模式在系统中要经常调用,故将其作为一个单独的关系模式。通过上面的分析,可以得出以下的关系模

20、式:用户(会员ID,会员名,登录密码,会员性别,用户电话,E-mail,具体住址,邮政编码,真实姓名,用户级别)手机商品(商品ID,所属种类,手机型号,手机简介,是否活动,正常单价,活动单价,产品照片,备忘)订单(订单号,用户ID,订单时间,用户真实姓名,具体住址,联系电话,产品总价)3.2.3 数据库逻辑结构设计关系表根据以上关系模型可以得出相应的关系表,关系表如表1:表1 关系表编号名称说明表1users用户信息表表2products商品信息表表3orders订单列表表4orderdetail订单详情表3.2.4 数据表详细说明用户表(users)主要记录用户(管理员和普通用户)的相关信息

21、,具体情况如表2:表2 用户信息表字段名数据类型是否为空描述说明useridint否编号,主键namevarchar否注册名Sexvarchar否性别birthdayvarchar否出生日期passwordvarchar否密码telephonevarchar否电话addressvarchar否地址emailvarchar否邮箱gradevarchar是级别truenamevarchar否真是姓名商品信息表(products)主要记录手机的具体信息,具体情况如表3:表3 手机信息表字段名数据类型是否为空描述说明itermidint否项目编号productidvatchar否产品编号product

22、namevarchar否产品名称productpicefloat是商品价格countint是库存数量activityvarchar是是否活动商品activepricefloat是活动商品的价格kindvarchar是商品类别photo varchar是图片informationvarchar是商品信息yunfeifloat是运费订单表(orders)主要记录每笔订单的相关信息,如表4:表4 订单表字段名数据类型是否为空描述说明orderidint否订单编号useridint否用户编号orderdatevarchar否订单生成时间paymodevarchar否支付方式ispayedvarchar

23、否是否支付totalpricefloat是订单总价addressvarchar否订货地址订单明细表(orderdetail)记录订单所选商品编号,数量等详细信息。如表5所示:表5 订单明细表字段名数据类型是否为空描述说明orderidint否订单编号goodidvarchar是商品编号numint是商品数量pricefloat是商品单价4 详细设计与系统实现4.1 系统详细设计总体概述 此系统的开发采用了现在比较流行的MVC开发模式,MVC是model,view,controller三个单词的缩写,这种开发模式将整个系统分为了三个大类,数据模型、用户界面和控制器,其中数据模型(model)用j

24、ava编写,用于实现系统中的数据逻辑,包含了所有的JavaBean和方法;用户界面(view)用jsp编写,用于与用户的交互,包含了用户能看到的所有页面信息,也可以理解为view就是由无数个页面组成的;控制器(controller)是model和view之间沟通的桥梁,可以根据用户的不同请求来跳转到相应的界面,相当于公司中的领导阶层,接收view中提交上来的信息,然后交给model中的方法将这些信息进行处理,接收处理后的信息返回给页面或者存入数据库。 这种设计模式实现了业务层和视图层的分离,使网站能更好的进行维护与升级,并且有低耦合,高重用性,较低的生命周期成本,可维护性等优点,下面就围绕这种

25、开发模式对本网站设计进行分模块的详细介绍。4.2 数据库的操作的JavaBean设计 作为一个公共类,数据库操作的JavaBean一般包括数据库的链接getConnection、执行executeQuery、更新操作的执行executeUpdate、连接的关闭close方法。下面是数据库操作JavaBean的具体信息。使用JDBC访问数据库: Java应用程序 DBMSJDBCAPIJDBC驱动程序管理器JDBC驱动程序APIJDBC网络驱动程序JDBC-ODBC桥驱动程序图8 Java应用程序访问数据库的过程在Java语言中, Java可以通过JDBC对数据库进行访问。JDBC是一种“开放”

26、的方案,提供了一种标准的应用程序接口。应用程序要访问数据库必须加载数据库驱动,再通过JDBC建立连接才能访问数据库,执行SQL语句,最后必须断连接以释放资源,过程如图8所示:在connDB中使用getConnection()方法建立与数据库的连接。首先是加载数据库驱动程序:Class.forName(com.mysql.jdbc.Driver);用到java.lang包中的类Class,调用Class类中的方法forName()方法来获取MySQL数据库连接,DriverManager.getConnection(jdbc:mysql:/localhost:3306/Database,root

27、,142857);第一个参数是连接数据库URL,第二,三个参数为帐户名和密码.最后调用Statement的executeQuery(),executeUpdate()或execute()方法完成对数据库的访问。connDB类的成员及说明如表6:表6 connDB类成员表成员名返回值类别作用域功能connConnectionpublic记录数据库连接stStatementpublic向数据库发送SQL语句rsResultSetpublic装载查询结果getConnection()Connectionpublic static建立数据库连接executeQuery(String sql)Resul

28、tSetpublic进行查询操作executeUpdate(String sql)intpublic更新操作,返回更新行数close()voidpublic关闭数据库连接4.3 用户主界面设计系统的用户主界面是用户了解商城的首要窗口,其中必须包括商城中商品的主要信息和相关入口。用户在首页可以进行注册成为会员,登录后可以进行购机等相关操作。用户还可以选择相应的菜单选项进行选购手机,手机详细信息的查看,不同分类的手机信息浏览,还有常见问题,相关联系方式。 主界面的构成:最上面为head.jsp,包含头部的主要信息,比如用户登录状态,商城logo,搜索框,导航栏的信息;左边的为left.jsp,包含

29、用户登录注册入口和新品上市,分别是用户登录和显示本商城最新上市商品的地方;右边是right.jsp,包含一个flash和活动专区,flash显示了本店的特色商品和一些最新活动信息,活动专区则提供了本店正在促销和降价的商品,主界面最下面是tail.jsp,用来声明版权。 在系统主界面最上面显示用户的登录状态,如果用户未登录就有用户未登录的提示,如果用户已经登录则显示登录用户的用户名和安全退出的信息,用户名是一个超链接,通过点击用户名则完成从主界面到用户中心的跳转,跳转的时候后台会根据登录用户的级别(是否为管理员)跳转到不同级别的个人中心页面,导航栏通过超链接实现分类信息的参数传递,通过后台程序的

30、运行从数据库中提取相应的列表,从而实现到分类信息列表的跳转。左边的登录和注册入口在未登录的时候显示的是登录和注册窗口,用户登陆以后则以一张图片替换,新品上市和活动专区则与数据库相连,根据数据库中的信息动态的显示相关商品的信息。主界面如图9所示:图9 主界面4.4 用户信息管理模块的设计4.4.1 会员登录模块设计此模块的主要功能是对用户名和密码进行验证,只有合法的用户才能使用本系统购买手机。如果不是本网站的会员必须先进行注册才能购买此网站的商品。在首页的登录窗口中有一个用户登录菜单。用户填写的所有信息都由Form表单使用post方法提交给服务器。服务器通过getParameter函数获得For

31、m表单提交的信息,通过提交的用户名取出数据库中的密码,将取出的密码与用户提交的密码进行比对,如果一致则合法,并不是直接通过数据库语言与数据库中的密码匹配,这样做的好处是可以有效的防治SQL漏洞。在用户登录后,将用户的所有信息通过setAttribute 函数保存在session中,方便其它界面使用随时使用对象中的用户信息。此外,该界面还提供出错处理,如用户登录时用户信息填写的格式不正确或字符不合法,都会给用户做出相应的错误提示,直到输入信息合法才能提交。本网站的所有用户(普通会员与管理员)都是通过此登录窗口进行登录,只需要更具用户的级别实现页面的选择就可以了。在此界面中还添加了一个用户注册的按

32、钮,用以帮助第一次使用该系统的人通过注册而成为本网站的会员。在页面上有一个安全退出的选项,是退出本网站的出口,当退出时把网页中的session对象清空,登录状态就变为用户未登录的提示。这样做的原因有两个:首先就是安全性,如果没有安全退出,下一个用户很可能会用该没有过期的session对象;此外,假如大多数人都不退出登录,那么session中无用的对象在过期之前就会一直占用着系统资源,从而造成网络资源的浪费。登录窗口如图10,登录流程如图11:主界面登陆界面输入用户名和密码表单是否提交用户名是否存在密码是否正确用户类别管理员界面会员界面退出管理员会员YNYNN图11 用户登录流程图 图10 用户

33、登录窗4.4.2 会员注册模块的设计此网站规定只有会员才有购买资格,生成订单。游客只能进行手机商品的浏览和手机详情查看的操作。在首页的登录窗口有一个注册的按钮,用户通过此按钮可以进入注册页面,也可以先将商品加入购物车,购买的时候会有提示进入注册页面。 此模块中用到了用户信息Bean(userbean)用来传递form表单提交的注册信息,后台通过reguest对象的gerParameter方法接收表单提交的信息,调用相关函数将这些信息存入数据库,其中还有异常的处理,比如数据库中已经存在相应的用户名,两次输入的密码是否一致等情况也都由这些相关函数进行判断和处理。注册用户的代码如下:public b

34、oolean addUser(String username,String password,String sex,String birthday,String email,String truename,String address,String telephone) boolean b=true; try ct=new ConnDB().getconnection(); ps=ct.prepareStatement(insert into users (name,password,sex,birthday,email,truename,address,telephone)values(?,

35、?,?,?,?,?,?,?); ps.setString(1, username); ps.setString(2, password); ps.setString(3, sex); ps.setString(4, birthday); ps.setString(5, email); ps.setString(6, truename); ps.setString(7, address); ps.setString(8, telephone); ps.execute(); catch(Exception e) e.printStackTrace(); b=false; finally this.

36、close(); return b;注册成功后,用户就可以用自己注册的账户进行商品的购买和对自己信息的修改等操作,当然注册成功后会自动登录,将用户信息的bean放入session中,以便用户在本网站继续其他的操作。用户注册界面如图12: 图12 用户注册界面4.4.3 用户信息的查看与修改模块的设计用户在这里可以查看和修改自己信息,更改密码。如果是系统管理员,还可以查看其他用户的信息,级别的修改,对不合法用户进行删除等操作。在用户信息的查看与修改界面和注册界面几乎完全一样,只不过注册的会员名是不可以修改的,其他的信息都可以根据用户的需要(如工作、住址、电话的变更)进行修改,具体修改的代码如下:

37、public boolean updateByUsername(String username,String truename,String address,String telephone,String email) boolean b=true; try ct=new ConnDB().getconnection(); ps=ct.prepareStatement(update users set telephone=?,address=?,email=?,truename=? where name=?); ps.setString(1,telephone); ps.setString(2

38、,address); ps.setString(3,email); ps.setString(4,truename); ps.setString(5,username); ps.execute(); catch(Exception e) e.printStackTrace(); b=false; finally this.close(); return b;信息修改后后台程序会返回一个布尔量,如果为真则修改成功,反正则抛出异常,根据不同的返回值选择跳回到哪个页面。4.5 购物车模块和订单模块的设计该模块主要包括添加手机,删除手机,改变手机数量,清空购物车和购物车信息查看的功能,是实现购物的关键

39、部分。订单处理是根据用户购物车内的信息和用户的个人信息生成订单和订单的查看功能。由于这两个模块是联系在一起的,所以放在一起说明。当用户将商品添加到购物车后提交,由系统自动生成订单号并存入数据库供用户随时查看。购物车界面如图13所示,订单界面如图14:图13 购物车界面图14 订单界面4.5.1 购物车添加商品的设计用户在手机详细信息页面选择加入购物车,就可以跳转到购物车信息界面如图13。会员只有登录后才可以进行继续购买。在本模块后台购物车的设计采用了HashMap方法,这个方法的好处是可以非常方便的对里面的对象进行增加、修改和删除,甚至是清空购物车,然后将其中的对象用ArrayList方法保存

40、到session中,用户可以随时的从session中得到购物车中的商品信息,也可以随时的修改数量和删除。具体代码如下:public class MyShoppingCarBO HashMap hm=new HashMap(); private ResultSet rs=null; private Connection ct=null; private PreparedStatement ps=null; private float allprice=0.0f; public float getallprice() return this.allprice; public String getn

41、umbygoodid(String goodid) return (String)hm.get(goodid); public void addgood(String goodid,String goodnum) hm.put(goodid,goodnum); public void deletgood(String goodid) hm.remove(goodid); public void cleangood() hm.clear(); public void updategood(String goodid,String newnum) hm.put(goodid,newnum); 4.

42、5.2 订单的提交设计当用户选择完商品后,选择提交,这时会有一个订单详情的显示,供用户对购买信息的核对,如果没有问题则单击完成订购按钮生成新的订单并保存到数据库中。这时系统需获取当前时间来决定订单的生成时间,还需查找出数据库中的订单数量来决定当前订单的订单号,并将这次订单包含的所有信息存入数据库中,如果抛出异常应该返回错误信息,反之则跳回下单成功界面并显示订单信息。4.6 后台管理模块的设计4.6.1 后台用户管理模块设计后台用户管理模块主要是实现管理员查看普通会员的信息,级别的修改和删除操作。在次模块中分页显示用户列表。用户管理页面如图15:图15 用户管理界面删除用户的代码如下:public boolean deleteUserByUserid(long userid) boolean b=false; try ct=new ConnDB().getconnection(); ps=ct.prepareStatement(delete from users where userid=?); ps.setLong(1, userid); int a=ps.executeUpdate(); if(a=1) b=true; catch(Exception e) e.printStackTrace(); b=false; finally this.close(); return

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号