




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕 业 作 业 夹 (专 科) 题 目: 基于 JSP 的网上购物商场系统的设计与开发 办学单位: 姓 名: 陈 可 学 号: 1351101450975 专 业:计算机网络技术 指导老师: 四川成都建设北路一段七号 成都温江海峡两岸科技园新华大道二段 179 号 基于 JSP 购物网站的设计与开发 摘要:随着网络化和信息化的发展,人们生活水平的不断提高,互联网已逐步深入 人心,人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为 更多的人所接受,越来越多的网络商店走入了大众的生活,对电子商务网站的设计 和实现技术要求也越来越高,网上手机销售也成为商家新的运作模式。本网站主要 以 MySQL 为数据库开发平台,采用 JSP 开发技术实现前台用户页面和后台管理员管 理页面。此系统的开发改善了一些技术和增加创新,使之代替了传统的销售方式, 解决了管理困难、销售成本高等问题。同时此系统具有使用简单,用户界面友好, 便于操作等特点。 关键词:JSP;MySQL;手机商城 I 目 录 1 绪论1 1.1 网站的开发背景.1 1.2 系统开发工具概述.2 1.2.1 JSP 简介2 1.2.2 JSP 的优点2 1.2.3 JSP 的弱势2 1.2.4 MyEclipse 简介2 1.2.5 MySql 简介3 1.2.6 Tomcat 简介3 1.2.7 系统开发环境.3 2 需求分析4 2.1 功能需求分析.4 2.2 业务流程分析.4 2.3 数据流分析.4 3 系统设计7 3.1 系统总体功能结构.7 3.2 系统数据库模型设计.8 3.2.1 系统概念结构设计E-R 图.8 3.2.2 系统逻辑结构设计关系模型.10 3.2.3 数据库逻辑结构设计关系表.10 3.2.4 数据表详细说明.10 4 详细设计与系统实现12 4.1 系统详细设计总体概述.12 4.2 数据库的操作的 JAVABEAN设计 .13 II 4.3 用户主界面设计.14 4.4 用户信息管理模块的设计.15 4.4.1 会员登录模块设计.15 4.4.2 会员注册模块的设计.17 4.4.3 用户信息的查看与修改模块的设计.18 4.5 购物车模块和订单模块的设计.19 4.5.1 购物车添加商品的设计.20 4.5.2 订单的提交设计.21 4.6 后台管理模块的设计.21 4.6.1 后台用户管理模块设计.21 4.6.2 后台手机管理模块设计.23 5 软件测试24 5.1 软件测试的目的.24 5.2 软件测试过程.24 5.3 软件测试结论.24 5.3.1 软件能力.24 5.3.2 缺陷和限制.24 5.3.3 测试结论.25 6 结束语25 1 1 绪论 1.1 网站的开发背景 随着社会的不断进步及网络经济时代的蓬勃发展,互联网已逐步深入人心,人 们不再满足于传统的购物方式,“网上购物”这种新型的购物方式已经为更多的人 所接受。 信息技术飞速发展,手机的销售和管理水平也随之提高,逐步实现信息化,缩 减中间渠道,形成网上直销,免去时间和空间的限制,在传统购物的过程中,这些 中间环节是不可能避免的,要想买到自己所需要的商品,就必须去实体店,也就是 人们所说的商场,如果网上商城开发成熟,人们就可以坐在家里,或者是任何一个 地方,只要有一台联网的电脑,就能买到自己需要和想要的商品,极大的方便了人 们的生活,节省了很多时间,此外网上的商品种类齐全,对一些特殊商品的需求也 能得到满足,由于网上购物可以减少很多中间环节,大大的节省了成本,只需很少 的运费就能送到家,所以再价钱上也占很大的优势。 在国外,“网上购物”的理念已经十分成熟,结合购物搜索、在线图形技术等 实现在线试穿、在线着装,并且可以以平面图像、3D 影像的表现形式使用户的体验 水平非常人性化。而我国的信息化购物起步相对较晚,但由于电子商务的飞速发展, 信息化程度有了明显的提高,像淘宝、当当、卓越等网站和新浪、搜狐的网上商城 等,极大的促进了我国商品销售信息化的发展。 在设计上,该系统采用 MVC 模式,由于是满足一些小型企业和商家的需求,不 可能把所有的功能都完善,这对于任何一个网站来说也是不可能实现的,随着客户 需求的增加,后期的升级与改进是很必要的,这种开发模式将显示模式与设计模式 相分离,对于后期的开发人员来说,是一件极大的好事,只需增加相应的代码,提 供相应的接口就可以了,而不必过多的考虑系统的整体情况,当然,如果是大型的 网站,就必须运用一些架构等,但对于这样的小型网站来说,这种模式就足够了。 此网上手机销售网站正是针对传统销售出现的一系列问题而开发的,实现了销 售的高效率、低错误、信息化、自动化和规范化。 2 1.2 系统开发工具概述 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 元素组合在一起的服 务器技术,是一个网站开发的平台,它提供了生成 Web 应用程序所必需的各种服务。 主要有以下几个好处: (1)一次编写,到处运行。 (2)系统的多平台支持。 (3)强大的可伸缩性。 (4)多样化和开发工具 的支持。 (5)支持服务器端组件 。 1.2.3 JSP 的弱势 (1)很高的复杂性,因为具有跨平台性和强大的伸缩性,所以无形之中就增 加了复杂程度。 (2)Java 的运行是靠 class 常驻内存来 实现的,占用内存较高 。此外还需 要一定的硬盘空间存放 .java 文件和.class 文件以及相应的版本文件。 1.2.4 MyEclipse 简介 MyEclipse 是一个用于开发 Java、J2ee 的 Eclipse 插件集合,功能强大,支持 广泛,对各种开源产品的支持十分不错。 3 简单而言,MyEclipse 是 Eclipse 的插件,是最强大的 J2EE 的集成开发环 境之一,支持代码编写、配置、测试以及除错 ,MyEclipse6.0 以后版本安装时 不再需要安装 Eclipse。 1.2.5 MySql 简介 MySQL 是一种关联数据库管理系统,将数据保存在不同的表中,因此增加了速 度并提高了灵活性。MySQL 使用 SQL“结构化查询语言” ,多种操作系统 的支持, 为多种编程语言提供了 API,支持多线程 ,优化的 SQL 查询算法,可以处理大 型数据库,支持多种存储引擎 等,成本低、速度快、体积小和开放源码,由于它 拥有这么多优点,所以许多中小型网站都采用 MySQL 作为网站的数据库。 1.2.6 Tomcat 简介 Tomcat 是 Apache 软件基金会(Apache Software Foundation)的 Jakarta 项 目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。其性 能稳定、技术先进,扩展性好,占用的系统资源小,支持邮件服务等 与负载平衡 等系统功能并且免费,得到了开发人员的喜爱和认可,成为目前流行的应用服务器。 1.2.7 系统开发环境 A 性能要求 本网站采用了 JSP 开发技术和 MySQL 数据库技术,因此必须在 Windows XP 以上 的操作系统上运行。作为一个普通的小型网站来说,没有必要对所有的数据都进行 加密。 B 运行要求 硬件要求:1)服务器端:一台配置为 512M 内存,CPU 为 Intel Pentium IV 2.0GHZ 以上,硬盘容量为 80G 的微机. 2)客户端:586 以上的微机 软件要求:1)服务器端:使用语言:JSP(Java Server Pages) 数据库: MySQL JSP 编译环境: J2SDK+TOMCAT+MySQL 4 操作系统: WindowsXP Professional 以上 浏览器:Internet Explore6.0 以上版本 2)客户端:IE6.0 以上的浏览器版本, 800*600 分辨率以上,使用 Windows9X/2000/NT/XP 以上系统 2 需求分析 2.1 功能需求分析 一是前台顾客购买功能,客户进入网站首页可以查看最新上市的商品,正在搞 活动的商品,商家推荐的商品,分类商品以及相关内容。当用户选中某款商品时可 以进行登录购买,如果不是本站会员也可以进行注册,然后再继续购买,与传统购 物流程相似,但操作更为简单,实现了随时随地只要在电脑前就可以购物的愿望。 二是用户的后台管理功能。不同的用户有不同的权限,如果是管理员,可以实 现商品的添加与商品信息和用户信息的修改、活动商品的管理、对违法用户的删除, 订单的查看与管理等功能,如果是普通用户则只能对自己信息的修改,自己订单的 查询等操作。 2.2 业务流程分析 管理员对手机商城用户人员的管理(用户级别的修改、对用户信息的查看和删 除) ,商品的管理(商品的添加,删除,对商品信息的查看和更新) ,订单的管理 (订单的查看和删除)等。 普通用户在网站首页了解相关信息发布(各型号手机信息、特价手机、新款手 机),用户信息的管理(用户登录、修改密码、选购手机、自助订机、订单提交、 订单查看)。 后台管理端流程如图 1,前台用户端流程如图 2: 2.3 数据流分析 数据流程分析即对信息流的传递、流动、存储、处理等相关内容的分析。目前 的数据流程分析主要是通过数据流程图来描述的。其具体的步骤是:按照业务流程 图得出业务流程的顺序,把了解到数据的流向和处理的过程,绘制成完整的数据流 程图。 5 就此网站系统来说,后台管理员可以把手机的各种信息录入数据库,同时允许 修改和更新各种信息,对用户的删除和用户级别的修改,订单的查看和删除;其他 会员用户可以录入注册信息,提交登录信息、查看手机信息和个人信息以及其他信 息。 此外数据文件有用户表,手机信息表,订单表等。 图 2 前台用户端流程图 管理员验 证 手机管理 订单管理 机品管理 用户账户管理 成功 失败 图 1 后台管理端流程图 管理员 6 网站的各种信息流的内部逻辑流向和逻辑变换过程和交换关系可以用数据流图 表示出来,如图 3 为用户信息管理数据流图: 商品管理流图,显示商品信息流在商品管理端与数据库之间的逻辑交换和逻辑 关系,如图 4 所示: 后台订单管理数据流图,如图 5 所示: 1.1 用户登录 1.2 用户注册 1.3 用户信息的 修改与查询 用户登录信息 用户信息 用户信息 D1 用户信息表 用户信息表 用户信息表 用户信息表 图 3 用户信息管理数据流 添加的机品信息 添加的机品 类别信息 2.3 机品明细添 加 2.4 机品信息的 修改 D6 机品类别信息表 机品类别信息表 机品明细 机品信息 D4 机品信息表 机品的一般信息表 机品明细表 机品信息表 2.2 机品类别的 添加 图 4 商品管理数据流 2.1 机品信息的 添加 7 3 系统设计 3.1 系统总体功能结构 通过前面对需求分析和实际情况的了解,得出网上手机商城的总体功能结构: 其中前台用户端包括手机信息浏览,购物车和用户信息管理三个模块;后台管理端 包括手机商品管理,订单管理,用户管理三个模块。系统主要模块及其功能如下: A 用户信息管理: 此模块用于对账户信息的各种相关操作,如用户的注册,登录等。 B 手机种类信息及相关信息浏览: 主要包括手机具体内容、分类列表,特价专区等内容的查看。 C 购物车模块: 将手机放入购物车,商品取消和购买,查看购物车,修改手机数量,全部删 去购物车中的商品。 D 订单处理: 用户查阅订单,生成新的订单,查看订单列表和详细内容以及订单的确认。 E 后台用户管理: 查看用户信息,删除用户。 F 手机商品管理: 2.1 订单的确认 2.2 订 单的查询 2.3 订单的发送 确认订单信息 待确认订单信息 订单信息 待发送订单信息 发送订单信息 D5 订单信息表 订单信息表 订单信息表 订单信息表 图 5 后台订单管理数据流 8 查看手机分类列表和手机的详细信息,管理员添加、修改、删除手机信息等操 作。具体结构如图 6: 3.2 系统数据库模型设计 3.2.1 系统概念结构设计E-R 图 E-R 方法是“实体-联系方法” (Entity-Relationship Approach)的简称。 是一种描述概念结构模型的方法 。具体方法是 用矩形表示实体 ;用椭圆表示属 性,并用直线将两者连接起来;用菱形表示实体 和实体之间的联系,并用 直线 将有关实体型连接起来, E-R 图就是这样一种的图形。 网 上 手 机 商 城 后 台 管 理 端 订单管理 手机商品管理 后台用户管理 前 台 用 户 端 购物车 用户信息管理 手机信息浏览 订单的查看 订单的确认与发送 手机类别的管理 手机的添加与更新 用户的查看和删除 订单的生成与查看 手机类别的查看 活动信息的查看 手机详情的查看 用户登录 用户注册 用户信息的查看与 修改 用户级别的修改 图 6 系统功能结构图 9 根据前面的具体分析就可以得到下面的关系模型图,如图 7: 具体属性如下: 用户:会员 ID,会员名,真实姓名,登录密码,会员性别,电话号码,E- mail,具体住址,邮政编码,用户级别。 (管理员属性同上。 ) 手机:产品 ID,所属种类,手机型号,手机简介,活动与否,正常单价, 活动单价,手机图片,库存数量,邮费。 订单:订单号,用户 ID,订单时间,用户真实姓名,具体地址,邮政编码, 商品总价。 订单包含手机联系属性:数量,单项价格,总价。 管理员信息:编号,姓名,密码,权限。 手机商品包含联系属性:数量。 管理员处理订单属性:订单确认人,确认时间。 用户 ID 订单号 编 号 ID 管理员 ID 时间 时间商品 ID 用户商品 浏览 管理 包含 包含 类型 订单 处理 开出 管理员 管理 mn m m n m 1 n n mm n k k 1 图 图 7 系统结构 E-R 图 10 3.2.2 系统逻辑结构设计关系模型 根据数据库原理的相关规范可以做以下处理: 根据相关原则规范从 E-R 图向关系模型进行转换。 由于普通用户和管理员的关系模型除了在权限不同,其他属性全部一样, 所以可以将这两种关系模型看成是一种,只需加入一个级别段将两者进行 区分就可以了。 浏览关系模式和此网站系统其它功能要求关系不大,因此可以忽略。 由于手机分类的关系模式在系统中要经常调用,故将其作为一个单独的关 系模式。 通过上面的分析,可以得出以下的关系模式: 用户(会员 ID,会员名,登录密码,会员性别,用户电话,E-mail,具体住址, 邮政编码,真实姓名,用户级别) 手机商品(商品 ID,所属种类,手机型号,手机简介,是否活动,正常单价, 活动单价,产品照片,备忘) 订单(订单号,用户 ID,订单时间,用户真实姓名,具体住址,联系电话,产 品总价) 3.2.3 数据库逻辑结构设计关系表 根据以上关系模型可以得出相应的关系表,关系表如表 1: 表 1 关系表 编号名称说明 表 1users用户信息表 表 2products商品信息表 表 3orders订单列表 表 4orderdetail订单详情表 3.2.4 数据表详细说明 用户表(users)主要记录用户(管理员和普通用户)的相关信息,具体情况如 表 2: 11 表 2 用户信息表 字段名数据类型是否为空描述说明 useridint否编号,主键 namevarchar否注册名 Sexvarchar否性别 birthdayvarchar否出生日期 passwordvarchar否密码 telephonevarchar否电话 addressvarchar否地址 emailvarchar否邮箱 gradevarchar是级别 truenamevarchar否真是姓名 商品信息表(products)主要记录手机的具体信息,具体情况如表 3: 表 3 手机信息表 字段名数据类型是否为空描述说明 itermidint否项目编号 productidvatchar否产品编号 productnamevarchar否产品名称 productpicefloat是商品价格 countint是库存数量 activityvarchar是是否活动商品 activepricefloat是活动商品的价格 kindvarchar是商品类别 photo varchar是图片 informationvarchar是商品信息 yunfeifloat是运费 订单表(orders)主要记录每笔订单的相关信息,如表 4: 表 4 订单表 字段名数据类型是否为空描述说明 orderidint否订单编号 useridint否用户编号 12 orderdatevarchar否订单生成时间 paymodevarchar否支付方式 ispayedvarchar否是否支付 totalpricefloat是订单总价 addressvarchar否订货地址 订单明细表(orderdetail)记录订单所选商品编号,数量等详细信息。如表 5 所 示: 表 5 订单明细表 字段名数据类型是否为空描述说明 orderidint否订单编号 goodidvarchar是商品编号 numint是商品数量 pricefloat是商品单价 4 详细设计与系统实现 4.1 系统详细设计总体概述 此系统的开发采用了现在比较流行的 MVC 开发模式,MVC 是 model,view,controller 三个单词的缩写,这种开发模式将整个系统分为了三个 大类,数据模型、用户界面和控制器,其中数据模型(model)用 java 编写,用于 实现系统中的数据逻辑,包含了所有的 JavaBean 和方法;用户界面(view)用 jsp 编写,用于与用户的交互,包含了用户能看到的所有页面信息,也可以理解为 view 就是由无数个页面组成的;控制器(controller)是 model 和 view 之间沟通的桥梁, 可以根据用户的不同请求来跳转到相应的界面,相当于公司中的领导阶层,接收 view 中提交上来的信息,然后交给 model 中的方法将这些信息进行处理,接收处理 后的信息返回给页面或者存入数据库。 这种设计模式实现了业务层和视图层的分离,使网站能更好的进行维护与升级, 并且有低耦合,高重用性,较低的生命周期成本,可维护性等优点,下面就围绕这 种开发模式对本网站设计进行分模块的详细介绍。 13 4.2 数据库的操作的 JavaBean 设计 作为一个公共类,数据库操作的 JavaBean 一般包括数据库的链接 getConnection、执行 executeQuery、更新操作的执行 executeUpdate、连接的关闭 close 方法。下面是数据库操作 JavaBean 的具体信息。 使用 JDBC 访问数据库: 在 Java 语言中, Java 可以通过 JDBC 对数据库进行访问。JDBC 是一种“开放” 的方案,提供了一种标准的应用程序接口。应用程序要访问数据库必须加载数据库 驱动,再通过 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“ ,“142857“);第一个参数是连接数据库 URL,第二,三个参数为帐户名和密码.最后 调用 Statement 的 executeQuery(),executeUpdate()或 execute()方法完成对数据 库的访问。 connDB 类的成员及说明如表 6: 表 6 connDB 类成员表 成员名返回值类别作用域功能 connConnectionpublic 记录数据库连 接 Java 应用 程序 DBMS JDBC API JDBC 驱动 程序 管理 器 JDBC 驱动 程序 API JDBC 网络 驱动程序 JDBC- ODBC 桥 驱动程序 图 8 Java 应用程序访问数据库的过程 14 stStatementpublic 向数据库发送 SQL 语句 rsResultSetpublic装载查询结果 getConnection()Connection public static 建立数据库连 接 executeQuery(String sql) ResultSetpublic进行查询操作 executeUpdate(String sql) intpublic 更新操作,返 回更新行数 close()voidpublic 关闭数据库连 接 4.3 用户主界面设计 系统的用户主界面是用户了解商城的首要窗口,其中必须包括商城中商品的主 要信息和相关入口。用户在首页可以进行注册成为会员,登录后可以进行购机等相 关操作。用户还可以选择相应的菜单选项进行选购手机,手机详细信息的查看,不 同分类的手机信息浏览,还有常见问题,相关联系方式。 主界面的构成:最上面为 head.jsp,包含头部的主要信息,比如用户登录状态, 商城 logo,搜索框,导航栏的信息;左边的为 left.jsp,包含用户登录注册入口和 新品上市,分别是用户登录和显示本商城最新上市商品的地方;右边是 right.jsp, 包含一个 flash 和活动专区,flash 显示了本店的特色商品和一些最新活动信息, 活动专区则提供了本店正在促销和降价的商品,主界面最下面是 tail.jsp,用来声 明版权。 在系统主界面最上面显示用户的登录状态,如果用户未登录就有用户未登录的 提示,如果用户已经登录则显示登录用户的用户名和安全退出的信息,用户名是一 个超链接,通过点击用户名则完成从主界面到用户中心的跳转,跳转的时候后台会 根据登录用户的级别(是否为管理员)跳转到不同级别的个人中心页面,导航栏通 过超链接实现分类信息的参数传递,通过后台程序的运行从数据库中提取相应的列 表,从而实现到分类信息列表的跳转。左边的登录和注册入口在未登录的时候显示 的是登录和注册窗口,用户登陆以后则以一张图片替换,新品上市和活动专区则与 数据库相连,根据数据库中的信息动态的显示相关商品的信息。主界面如图 9 所示: 15 图 9 主界面 4.4 用户信息管理模块的设计 4.4.1 会员登录模块设计 此模块的主要功能是对用户名和密码进行验证,只有合法的用户才能使用本系 统购买手机。如果不是本网站的会员必须先进行注册才能购买此网站的商品。在首 页的登录窗口中有一个用户登录菜单。用户填写的所有信息都由 Form 表单使用 post 方法提交给服务器。服务器通过 getParameter 函数获得 Form 表单提交的信息,通过 提交的用户名取出数据库中的密码,将取出的密码与用户提交的密码进行比对,如 果一致则合法,并不是直接通过数据库语言与数据库中的密码匹配,这样做的好处 是可以有效的防治 SQL 漏洞。在用户登录后,将用户的所有信息通过 setAttribute 函数保存在 session 中,方便其它界面使用随时使用对象中的用户信息。此外,该界 面还提供出错处理,如用户登录时用户信息填写的格式不正确或字符不合法,都会 给用户做出相应的错误提示,直到输入信息合法才能提交。本网站的所有用户(普 通会员与管理员)都是通过此登录窗口进行登录,只需要更具用户的级别实现页面 的选择就可以了。在此界面中还添加了一个用户注册的按钮,用以帮助第一次使用 该系统的人通过注册而成为本网站的会员。 在页面上有一个安全退出的选项,是退出本网站的出口,当退出时把网页中的 16 session 对象清空,登录状态就变为用户未登录的提示。这样做的原因有两个:首 先就是安全性,如果没有安全退出,下一个用户很可能会用该没有过期的 session 对象;此外,假如大多数人都不退出登录,那么 session 中无用的对象在过期之前 就会一直占用着系统资源,从而造成网络资源的浪费。 登录窗口如图 10,登录流程如图 11: 图 10 用户登录窗 主界面 登陆界面 输入用户名和密码 表单是否提交 用户名是否存在 密码是否正确 用户类别 管理员界面 会员界面 退出 管理员 会员 Y N Y N N 图 11 用户登录流程图 17 4.4.2 会员注册模块的设计 此网站规定只有会员才有购买资格,生成订单。游客只能进行手机商品的浏览 和手机详情查看的操作。 在首页的登录窗口有一个注册的按钮,用户通过此按钮可以进入注册页面,也 可以先将商品加入购物车,购买的时候会有提示进入注册页面。 此模块中用到了用户信息 Bean(userbean)用来传递 form 表单提交的注册信息, 后台通过 reguest 对象的 gerParameter 方法接收表单提交的信息,调用相关函数将 这些信息存入数据库,其中还有异常的处理,比如数据库中已经存在相应的用户名, 两次输入的密码是否一致等情况也都由这些相关函数进行判断和处理。注册用户的 代码如下: public boolean 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(?,?,?,?,?,?,?,?)“); 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.close(); 18 return b; 注册成功后,用户就可以用自己注册的账户进行商品的购买和对自己信息的修 改等操作,当然注册成功后会自动登录,将用户信息的 bean 放入 session 中,以便 用户在本网站继续其他的操作。用户注册界面如图 12: 图 12 用户注册界面 4.4.3 用户信息的查看与修改模块的设计 用户在这里可以查看和修改自己信息,更改密码。如果是系统管理员,还可以 查看其他用户的信息,级别的修改,对不合法用户进行删除等操作。 在用户信息的查看与修改界面和注册界面几乎完全一样,只不过注册的会员名 是不可以修改的,其他的信息都可以根据用户的需要(如工作、住址、电话的变更) 进行修改,具体修改的代码如下: 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); 19 ps.setString(2,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 购物车模块和订单模块的设计 该模块主要包括添加手机,删除手机,改变手机数量,清空购物车和购物车信 息查看的功能,是实现购物的关键部分。 订单处理是根据用户购物车内的信息和用户的个人信息生成订单和订单的查看 功能。 由于这两个模块是联系在一起的,所以放在一起说明。当用户将商品添加到购 物车后提交,由系统自动生成订单号并存入数据库供用户随时查看。购物车界面如 图 13 所示,订单界面如图 14: 图 13 购物车界面 20 图 14 订单界面 4.5.1 购物车添加商品的设计 用户在手机详细信息页面选择加入购物车,就可以跳转到购物车信息界面如图 13。会员只有登录后才可以进行继续购买。 在本模块后台购物车的设计采用了 HashMap 方法,这个方法的好处是可以非常 方便的对里面的对象进行增加、修改和删除,甚至是清空购物车,然后将其中的对 象用 ArrayList 方法保存到 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 getnumbygoodid(String goodid) return (String)hm.get(goodid); public void addgood(String goodid,String goodnum) hm.put(goodid,goodnum); 21 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.5.2 订单的提交设计 当用户选择完商品后,选择提交,这时会有一个订单详情的显示,供用户对购 买信息的核对,如果没有问题则单击完成订购按钮生成新的订单并保存到数据库中。 这时系统需获取当前时间来决定订单的生成时间,还需查找出数据库中的订单数量 来决定当前订单的订单号,并将这次订单包含的所有信息存入数据库中,如果抛出 异常应该返回错误信息,反之则跳回下单成功界面并显示订单信息。 4.6 后台管理模块的设计 4.6.1 后台用户管理模块设计 后台用户管理模块主要是实现管理员查看普通会员的信息,级别的修改和删除 操作。在次模块中分页显示用户列表。用户管理页面如图 15: 图 15 用户管理界面 删除用户的代码如下: public boolean deleteUserByUserid(long userid) boolean b=false; 22 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 b; 分页显示所有用户信息代码: public ArrayList getUserBeanByPage(int pagesize,int pagenow,String type) ArrayList al=new ArrayList(); try ct=new ConnDB().getconnection(); if(type.equals(“1“) ps=ct.prepareStatement(“select * from users where grade=1 limit “+(pagenow-1)*pagesize+“,“+pagesize); else if(type.equals(“all“) ps=ct.prepareStatement(“select * from users limit “+(pagenow- 1)*pagesize+“,“+pagesize); rs=ps.executeQuery(); while(rs.next() UserBean ub=new UserBean(); 23 ub.setUserid(rs.getLong(1); ub.setName(rs.getString(2); ub.setSex(rs.getString(3); ub.setBirthday(rs.getString(4); ub.setPassword(rs.getString(5); ub.setTelephone(rs.getString(6); ub.setAddress(rs.getString(7); ub.setEmail(rs.getString(8); ub.setGrade(rs.getString(9); ub.setTruename(rs.getString(10); al.add(ub); catch(Exception e) e.printStackTrace(); finally this.close(); return al; 4.6.2 后台手机管理模块设计 管理员可以对手机信息进行查看、添加、删除和修改工作。此模块便于管理员 及时的更新手机的相关信息,为用户提供最新的手机信息动态。代码与用户管理模 块的代码相似,这里就不再赘述,手机管理页面如图 16: 图 16 手机管理界面 24 5 软件测试 5.1 软件测试的目的 开发一个软件是为了给人们提供方便,实现功能的同时也要避免错误,但这是 不可能实现的,只能采用各种方法如:方法分析、设计软件等尽可能的减少错误。 另外人们在程序编写的时候还会引进很多错误。如果得不到正确的处理,在最终投 入使用的时候终究还是会暴露出来,因此,软件测试是一个必要的环节。 软件测试是软件开发的后期阶段,在编写完成后根据需求分析、设计规格的最 终审查,是验证软件是否能正常使用的关键。 测试的目标用最少的成本发现软件中存在的错误和缺陷。软件经过成功的测试, 就会发现还存在的相关错误,还可以证明开发的软件是否能符合客户的功能需求。 5.2 软件测试过程 本网站主要采用的是黑盒测试,对于系统所有的模块均涉及到黑盒测试。对所 有的功能都设计两个用例,即正确的符合规范的数据和不合法的数据,看是否都能 实现页面的正确跳转和程序的正确运行,使程序无论是正确的还是错误的数据都能 得到正确的处理。 5.3 软件测试结论 5.3.1 软件能力 经过测试证明,本系统在操作上和输入数据的验证上,比较全面,达到了预期 设计系统的功能。能够比较全面的实现网上手机商城的各项基本功能。 5.3.2 缺陷和限制 本系统的开发旨在提高顾客购买商品的效率,以及方便客户和商家。提高人们 的生活水平,也使商家能对商店更好的管理。但由于开发者能力有限,致使网站还 存在诸多不足与缺陷,因此本网站还可以从以下几个方面进行改进。 (1)丰富和完善用户功能; (2)添加在线交流模块; 25 (3)添加留言板; (4)系统功能并非完全实现,在后期逐步完善; (5)界面上还不够完美; 5.3.3 测试结论 软件已经基本运行实现了设计的各项功能,可以投入使用。 6 结束语 到这里,本次毕业设计已经接近尾声,在此期间,我也学到了很多。我学习了很 多的课程及编程语言,从最初始的 C 语言到稍微深入一点的 C+,JAVA,数据库系 统概论等等,虽然通过学习对这些课程有所了解和掌握,但也只是对理论知识的理 解阶段,对知识的掌握还不够全面和熟练不能进行的编程开发,更不用说真正应用 于实践设计开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自动控制原理(专科)复习题
- 广东省惠州市惠城区南山学校2024-2025学年七年级下学期数学期中考试卷(含部分答案)
- 2025年湖南省株洲市田心中学中考一模道德与法治试题(含答案)
- 幼儿园《会变颜色的房子》课件
- 【高中语文】整本书阅读《红楼梦》人物探究+统编版高一语文必修下册
- 2024-2025学年下学期高一生物沪科版期末必刷常考题之物种形成与灭绝是进化过程中的必然事件
- 山东竞赛题目及答案
- 散列表简单题目及答案
- 2023-2024学年四川省南充市高二下学期期末学业质量监测数学试题(解析版)
- 2023-2024学年湖北省武汉市江岸区高二下学期7月期末质量检测数学试题(解析版)
- 2025合同范本电子产品购销合同
- 2025国开《调剂学(本)》形考任务1234答案
- 2025年通信工程与技术考试试卷及答案
- 2025年员工持股平台合伙协议
- JG/T 100-1999塔式起重机操作使用规程
- 2025年中国ORC低温余热发电系统行业市场现状及未来发展前景预测报告
- 2025年江苏南通市通州区八年级生物二模试卷
- 护理副高职称评审要点解析
- 幼教财务培训
- 中国铁路济南局集团招聘笔试真题2024
- 早期阿尔茨海默病疾病修饰治疗专家共识(2025年版)解读
评论
0/150
提交评论