




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Comment F1: 题目一致 Comment F2: 严格按照给你们新发 的格式去写,页面格式不对。页眉页 脚也改一下 结 论 学 号08770120 毕业设计说明书 当当网上书城系统 用户、图书、购物车、订单、后台管理子系统 学生姓名胡玉龙 专业名称软件工程 指导教师 电子与信息工程系 2012 年 6 月 16 日 Comment F3: 题目一致 当当网上书城系统 用户、图书、购物车、订单、后台管理子系统 The dangdang online bookstore system -Users,library,shopping cart,order,backstage management subsystem 结 论 摘要 随着网上购物开始逐渐走进生活,各种各样的商品都开始在网上进行销售,成立 自己的网店。该毕业设计就是以网上购物为基准的一个网上书城系统。用户不再需要 走入各大书店,而是坐在家里就能挑选自己喜爱的书籍。同样也节省了各大书店的成 本。该系统包含用户,图书,购物车,订单以及后台的一些管理等几大模块。无论是 从操作还是视觉上都能让用户最快的挑选到自己喜爱的最便宜的图书。 系统采用 B/S(浏览器/服务器)结构,应用了开发工具 MyEclipse8.5、开发语言 JSP、后台数据库采用了 MySql 数据库以及一些网页数据的脚本验证工具 JQuery、Ajax、javascript 来实现。 关键词:图书;购物;MySql;JSP Comment F4: 英文摘要再改改,不 通顺 ABSTRACT With online shopping began into peoples lives,a variety of goods for sale online,set up their own shop.The graduation project is the online shopping for an online bookseller of the benchmark system.Users no longer need to walk into the major bookstores,but sit at home and will be able to pick their favorite books.Also saves the cost of the major bookstores.The system consists of several major users,library,shopping cart,order and the background of the management module.Whether it is the fastest pick their favorite cheapest books can make the user from the operation or visual. The system uses the B/S(browser/server) architecture,application development tools MyEclipse8.5 development language the JSP,the back-end database with a MySql database and the script of a number of web data validation tool,JQuery,Ajax,javascript to achieve. keywords: books ;shopping ;MySql ;JSP 目 录 第第 1 1 章章 引引 言言.11 1.1 选题背景 11 1.2 选题意义 11 第第 2 2 章章 系统需求分析系统需求分析.22 2.1 目标.22 2.2 性能及运行需求 22 2.3 功能需求 22 2.4 系统 E-R 图33 第第 3 3 章章 基础知识简介基础知识简介.6 3.1 MVC 设计思想具体实现.6 3.2 JSP 是如何与STRUTS2 配合运行的 6 3.3 JDK、TOMCAT 配置 6 3.4 MYECLIPSE8.5 简介 6 第第 4 4 章章 系统设计系统设计.7 4.1 概要设计.7 4.1.1 系统数据流程设计7 4.1.2 数据字典11 4.1.3 系统结构设计14 4.1.4 表结构设计.14 4.2 详细设计 18 4.2.1 系统概述1818 4.2.2 系统流程图21 第第 5 5 章章 系统实现系统实现.21 5.1 数据库连接 21 5.2 系统各模块功能及实现效果图.22 5.2.1 用户模块及效果图.22 5.2.2 图书浏览模块及效果图.23 5.2.3 购物车模块及效果图.23 5.2.4 订单模块及效果图.24 5.2.5 后台管理模块及效果图.25 5.3 特色功能 2726 5.3.1 注册邮箱验证码.26 5.3.2 分页显示功能.2827 5.4 应用中出现的问题与解决方法.27 第第 6 6 章章 系统测试系统测试.28 6.1 测试原则及方法的介绍.3028 6.2 测试环境.3029 6.3 测试对象.3129 6.3.1 管理员模块.3129 6.3.2 用户模块.3129 6.3.3 订单模块.3129 6.4 测试用例及结果3129 6.4.1 管理员模块.3129 6.4.2 用户模块.31 6.4.3 订单模块.32 结结 论论.34 致致 谢谢.35 参参 考考 文文 献献.36 第 1 章 引言 1 第 1 章 引 言 1.1 选题背景 随着计算机网络的日益普及,电子商务已然已经成为了一种潮流,网上购物也是 人人皆知的一种购物方式。 网上购物有很多优点,首先,不管是企业还是客户都节约了时间和成本,另外也 方便进行跨区域性的交易。 再加上自己身为当代大学生,深知校园生活中网上购物的普遍以及快捷,因此, 我选择了网上书城这个课题作为自己的毕设。 1.2 选题意义 身为学生,和我们息息相关的永远是书籍。现在的学生买书的话去大的书店买书 会觉得价钱比较昂贵,而小的地摊书店又会觉得不是正版而不愿接受。因此,我设计 这个网上书城,既能让在校学生坐在宿舍里就能随心所欲的选到自己想要的图书,又 能保证质量优质价格低廉。必然会受广大在校学生的欢迎。当然,该系统对社会人群 同样也是适用的。 另外,此系统成本比较低,而且功能和视觉方面能够让客户一目了然,很快得就 能上手,在最短的时间内完成选、购、定的流程。 第 2 章 系统需求分析 2 第 2 章 系统需求分析 2.1 目标 1.应具有简单便捷的操作界面,能够让客户以最快的时间熟悉该系统,并进行操 作。 2.系统应具有良好的可扩展性,在后期的维护和系统功能扩充上能够很方便的操 作。 3.系统应具有良好的安全性,通过对用户密码的加密以及用户权限的控制,能够 最大化的保证每一个用户的利益不受侵害。 4.系统的前台与后台之间应具有良好紧密的联系,后台管理员能够通过对订单以 及用户等级的一些处理在第一时间让客户得知自己的购物信息。 。 2.2 性能及运行需求 当当网上书城系统要求有一个良好稳定的运行环境,能够让用户安全、方便、快 捷的进行操作,并且有清晰美观的操作界面,能够让用户在看到界面的第一时间有一 个美好的购物心情。用户的每一步操作都要有一定的提示信息,能够让用户快速的对 一些错误信息的填写进行修改。另外,系统要求有较高的可维护性,能够让管理人员 轻松的进行维护。 运行环境:该系统的开发和实现都在 WindowsXP 环境下进行,该操作系统下要装 有 MySql 数据库、MyEclipse 开发工具、Tomcat 服务器。主机要求酷睿双核或更高的 配置。 2.3 功能需求 该系统功能大概分为前台用户管理、图书浏览、购物车、订单以及后台管理人员 的相关操作 1. 前台用户的操作: 主要就是用户的注册和登录,新用户可以等过注册邮箱来申请会员,注册成功者 可以通过注册账号进行登录。 2. 图书浏览的操作: 用户登录后进入系统主界面,可以根据不同的条件对相关图书进行查询,如:上 架时间、热销榜、图书分类、书名等。 3. 购物车的操作: 用户选择好自己想要的图书后可以添加到购物车,并在购物车中对商品进行一系 列的修改,如:更改数量、删除不想购买商品、恢复已删除商品等。 4.前台订单的操作: 用户确认好购物车中想购买的商品后可以填写订单,然后确认无误后提交订单, Comment F5: 这里对订单管理写得 详细些 Comment F6: 这个称为实体图,不 是 E-R 图,以下相同 Comment F7: 这里是商品还是产品? ? 第 2 章 系统需求分析 3 等待管理员进行处理。并可以查询以往订单情况的介绍。 。 。 。 5.后台管理员的操作: 后台管理员可以对图书(包括图书的种类)进行增删改查得操作,同时,对已注 册用户同样可以进行相同的操作,并根据用户购买量对用户的等级进行修改。此外, 管理员最重要的职责是可以修改订单状态,把是否已发货的信息反馈给前台用户。 2.4 系统 E-R 图 用户 邮箱验 证码 昵称 邮箱 最后登 录时间 密码 邮箱是 否验证 用户等 级 最后登 录IP 用户信息实体 E-R 图 产品 书名 市场价 当当价 描述 上架时 间 关键字 图片 是否已 下架 产品信息实体 E-R 图 第 2 章 系统需求分析 4 图书 作者 印刷时 间 印刷号 作者总 结 评价 总字数 总页数 Isbn号 出版社 出版时 间 版本号 图书信息实体 E-R 图 订单 用户 ID 邮编 地址 手机 座机 总价 订单 状态 订单时 间 收货人 姓名 订单描 述 订单信息实体 E-R 图 地址 用户 ID 收货人 姓名 详细地 址 邮编 手机 座机 订单接受地信息实体 E-R 图 第 2 章 系统需求分析 5 条目 订单号 商品名 称 单价 商品标 识 总价 商品数 量 条目信息实体 E-R 图 目录 一级标 题 子标题 附属标 识 描述 中文名 英文名 目录信息实体 E-R 图 用户 提交 订单 1 N 发到 1 地址 包含 1 条目 N 对应 1 1 商品 N 属于 目录 N 1 继承图书 11 实体关系 E-R 图 第 2 章 系统需求分析 6 第第 3 3 章章 基础知识简介基础知识简介 3.1 MVC 设计思想具体实现 MVC 设计模式分为三个层次:M(业务逻辑层)、V(视图层) 、C(控制层) 。每一 层之间都有紧密的联系,通过不同的工具实现。例如:该系统由 dao 实现业务逻辑层, 完成与数据库之间的数据交换,由 struts2 实现控制层,对相关业务进行处理,由 JSP 实现视图层,将界面效果反馈给客户。 3.2 JSP 是如何与 struts2 配合运行的 首先,JSP 页面是基于 HTML 静态页面并加入一些 java 代码来实现界面显示效果 的 Web 页面。而 struts2 是基于 Servlet 的一个实现业务处理的开源框架。两者配合实 现功能时,首先由 JSP 通过 form 表单采用 post 方式向一个 action 发送请求,然后在该 action 中通过 get 和 set 方法获取发送请求的 JSP 中得数据,再调用业务逻辑层中与数 据库连接的方法,最后返回一个结果。再去 struts 配置文件中找到相对应的 action 配置, 根据结果返回到另一个 JSP 页面,由该 JSP 页面将界面效果显示给用户。 3.3 JDK、Tomcat 的配置 1、工具来源: JDK: 在同学那里拷贝过来使用? Tomcat: 2、安装及配置 JSDK:根据安装向导进行安装 Tomcat:根据安装向导进行安装,Choose Components 界面中选择的是 full 类 型,端口号采用的是 3309. 3.4 MyEclipse8.5简介 MyEclipse8.5 是以 Eclipse 为基础的功能强大的 java 软件开发工具,较之 Eclipse,它的优点在于:兼容性良好、快捷键更多更提升编程效率、 内置的 Tomcat 服务器和 web 浏览器可以让开发人员在测试时更加方便。 Comment F8: 下面 F1,F2 分别表示 什么?各个模块之间的数据流程并没 有很好表达出来 第 4 章 系统设计 7 第第 4 章章 系统设计系统设计 4.1 概要设计 .1 系统数据流程设计系统数据流程设计 系统概要设计的目的是确定系统该如何用最高的效率完成所要完成的任务,即确 定组成系统的每个程序的结构。先从数据流图开始,设计几套完成系统功能的合理方 案,并从其中选取一个最佳的方案执行之。然后再进行软件结构的设计,确定该软件 由哪些模块组成以及这些模块之间是如何进行动态调用的。 本系统的设计由我个人独立完成,即用户登陆注册、商品浏览、购物车、订单以 及后台管理维护模块的设计。 首先由系统管理员登录系统,对图书进行初始化的处理,确认该上架进行出售的 图书以及库存不足需要下架的图书同时对图书分类进行整理,及时更新分类的种类。 此外,管理员还要对系统用户以及订单进行处理,根据用户的消费情况及时更新用户 的等级以及订单的状态,让前台用户能够在最短的时间内看到自己的订单状态。 其次,用户可以通过注册账号登录系统主页,对图书进行浏览、挑选以及购买。 用户购买完图书后可以对购物车进行查看,并对商品进行结算,然后生成订单, 填写订单的详细信息后进行确认。 系统数据流图如下: 在线 购物 P 用户 管理员 用户 管理员 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F1 F13 图 4-1 系统 Top 图 第 4 章 系统设计 8 前台 购物 P1 商品信息表D3 类别信息表D4 用户信息表D0 送货地址表 D1 订单信息表 D2 F1 F2 F3 F4 F5 F6 F7 图 4-1-1 一级细化图 后台 管理 P2 订单信息表D2 用户信息表D0 商品信息表D3 类别信息表D4 F8 F9 F10 F11 F12 F13 商品信息表D3 类别信息表D4 图 4-1-2 一级细化图 Comment F9: 到网上查查图标的标 准,可以这么表示吗? 第 4 章 系统设计 9 用户 注册 P1.1 F1 用户信息表D0 图 4-1-2-1 二级细化图 浏览 商品 P1.2 商品信息表 D3 商品信息表D4 F5 图 4-1-2-2 二级细化图 选择 商品 P1.3 F7 图 4-1-2-3 二级细化图 第 4 章 系统设计 10 生成 订单 P1.4 F7 F2 F3 F4 订单信息表D2 送货地址表D1 图 4-1-2-4 二级细化图 综合 信息 录入 P2.1F8 F9 商品信息表D3 类别信息表D4 图 4-1-2-5 二级细化图 综合 信息 查询 P2.2 商品信息表D3 类别信息表D4 用户信息表 订单信息表 D0 D2 F10 F11 F12 F13 图 4-1-2-6 二级细化图 第 4 章 系统设计 11 综合 信息 修改 P2.2 商品信息表D3 类别信息表D4 用户信息表 订单信息表 D0 D2 商品信息表D3 类别信息表D4 用户信息表D0 订单信息表D2 图 4-1-2-7 二级细化图 .2 数据字典数据字典 表 4-1 用户信息数据字典 名字:用户信息 别名:user 描述:系统用户的信息 定义:用户=用户 id + 用户 email + 用户 nickname + 用户 password + 用户等级 + 用户是否已通 过邮箱验证 + 用户邮箱验证码 + 用户最后登录时间 + 用户最后登录 IP 位置:存于数据库,在用户注册、登录的时候用 表 4-2 商品信息数据字典 名字:商品信息 别名:product 描述:商品的相关信息 定义:商品信息=商品 id + 商品名称 + 商品描述 + 商品上架时间 + 商品市场价格 + 商品当 当价格 + 商品关键字 + 商品图片 + 商品是否已下架 位置:存于数据库,在图书的购买、浏览以及后台图书管理的时候应用 第 4 章 系统设计 12 表 4-3 图书信息数据字典 名字:图书信息 别名:book 描述:图书的相关信息 定义:图书信息=图书 id + 图书 author + 图书出版社 + 图书出版时间 + 图书总字数 + 图 书印刷版次 + 图书总页数 + 图书印刷时间 + 图书印刷号 + 图书 isbn 号 + 图书作者总结 + 图书评价 位置:存于数据库,图书浏览和后台添加图书的时候应用 表 4-4 管理员信息数据字典 名字:管理员信息 别名:admin 描述:管理员的相关信息 定义:管理员信息=管理员 id + 管理员 username + 管理员 password + 管理员电话 + 管理员 邮箱 位置:存于数据库,在后台管理员登录的时候应用 表 4-5 订单地址信息数据字典 名字:订单地址信息 别名:address 描述:订单地址的相关信息 定义:订单地址信息=地址 id + 用户 id + 收件人姓名 + 详细地址 + 邮编 + 座机 + 手机 位置:存于数据库,在填写订单地址的时候应用 表 4-6 商品条目对象信息数据字典 名字:商品条目对象信息 别名:CartItem 描述:商品条目对象的相关信息 定义:商品条目对象信息=商品对象 + 商品数量 + 是否购买 位置:存于数据库,在购买图书添加到购物车时应用 第 4 章 系统设计 13 表 4-7 订单信息数据字典 表 4-8 订单详细信息数据字典 表 4-9 图书类型信息数据字典 名字:订单信息 别名:order 描述:订单的相关信息 定义:订单信息=订单号 + 用户 id + 订单详细条目 id + 订单状态 + 订单时间 + 订单描述 + 总价 + 收货人姓名 + 详细地址 + 邮编 + 座机 + 手机 + 订单详细 + 订单标识 位置:存于数据库,在生成订单的时候应用 名字:订单详细信息 别名:OrderItem 描述:订单详细相关信息 定义:订单详细信息=订单详细 id + 商品 id + 商品名 + 商品单价 + 商品数量 +商品总价 + 标识 位置:存于数据库,在查看订单详细信息的时候应用 名字:图书类型信息 别名:type 描述:图书类型相关信息 定义:图书类型信息=id + 图书类型 + 图书编号 位置:存于数据库,在分类浏览图书的时候应用 Comment F10: 题目标题一致 第 4 章 系统设计 14 .3 系统结构设计系统结构设计 网上书 城系统 用户注 册、登录 商品浏览 商品购买 生成订单 商品管理 订单管理 用户管理 分类管理 热销榜 编剧推荐 新书榜 新书热卖 图书录入 图书查询 图书删除/修改 订单查询 订单汇总 添加分类 查询分类 图 4-2 系统结构图 .4 表结构设计表结构设计 设计的表为:用户表(d_user),管理员表(admin_user),商品表(d_product),图书表 (d_book),图书类别表(d_category),类别关系表(d_category_product),订单条目表 (d_item),订单表(d_order),订单地址表(d_receive_address),类型转换表(d_type) 。 各个表的结构如下: 表 4-10 管理员表(admin_user) 列名数据类型长度是否可为空说明 IdBigint20N 管理员 Id UsernameVarchar20N 管理员姓名 PasswordVarchar50N 管理员密码 PhoneBigint20Y 管理员电话 EmailVarchar50Y 管理员邮箱 备注:此表用来存储管理员的相关信息 第 4 章 系统设计 15 表 4-11 用户表(d_user) 列名数据类型长度是否可为空说明 IdInt12N 用户 Id EmailVarchar50N 用户邮箱 NicknameVarchar50Y 用户昵称 PasswordVarchar50N 用户密码 User_integralInt12N 用户等级 Is_email_verifyChar3Y 用户是否通 过邮箱验证 Email_verify_codeVarchar50Y 邮箱验证码 Last_login_timeBigint20Y 最后登录时 间 Last_login_ipVarchar15Y 最后登录 ip 备注:此表用来存储用户的相关信息 表 4-12 商品表(d_product) 列名数据类型长度是否可为空说明 IdInt12N 商品 Id Product_nameVarchar100N 商品名称 DescriptionVarchar300Y 商品描述 Add_timeDateY 上架时间 Fixed_priceDoubleN 市场价格 Dang_priceDoubleN 当当价格 KeywordsVarchar200Y 关键字 Has_deletedInt1N 是否已下架 Product_picVarchar200Y 商品图片 备注:此表用来存储商品的相关信息 表 4-13 图书表(d_book) 列名数据类型长度是否可为空说明 IdInt12N 图书 Id AuthorVarchar200N 图书作者 第 4 章 系统设计 16 PublishingVarchar200N 出版社 Publish_timeDateN 出版时间 Word_numberVarchar15Y 总字数 Which_edtionVarchar15Y 版次 Total_pageVarchar15Y 总页数 Print_timeDateY 印刷时间 Print_numberVarchar15Y 印刷次数 IsbnVarchar25Y Isbn 号 Author_summaryTextN 作者点评 catalogueTextN 图书评价 备注:此表用来存储图书的相关信息 表 4-14 图书类别表(d_category) 列名数据类型长度是否可为空说明 IdInt12N 类别 id TurnInt10N 一级标题 En_nameVarchar200N 英文名 NameVarchar200N 中文名 descriptionVarchar200Y 描述 Parent_idInt10Y 附属 id 备注:此表用来存储图书类别的信息 表 4-15 类别关系表(d_category_product) 列名数据类型长度是否可为空说明 IdInt12NId Product_idInt10N 商品 id Cat_idInt10N 父 id 备注:此表用来存储图书类别之间关系的相关信息 表 4-16 订单条目表(d_item) 列名数据类型长度是否可为空说明 IdInt12N Id Product_idInt10N 商品 id 第 4 章 系统设计 17 Product_nameVarchar100N 商品名 Dang_priceDoubleN 当当价格 Product_numInt10N 商品数量 AmountDoubleN 总价格 StateVarchar20Y 状态标识 备注:此表用来存储订单详细信息的相关信息 表 4-17 订单表(d_order) 列名数据类型长度是否可为空说明 IdInt10N Id Item_idInt10N 订单条目 id User_idInt10N 用户 id StatusInt10N 订单状态 Order_timeDateN 订单时间 Order_descVarchar100Y 订单描述 Total_priceDoubleN 总价 Receive_nameVarchar100Y 收件人姓名 Full_addressVarchar200Y 详细地址 Postal_codeVarchar8Y 邮编 mobileVarchar20Y 手机 PhoneVarchar20Y 座机 StateVarchar20Y 状态标识 备注:此表用来存储订单的相关信息 表 4-18 类型转换表(d_type) 列名数据类型长度是否可为空说明 IdInt11N Id Book_typeVarchar20Y 图书类型 Pro_book_idInt11Y 图书编号 备注:此表用来存储类型之间相互关系的相关信息 表 4-18 19 地址表(d_receive_address) 列名数据类型长度是否可为空说明 IdInt12N Id User_idInt11N 用户 id 第 4 章 系统设计 18 Receive_nameVarchar20N 收件人姓名 Full_addressVarchar200N 详细地址 Postal_codeVarchar8N 邮编 MobileVarchar15Y 手机 phoneVarchar20Y 座机 备注:此表用来存储订单收获地址的相关信息 4.2 详细设计 .1 系统概述系统概述 系统的详细设计主要的任务就是设计出系统每一个功能步骤的具体流程和算法的 实现,方便开发者和使用者能够更加清晰的对系统进行操作。同样,也是为了使系统 后期的测试和维护变的更加轻松。 我设计的这个当当网上书城系统包括用户模块、图书浏览模块、购物车模块、 订单模块以及后台管理模块,每个模块都有自己相应的实现流程,同样的,每一个模 块之间又有密不可分的联系。 1. 用户模块 该模块主要是实现用户的注册和登录功能。新的用户可以通过注册新的账 号来登录到系统主页,而后进行购买,下订单等一系列的操作。如图 4-3 所示; 2. 商品浏览模块 用户登录系统主页后可以对商品进行浏览,从而决定是否购买商品。浏览图书 可以根据多种不同的方式进行浏览,包括:按类别浏览、按编剧推荐浏览、按 新书上架浏览、按热卖榜浏览、按书名浏览等等。 ,如图 4-4 所示; 第 4 章 系统设计 19 开始 是否会员 登录 结束 注册 是 否 开始 用户登录 结束 是 否 成功 图书浏览 图 4-3 注册登录流程图 图 4-4 图书浏览流程图 3. 购物车模块 用户登录主页后在浏览的过程中可以对喜欢的图书进行购买,这时用户所 买图书会全都添加到购物车,当用户选购完图书后可以去查看自己的购物 车,用户在购物车界面可以对购买图书的数量进行修改,同时也可以删除 不打算再购买的图书以及恢复已经删除的图书。 4. 订单模块 用户购买完图书后可以对所购商品进行结算,结算后进入订单明细界面,用户 可以通过该界面再一次确认自己是否要完成此次购买,确认无误后进入填写订 单地址及信息的界面,确认后成功生成订单。 第 4 章 系统设计 20 开始 浏览商品 选购商品 是否登录 结算 填写收货 信息 结束 Y 登录/注册 N 图 4-5 购物车订单流程图 5. 后台管理模块 管理员通过账号登录后台,可以对用户、订单、图书类别以及图书分别进行 管理。及时的更新数据,并把数据反馈给前台的用户。 开始 管理员登录 成功 图书分类 管理 图书管理 结束 Y 订单管理 N 用户管理功能选择 功能选择添加分类 查看/删除 分类 功能选择查看订单 订单汇总 功能选择 查找用户 功能选择 添加图书 查看/删除 图书 搜索图书 操作完成 图 4-6 后台管理流程图 Comment F11: 这里应该是程序流程 图,不是系统流程图吧 第 4 章 系统设计 21 .2 系统系统流程图流程图 开始 浏览网页 选择要购 买的图书 是否登录 是否注册 是 否 是 登录放入购物车注册 否 继续购买 确认购物 填写收货地址 生成订单 结束 图 4-7 系统流程图 第 5 章 系统实现 22 第 5 章 系统实现 5.1 数据库连接的实现 5.1.1 该系统数据库连接采用连接池的连接方法,具体代码如下: driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql:/localhost:3309/hyl?useUniCode=true 效果图如下: 图 5-1 用户注册效果图 用户登录实现的主要代码: PreparedStatement pst = 第 5 章 系统实现 23 getConnection().prepareStatement(“select * from d_user where email=?“);pst.setString(1, email); ResultSet rst = pst.executeQuery(); 效果图如下: 图 5-2 用户登录效果图 .2 图书浏览模块及效果图图书浏览模块及效果图 该模块主要是从数据库中把所有的图书分类以及图书信息都查出来然后按照不同 的分类显示在界面上让用户进行浏览。 主要实现代码: CategoryDAO dao=new CategoryDaoImpl(); BookDao dao1=new BookDaoImpl(); try pCategory = dao.finCategoryById(pid); cats=dao.findByParentId(pid); Map countMap = dao.findCountMap(); countPnum(pid,cats,countMap); pros = dao1.findByCatId(cid, page, size,type); maxPage=(dao1.findCount(cid)%size=0 ? dao1.findCount(cid)/size:dao1.findCount(cid)/size); return “success“; catch (Exception e) e.printStackTrace(); return “error“; 实现效果图: 第 5 章 系统实现 24 图 5-3 图书浏览效果图 .3 购物车模块及效果图购物车模块及效果图 该模块主要功能是实现用户对图书的购买功能,在购物车界面,用户还可以对商 品的数量进行修改,并且删除不再想购买的图书。 主要实现代码: CartItemDao cart = CartItemDaoImpl.getInstance(session); ProductDao dao=new ProductDaoImpl(); try Product p=dao.findById(id); CartItem ci=new CartItem(); ci.setPro(p); ci.setQty(1); if(cart.add(ci) ok=true; else ok=false; return “add“; catch (Exception e) e.printStackTrace(); return “error“; 实现效果图: 第 5 章 系统实现 25 图 5-4 购物车效果图 .4 订单模块及效果图订单模块及效果图 该模块主要实现用户订单的一些操作,首先,用户对购物车结算后进入到订单详 细列表的界面,在该界面用户可以再一次确认是否要购买当前图书,确认后,用户进 入填写收货地址的界面,完成后生成订单。 主要实现代码: PreparedStatement pst = getConnection().prepareStatement( “insert into d_order“(user_id,item_id,status,order_time,order_desc,total_price,“ “receive_name,full_address,postal_code,mobile,phone,state) “ values(?,?,?,?,?,?,?,?,?,?,?,?)“); 实现效果图: 图 5-5 订单详细效果图 第 5 章 系统实现 26 图 5-6 订单地址效果图 .5 后台管理模块及效果图后台管理模块及效果图 该模块是后台管理员通过登录后台页面对图书类别、图书信息、订单以及用户进 行一系列的操作。把修改信息及时的反馈给前台的用户。 主要实现代码: 用户名: 密 码: 实现效果图: 第 5 章 系统实现 27 图 5-7 后台登录效果图 图 5-8 后台订单汇总效果图 5.3 特色功能 .1 注册邮箱验证码注册邮箱验证码 /生成UU码 public static String randomUUID() UUID uuid = UUID.randomUUID(); return uuid.toString(); /生成邮箱验证码 String verifyCode=verifyUtil.randomUUID(); user.setEmailVerifyCode(verifyCode); dao.insert(user); /将验证码发给用户 StringemailCode=verifyCode+“-“+user.getId(); EmailUtil.sendEmail(user.getEmail(),“邮箱验证码“, emailCode); 第 5 章 系统实现 28 .2 分页显示功能分页显示功能 /分页功能的算法 PreparedStatement pst = getConnection().prepareStatement (“select * from d_user limit ?,?“); int begin = (page - 1) * pageSize; pst.setInt(1, begin); pst.setInt(2, pageSize); /分页功能的实现 第$page页/共$totalPages页 1“上一页 上一页| 下一页=totalPages“下一页 5.4 项目开发中出现的问题与解决办法 本次毕业设计可以说是大学四年来第一次自己独立的完成一个项目,因此,期间 遇到的问题自然很多,这其中有自己想通的也有网上搜的也有同学帮忙解决的也有看 书解决的。总之,整个毕业设计做完,对自己的技术有了一个质的提高,也使自己看 到了许多技术上的缺陷,下面我举几个自己在项目中遇到的问题来说明一下: 1经常出现的一个就是编码问题,虽然每次在建 Jsp 页面时都会记得把编码改成 UTF-8 的,但是还是有很多时候出现乱码的情况,每次出现这个错误的时候我都会在 出现乱码的那个页面上右键选择属性,看看它的字符编码是否正确,这种解决方法屡 试不爽。 2. 在做后台管理的时候,由于后台主页面是由多个分页面嵌套在里面生成的,因 此在 action 的跳转时总会出现路径不对的问题,每次出现这种错误,我也是自己慢慢 的尝试,修改 action 的路径,有的时候实在不行就把相对路径改为绝对的。 3.在后台图书录入功能的实现时,上传图片一直上传不成功,后来经过上网查询以 及向同学请教,发现 struts.xml 配置文件中少写了一个配置,这一点也使我至今记忆幽 深。 4.在做前台的订单详细的功能时,一开始订单详细里面的商品 id 和真实的商品 id 总是对不上,导致查看出来的订单详细根本不是理想中想查得那个,后来经过自己捉 摸终于找到了原因,把订单详细的数据库表稍微进行了一下表结构的修改。 5.在做注册功能的格式验证时,js 中的方法总是在页面中显示不出效果来,后来通 过在 js 方法中加入 alert 不断的进行测试,终于一步一步的把所有的错误都改正了过来。 第 5 章 系统实现 29 第 6 章 系统测试 6.1 测试原则及方法的介绍 1)在程序的开发过程中应该尽量避免做完一个整体的模块再进行测试,而是每做 完一个小的功能就进行反复的测试,保证该功能准确无误。 第 6 章:系统测试 30 2)在测试的过程中不要太过局限性,要把所有可能出错的情况都考虑周全,确认 功能的稳定性。 3)在设计测试用例时,应该由输入数据和对应的预期输出效果两本分组成,二者 缺一不可。 4)在设计测试用例时,应该考虑周全合理的输入数据和不合理的输出效果。 5)应该妥善的保存测试计划,并严格的执行该计划,不能随意的进行测试。 6)在程序测试时,程序员应该尽量的让他人对自己的程序进行测试,而不是一直 由自己对自己的程序进行测试,借此来提高测试的全面性。 两种常用的测试方法: (1)白盒测试 此方法是按照程序内部的逻辑进行测试,他允许测试人员利用程序内部的 逻辑结构及相关信息。检查程序中的每一个状态是否与预期的结果一致。因此, 白盒测试又叫结构测试或者逻辑驱动测试。 (2)黑盒测试 这种测试方法把测试对象看成一个不能打开的黑色的大盒子,测试时完全 不用考虑程序的内部逻辑结构。它只检查程序是否按照预期的效果正常执行, 输入的数据和预期的输出结果是否考虑的周全,不仅要考虑所有合理的输入, 对那些不合理的输入也要进行测试。因此,黑盒测试又叫功能测试或者数据驱 动测试。 在该系统的测试中,主要还是使用黑盒测试的方法。 6.2 测试环境 硬件:cup:T4200 2.00GHz 内存:2G 硬盘:320G 软件:Microsoft windows XP MyEclipse8.5 MySql 数据库 6.3 测试对象 6.3.1 管理员模块 管理员登录时,输入正确的用户名和密码及错误的用户名和密码,看是否正确。 登陆成功后看各项功能是否能够正常运行 6.3.2 用户模块 用户登录时,输入正确的邮箱和密码及错误的邮箱和密码,看是否正确。登录成 第 6 章:系统测试 31 功后看各项功能是否能够正常运行。 6.3.3 订单模块 输入订单地址的时候输入正确的信息和错误的信息,看是否正确。订单成功后看之 后的各项功能是否能够正常运行。 6.4 测试用例及结果 6.4.1 管理员模块 1管理员登录时,输入正确的用户名和密码及错误的用户名和密码,看是否正确 1)正确的用户名和密码: 输入:用户名:hyl,密码:123 预期输出:跳转到后台管理主界面 2)错误的用户名和密码: 输入:用户名:yuduo,密码:111 预期输出:跳转到当前登录页面 以上测试用例经过测试后是正确的。 2管理员登录成功后,是否可以进行图书类别管理 图 6-1 添加分类测试 图 6-2 删除/查看类别测试 3是否可以进行图书管理。 第 6 章:系统测试 32 图 6-3 添加图书测试 图 6-4 查看/删除图书测试 图 6-5 图书搜索测试 4是否可以进行订单管理 图 6-6 查看订单测试 图 6-7 订单汇总测试 5是否可以进行用户管理 第 6 章:系统测试 33 图 6-8 查看用户测试 以上测试结果经过验证后与预期结果一样 6.4.2 用户模块 1用户登录时,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车辆合作经营协议合同
- 玉石镶嵌加工合同协议
- 酒水共同投资合同范本
- 运动馆服务合同协议书
- 调配汽油销售合同范本
- 自助蛋糕供货合同范本
- 软件系统使用合同范本
- 酒店暑假工的合同协议
- 菜鸟驿入股合同协议书
- 砖厂土地租赁合同范本
- 2024年福州地铁集团有限公司招聘笔试真题
- 第二单元第二节元素教学设计-2024-2025学年九年级化学鲁教版上册
- 有组织科研对高校拔尖创新人才培养的影响机制研究
- 突发传染病疫情应急
- 护理人员中医技术使用手册(2024版)
- 重大活动安全保障措施及预案
- Unit 1 My school-A Let's Spell(课件)-2024-2025学年人教PEP版英语四年级下册
- 楼层瓷砖脱落施工方案
- 《节水型高校评价标准》
- GB/T 31771-2024家政服务母婴护理服务质量规范
- 哮喘治疗原理及方法
评论
0/150
提交评论