网上书店系统的设计与实现_第1页
网上书店系统的设计与实现_第2页
网上书店系统的设计与实现_第3页
网上书店系统的设计与实现_第4页
网上书店系统的设计与实现_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

沈阳师范大学学士学位论文 I 摘摘 要要 针对当前蓬勃发展的电子商务浪潮 本文构建一个电子商务应用系统 网上 书店 本文首先介绍了网上书店系统的发展与现状 然后论述了系统需求分析和系统流 程分析 较详细的论述了系统的详细设计和实现 最后 本文对网上书店系统进行了系 统检测并提出了还需要改进的问题 本系统主要为用户提供了会员注册 购物车管理 商品搜索 用户资料修改等功能 为管理员提供了图书管理 类别管理 会员管理 订 单管理等功能 从系统的安全性和代码的可重用性方面考虑 运用 JavaBean 对程序的关 键代码进行封装 后台数据库选用 SQL 数据库 关键词关键词 电子商务 JSP MySQL Tomcat HTML 沈阳师范大学学士学位论文 II Design and implementation of online bookstore system Abstract Booming e commerce for the current wave we construct an e commerce a pplications online bookstore This paper describes the development of online bookstore system and current situation and then discusses the system requirements analysis and sy stem process analysis a more detailed discussion of the detailed design and implementat ion Finally on the online bookstore system and made the system detect the problem st ill needs to be improved This system provides users with membership registration shop ping cart management product search information changes and other functions for the administrators of the library management category management membership managemen t order management functions From the system s security and code reuse considerations the key to the program using JavaBean code package Use SQL database back end data base Keywords E commerce JSP MySQL Tomcat HTML 沈阳师范大学学士学位论文 III 目目 录录 第一章第一章 绪论绪论 1 1 1 1 网上书店的背景 1 1 2 网上书店的现状 1 1 3 网上书店系统开发的意义 2 第二章第二章 网上书店系统分析网上书店系统分析 4 4 2 1 网上书店系统需求分析 4 2 2 网上书店系统的可行性分析 5 2 3 网上书店系统设计的特点与目标 5 2 4 网上书店系统用例分析 6 第三章第三章 系统的功能和流程分析系统的功能和流程分析 7 7 3 1 网上书店系统的功能分析 7 3 2 网上书店系统流程分析 7 第四章第四章 网上书店设计网上书店设计 1111 4 1 功能结构设计 11 4 2 数据库设计 13 4 3 系统开发环境 17 第五章第五章 网上书店系统实现网上书店系统实现 1818 5 1 网上书店系统的开发技术架构 18 5 2 各功能模块的实现 18 第六章第六章 系统测试及难点分析系统测试及难点分析 3636 6 1 系统运行环境的搭建 36 6 2 系统程序的安装和加载 36 6 3 系统中所存在的问题 37 第七章第七章 结论结论 3838 沈阳师范大学学士学位论文 IV 后记后记 3939 参考文献参考文献 4040 沈阳师范大学学士学位论文 1 第一章绪论 1 1 网上书店的背景 近年来 随着Internet的迅速崛起 互联网已日益成为收集提供信息的最佳渠道并 逐步进入传统的流通领域 于是电子商务开始流行起来 越来越多的商家在网上建起在 线商店 向消费者展示出一种新颖的购物理念 网上书店系统作为B2C Business to Customer 即企业对消费者 电子商务的前 端商务平台 在其商务活动全过程中起着举足轻重的作用 本文主要考虑的是如何建设 B2C的网上书店系统 随着中国加入 WTO 全球经济一体化的逐步深入 网上书店已是现代传统书店必不 可少的经营策略 目前 网上书店在国际互联网上可以实现的商务功能已经多样化 可 以说从最基本的对外沟通展示功能 信息发布功能 在线图书展示功能 在线交易功能 在线采购功能 在线客户服务功能 在线网站管理功能等等 几乎以往传统书店功能都 可以在互联网上进行电子化的高效运作 技术的进步对传统书店上网解决方案提出更严格的要求和挑战 为了保护传统书店 的投资 书店上网解决方案应切合传统书店实际的需求和发展的趋向 使投入回报和管 理效益最大化 传统书店在实施上网方案之前 必须对一系列问题进行科学的论证 如 网上书店的需求分析 网上书店总体规划 网上书店系统的功能和实施方案 网上书店 的传播与推广 运行网上书店系统的软件和硬件配置 网上书店的管理系统和管理方法 等等 网上书店具体实施的质素直接影响传统书店在 Internet 的实际效果和经济效益 这不仅是技术问题 同时也涉及到管理的因素 综上所述 网上书店已经成为互联网时代传统书店的必由之路 1 2 网上书店的现状 国外的 Web 商务系统应用起步较早 所以应用的领域比较广 网络销售已经在人们 日常消费中占到一定比例 Web 商务系统也比较成熟 人们可以以网络这个媒体 足不 出户就可以搜索 查询到自己需要的信息 购买自己需要的商品 我国电子商务的发展 起源于 70 年代的 EDI 应用 我国海关是最早引入 EDI 进行报关 经过几年的完善发展目 前企业可以通过上网申请报关 电子商务概念首次引入中国是在 1993 年 第一笔网上交 易发生在 1996 年 目前我国网上书店的主要类型有 由国有新华书店投资建设的网上书店 一些有实 力的传统书店 都会建立自己的网站 利用网络促销 争取更多的市场份额 它们主要 沈阳师范大学学士学位论文 2 依托传统的图书大厦的图书储存进行网络售书 属于新华书店上网或上网的书店 由出版社建立的网上书店 因为网络出版的缘故 出版社是最早触网的 我国 500 多家出版社中 已建立网站的有 349 家 占 62 较好的出版社营销网站建设的特点是 以出版社本社出版物为网站核心 突出特色 访问速度快捷 信息及时更新 内容的合 理编排以及完善的检索能力 较强的交互能力 外贸出版公司投资建设的网上书店 这一类网上书店立足公司主营业务 主要对海 外进行图书销售 销售量逐渐增加 非出版业资本投资建设的网上书店 如卓越网 就目前情况而言 上述几类的网络书店可以分为两大类 一类是没有实体书店的网 上书店 以卓越网为代表 还有一类是以实体书店为支撑的 前一类书店已经开始逐步 销售更多的商品 在很大程度上 是以图书为主打产品 开发其它商品作为补充 如卓 越网在大幅增加图书音像品种的同时 陆续增加了数码产品 手机 家居 健康用品和 化妆品 玩具礼品 钟表首饰 厨具 母婴产品 小家电等 1 3 网上书店系统开发的意义 Internet的发展 为改变传统的商业运作模式提供了一种技术上的可行性的方案 利用Internet的技术和协议 建立各种企业内部网Intranet 企业外部网Extranet 通 过廉价的通讯手段 将买家与卖家 厂商和合作伙伴紧密结合在了一起 消除时间与空 间带来的障碍 从而大大的节约了交易成本 扩大了交易范围 而在实际的生活中 这 种方案已经被广泛的运用到了实际的商业活动中了 这种交易模式为 电子商务 当今比较流行的网上书店系统国外有 卓越 国内有 当当 它们都是相当优秀 的电子商务网站 对其他的网站提供了良好的典范 设计中可以学习参考他们的思想 了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项 设计和完成一个电子商务网站的 将会牵涉到许多技术上的问题 如 动态网页制 作技术的 后台数据库的设计和管理 通过实际的制作个网站 可以避免纸上谈兵 在 实践中掌握上述技术的使用 目前 网络正以一种前所未有的冲击力在影响着人类的活动 包括人类的生产和日 常生活 网络的诞生和发展 颠覆了传统的信息传播方式 冲破了存在于传统交流方式 中时间和空间的种种壁垒 极大地改变了人类从物质到精神 从形式到内容 从生产到 生活的各种活动 并且给人类带来了新的机遇和挑战 电子商务将成为 21 世纪网络发展的主流 国内企业在纷纷加入到阿里巴巴等一系列 大型电子商务网站 通过网络进行 B2B 企业对企业 的网上交易之后 也充分认识到 沈阳师范大学学士学位论文 3 网络交易将成为未来商品交易的重要组成部分 在建立企业宣传网络的同时 也逐步扩 大企业自身的网络销售渠道 建立自己的电子商务网站 完成从 B2B 到 B2C 企业对个 人 同时进行网络交易的过度 大大提高了企业网络交易的数量和金额 而本次毕业设计的任务是构建一个电子商务网站 采用的主要技术是基于服务器端 的 JSP Java 的组件 JavaBean 以及网页编程语言 HTML CSS JSP 是 Java Server Page 的缩写 是由 Sun Microsystems 公司倡导 许多公司参 与建立一种动态网页技术标准 它在动态网页的建设中有强大而特别的功能 JSP 是一 种服务器端 HTML 或 XML 嵌入 Java 代码的脚本语言 是开发 Web 动态网站快速而有效的 工具 JSP 的技术的优势 1 JSP 技术是用 Java 语言作为脚本语言的 Java 语言是成熟的 强大的 易扩充的 编程语言 2 高效性与安全性 JSP 在执行前先被编译成字节码 字节码由 Java 虚拟机解释执 行 比源码解释效率高 3 可维护性 由于 JSP 技术是一种开放的 跨平台的结构 因此 Web 服务器 平台 及其他组件能很容易升级或切换 且不会影响 JSP 基本的应用程序 4 稳定性 5 产品的多样性 目前 在国内 JSP 还是一种较新的技术 但 JSP Servlet JDBC JavaBean 目前已经 成为开发电子商务平台的主流技术 随着国内与国际的接轨 JSP 必将成为网站开发技 术的首选 沈阳师范大学学士学位论文 4 第二章第二章 网上书店系统分析 系统分析是平台开发的一个不可缺少的环节 为了能够使本系统更好 更完善地被 设计出来 就必须先进行调查研究 在系统调查的基础上 对新系统的功能进行细致的 分析 从而才能够开发出完整的系统设计 2 1 网上书店系统需求分析 通过实际调查 要求本网站具有以下功能 1 系统具有良好的人机界面 2 如果系统的使用对象较多 则要求有较好的权限管理 3 全面展示网上书店内的交易信息 4 书目分类显示 方便顾客了解本网上书店内的图书 5 系统最大限度地实现易维护性和易操作性 6 系统运行稳定 安全可靠 7 支持用户图书推荐 图书评价 8 支持图书检索显示 可以通过查找图书的模糊信息查找图书 2 1 1 图书查询需求 当客户进入网上书店时 应该在主页面分类显示最新的书目信息和促销的书目信息 以供客户选择所需图书 2 1 2 购物车管理需求 当客户选择购买某图书产品时 应该能够将对应图书信息 例如 价格 数量记录 到购物车中 并允许客户返回书目查询页面 选择其他商品 并添加到购物车中 当对 购物订单生成后 应该能够自动清除以生成订单的购物车中的信息 2 1 3 订单处理需求 对应客户购买图书商品信息的需求 在确定了所购图书商品的价格 数量等信息后 提示用户选择对应的送货方式 最终生成对应的订单记录 以便于网站配货人员依据订 单信息进行后续的出货 送货和处理 2 2 网上书店系统的可行性分析 可行性研究是为了弄清楚系统开发的项目是不是可以实现和值得进行研究的过程 实际上是一次大大简化系统分析和系统设计的过程 所以 进行可执行性的分析是非常 必要的 也是很重要的 经过最初的设计目标和进行的市场调查得出以下四点的可行性 分析 沈阳师范大学学士学位论文 5 经济可行性 网上书店主要以书籍杂志及音像制品等商品为主 网站可提供书籍音 像制品的片段供读者浏览 使消费者了解其内容后在订购 没有过多的售后服务 退货 问题 与传统书店相比 网上购书的市场规模和经营模式没有限制 突破了地理位置 经营面积 营业时间的局限 是一种全新的销售渠道 从营业面积地理位置方面节省大 量的资金 服务器 24 小时提供网络服务则消费者可每时都能登陆网站购物 大大增加书 店的销售额度 无论从商家还是从消费者的角度看网上书店都具有良好的发展前景 技术可行性 JSP Servlet 的技术已经较为成熟 运行可行性 该系统需要搭建 JVM 即 JAVA 虚拟机和 Tomcat 环境 在此环境下系统 并且在正确连接数据库后可以正常运行 法律可行性 该平台是作为毕业设计与商业无关 又因为是自主开发设计 因此不 会构成侵权 在法律上是可行的 通过以上的可行性分析 我将采用 JSP Servlet 相结合的技术 运用 MySQL 数据库 对网站进行建设 2 3 网上书店系统设计的特点与目标 2 3 1 网站设计特点 我所设计和开发的网上书店购物平台是经过很长时间的调查和分析才开始具体实施 的 它的主要特点是改变了以往的购物只能通过现实的商场才能达到的结果 采用 Web 技术 借助于 Internet 互联网广泛应用技术 达到资源共享 提高以往购物的局限性 缩短人们的时间和提高工作效率 具有较好的交互性 从而实现信息化 规范化 系统 化 网络化的平台 使整个购物活动过程简单 方便 易行 2 3 2 网站设计目标 网站整体采用 JSP MySQL CSS HTMl 技术实现 此系统分为前台管理和后台管理 前台管理是友好的操作界面 供用户浏览 查询 使用 包括 浏览商品 查询商品 订购商品 购物车 用户维护等功能 后台管理是 提供给管理员的 其中包括 商品管理 用户管理 订单管理等 使管理员从繁琐的手 工操作中解脱出来 并提高了办公效率 2 4 网上书店系统用例分析 用例是用来描述潜在用户所看到的UML组件 它是一个被称作参与者的实体所发起的 场景的集合 用例的执行必须对发起该用例的参与者或者其他参与者产生影响用例是系 统执行的一系列动作 这些动作将生成特定Actor 参与者 可观测的有价值的结果值 一个用例定义一组用例实例 通俗一些 Actor使用系统达到某个目标 用例是参与者要 沈阳师范大学学士学位论文 6 求系统提供的服务 以用户的角度描述系统的行为 其中系统边界是指系统承担的责任 的边界 对外部用户来说 不是物理边界 Actor 角色 执行者 参与者 活动者 在 系统之外 透过系统边界与系统进行有意义交互的任何事物 不仅仅是人员 用例建模 的步骤 1 确定系统边界 2 找出参与者 3 确定参与者相关的用例 4 编写用例规 约 资料修改 搜索物品 选购物品 会员管理 类别管理 图书管理 订单管理 会员管理 类别添加 类别修改 图书添加 图书修改 订单查询 订单处理 注 册 登 录 会员 管理员 类别删除 图书删除 图 2 1 网上书店 系统用例图 沈阳师范大学学士学位论文 7 第三章第三章 系统的功能和流程分析 3 1 网上书店系统的功能分析 根据实现功能不同将网站分为了在线购书子系统和后台管理子系统 1 在线购书子系统为消费提供了在线浏览图书 订购图书的平台 属于前台展示部 分的设计 具体功能如下 用户登陆网站浏览图书 用户在主页或我的帐户中注册成为网站的 会员 只有网站的会员才能在网站购买图书 用户可以通过分类浏览 书目推荐 新书 推荐 书目查询的方式选择喜爱的图书 用户选择图书提交订单完成订购 2 后台管理子系统为书店管理员提供了管理网络书店的平台 属于后台管理部分的 设计 具体功能如下 注册会员的管理 并通过会员的消费记录更改会员的等级 不同等 级的会员享受不同的购书折扣待遇 图书类别的管理 通过添加 修改 删除对图书类别进行管理 在类别下添加图书 记录 对图书的名称 出版单位 媒体推荐 内容简介等详细信息进行添加 修改等管 理 订单的管理 查询会员提交的订单并处理 处理已经送货的订单使之对书店的图书 销售记录书店库存信息实时修改 书店公告信息的管理 添加书店的公告信息使消费者及时了解书店的最新动态 3 2 网上书店系统流程分析 3 2 1 前台购物流程 浏 览 商 品 选 择 商 品 订 购 商 品 去 购 物 车 去 收 银 台 提 交 订 单 未注册用户 已登录注册用户 未登录注册用户 注册 登录 图 3 1 前台购物流程 沈阳师范大学学士学位论文 8 3 2 2 注册功能流程 密码是否一致 N Y N Y N Y N Y N Y N Y 图 3 2 注册功能流程图 注册的具体实现为 点击主页面的用户注册选项后 会弹出一个注册信息页面 用户需要如实填写用户 名 密码 E mail 地址 电话 证件号码等各项信息 提交后 系统进行检测判断该用 户名是否已经注册过 如果已经存在则弹出新页面 提示用户该用户名已经注册过 如 果没有则进行下一步判断 用户输入的两次密码是否一致 然后依次往后判断用户所填 写的各项信息是否符合要求 直到所有信息均正确无误 系统将该用户注册信息写入会 员表即 user 并提示用户注册成功 用户登陆后 就可以进行有效的购物了 注册入口 必选项不为空 用户唯一性 验证通过 提交到后台 信息入数据库 注册成功 沈阳师范大学学士学位论文 9 3 2 3 用户登录流程 用户登录 首先要有一个提供用户登录的表单 用户登录的表单应该嵌入整体的结 构当中 在实际的应用中 可以这样设计 如果用户没有登录 则在主页中显示用户登 录的选项 用户登录后 则可隐藏用户登录的选项而代之以用户的基本信息 图 3 3 用户登陆流程图 3 2 4 图书 类别管理流程 图 3 4 图书 类别管理流程图 在该功能里管理员可以进行不需要的商品的删除 在这里管理员当然也可以浏览到 商品的详细信息 登录入口 取得用户名和密码 将 UserID 存入 session 中 用户是否存在 密码是否正确 登录成功 类别管理 添加类别 修改删除 满意否 返回 添加图书 是 否 N Y N Y N Y 沈阳师范大学学士学位论文 10 3 2 5 购物车流程 购物车具体的实现可采用这种形式 定义一个购物车的类 Class 1 列出商品的列表 使用户能够自由选择所需要的商品 2 当用户在点击 添加到购物车 的链接时 执行如下功能 检查用户购物车类是否存在 如不存在 则建立 将购物车对象加入用户对象中 在有用户购物车类存在的情况下 检查该类中是否有该商品 如存在 则商品数量相应 加 1 如没有该商品 则将该商品添加到该类中 图 3 5 购物车流程图 购物车 查看商品 满意吗 下订单 调整商品 是 否 N Y 沈阳师范大学学士学位论文 11 第四章网上书店设计 4 1 功能结构设计 网上书店系统是一个典型的 JSP 数据库开发应用程序 由前台图书展示及销售 后 台管理两部分组成 1 前台商品展示及销售 该部分主要包括新书上架 特价图书 购物车 会员管理 图书公告及订单查询 图书查询等 2 后台管理 该部分主要对商城内的一些基础数据进行有效管理 包括图书管理 会员管理 订 单管理 用户管理等 4 1 1 前台管理 网上书店前台管理 用户登录用户注册 个 人 信 息 修 改 书目浏览 增 加 个 人 信 息 最 新 图 书 信 息 购物车管理 修 改 购 物 车 查 看 购 物 车 密 码 修 改 促 销 图 书 信 息 删 除 购 物 车 图 4 1 网上书店前台管理结构图 沈阳师范大学学士学位论文 12 4 1 2 后台管理 网上书店后台管理 类别管理会员管理 添 加 类 别 图书管理 查 看 会 员 信 息 修 改 图 书 信 息 添 加 图 书 订单管理 删 除 订 单 信 息 查 看 订 单 信 息 删 除 类 别 删 除 图 书 修 改 类 别 修 改 订 单 信 息 图 4 2 网上书店后台管理结构图 4 1 3 主要功能流程 主页面 index jsp 类 别 修 改 用户登陆 注册 管理进入 添加到购物车 图 书 管 理资 料 修 改 类 别 管 理 类 别 添 加 会 员 管 理 订 单 管 理 图 书 修 改 图 书 添 加 订 单 查 询 订 单 处 理 是否会员 退 出 返 回搜 索 物 品 选 购 物 品 结帐付款 填写订货单购物成功 会 员 信 息 退出 图 4 3 主要功能流程图 沈阳师范大学学士学位论文 13 4 2 数据库设计 4 2 1 数据库概念设计 对用户要求描述的现实世界 可能是一个工厂 一个商场或者一个学校等 通过对 其中住处的分类 聚集和概括 建立抽象的概念数据模型 这个概念模型应反映现实世 界各部门的信息结构 信息流动情况 信息间的互相制约关系以及各部门对信息储存 查询和加工的要求等 所建立的模型应避开数据库在计算机上的具体实现细节 用一种 抽象的形式表示出来 数据库概念设计的常用方法有 E R 方法 基于 3NF 的设计方法 下面主要介绍 E R 方法 E R 图也即实体 联系图 Entity Relationship Diagram 提供了表示实体型 属性和联 系的方法 用来描述现实世界的概念模型 构成 E R 图的基本要素是实体型 属性和联系 其表示方法为 1 实体型 Entity 用矩形表示 矩形框内写明实体名 比如学生张三丰 学生李四 都是实体 如果是弱实体 在矩形外面再套实线矩形 2 属性 Attribute 用椭圆形表示 并用无向边将其与相应的实体连接起来 比如 学生的姓名 学号 性别 都是属性 如果是多值属性 在椭圆形外面再套实线椭圆 如果是派生属性则用虚线椭圆表示 3 联系 Relationship 用菱形表示 菱形框内写明联系名 并用无向边分别与有关 实体连接起来 同时在无向边旁标上联系的类型 1 1 1 n 或 m n 通过对网上书店工作过程的内容和数据流图分析 设计如下面的数据项和数据结构 1 会员信息包括数据项有 会员编号 会员密码 会员名称 会员电话 会员地址 会员级别 管理员设定 2 图书信息包括数据项有 图书编号 图书名称 作者 出版社编号 图书类别 3 图书订单包括数据项有 订单状态 下定日期 图书名称 现存货情况 4 购物车包括数据项有 会员账号 每种图书名称 每种图书市场价格 每种图书 网站价格 每种图书数量 每种图书的总价 图书总价 5 管理员包括数据项有 管理员密码 管理员名称 管理员编号 4 2 1 1 数据表 E R 图 根据上面设计规划出的实体 我们对各个实体具体的描述 E R 图如下 沈阳师范大学学士学位论文 14 图书 购买 会员 管理员 管理 订单 名称 编号 出版社 名称 密码 电话 地址 等级 日期 状态 存货 密码名称 名称 N M M 1 N 1 管理 前往 购物车 形成 书名 数量 总价格 类别 作者 1 M 1 1 编号 编号 图 4 4 网上书店 E R 图 4 2 1 2 数据表结构 将 E R 图转换为关系模式 转化成的关系模式有 1 管理员信息 管理员编号 管理员账号 管理员密码 2 会员信息 会员账号 会员密码 会员名称 会员地址 会员级别 3 图书信息 图书编号 图书名称 作者 出版日期 图书类别 4 图书类别信息 图书类别编号 图书类别名称 5 图书订单 订单编号 会员账号 下订单日期 图书编号 6 购物车 会员账号 每种图书编号 每种图书数量 图书总价 4 2 2 数据库的逻辑结构设计 系统各项功能的实现归根结底是通过数据库进行各项操作完成的 因此要实现系统 规划的功能 提高系统的性能 要选择一个设计合理 功能完善的数据库管理软件 并 且设计一个组织严禁没有冗余数据 易于维护的数据库 MySQl 是一个功能强大的关系 型数据库管理软件 具有安全性 灵活性 可靠性 可以有效的开发动态 web 站点 为 数据处理提供服务 表 4 1 Table user 会员信息表 沈阳师范大学学士学位论文 15 Id 主键会员 id 号码 会员的唯一标志 Username会员名称 Password会员密码 Usernumber会员的有效身份证件号码 Phone联系电话 EmailEmail 地址 Address会员的详细地址 Rdate会员注册时间 level会员的等级 Recordes会员的消费总额记录 最为评价会员等级待遇的标准 表 4 2 Table category 图书类别表 Id 主键类别的 id 号码 类别的唯一标志 Pid上层类别的 id 号码 如果没有上层类别则为 0 Name类别的名称 Description类别的描述信息 Cno类别的序列号码表示 如 0000 四位数字 前两位表示第一级类别 后两位表示第二级类别 Grade类别的等级记录 该系统设置类别共两个等级 grade 1 grade 2 表 4 3 Table product 图书的基本信息表 Id 主键图书的 id 号码 图书的唯一标志 Name图书的名称 Normalprice图书的市场价格 Discount图书的会员折扣 Store图书的库存数量 Salescount图书的销售数量 Photoname图书的关联展示照片名称 该系统没有设置上传组件 为了测试系 统的页面效果 手动添加图片到系统目录 Pdate图书上架时间 Descriptionid图书的详细信息的 id 号码 Categoryid图书所属类别的 id 号码 沈阳师范大学学士学位论文 16 表 4 4 Table description 图书的详细信息 Id 主键图书详细信息的 id 号码 Publisher图书出版社 Author图书的作者 Introduction图书的简介 或推荐信息 Context提供给消费者的图书内容预览 表 4 5 Table salesorder 订单的基本信息 Id 主键订单的 id 号码 订单的唯一标志 Userid订单所属的会员的 id 号码 Phone订购图书消费者的联系点换 Address订购图书的送货地址 Odate订购图书的日期 Status订单的状态 该系统设置了两个状态 status 0 或 1 分别是尚未 处理 处理成功 表 4 6 Table salesitem 订单详细条目的信息 Id 主键订单单项条目的 id 号码 Productid订单单项图书 id 号码 Unitprice订单的单项图书的订购单价 分普通会员价格 白银会员价格 黄 金会员价格三种 Count订单中单项图书记录的订购数量 Orderid订单单项所属的订单 id 号码 4 3 系统开发环境 操作系统 WINDOWS XP 运行工具 IE 6 0 开发工具 JSP 数据库 MySQL 5 12 服务器 Tomcat 6 0 辅助工具 Adobe Photoshop CS Flash V8 0 沈阳师范大学学士学位论文 17 第五章网上书店系统实现 5 1 网上书店系统的开发技术架构 系统的建设关键在于其所使用的架构 而网上书店这种基于 web 的系统 传统的 C S 架构已经不能满足大量用户的访问和操作 B S 基于浏览器的架构则是目前网络系统 应用的主流 它将大量的数据处理工作交给服务器端来处理 客户端只用通过普通的 IE 浏览器即可访问系统 方便快捷而且利于系统的更新和维护 java 语言在该方面更是得 天独厚 在 B S 体系结构系统中 用户通过浏览器向分布在网络上的许多服务器发出请求 服务器对浏览器的请求进行处理 将用户所需信息返回到浏览器 B S 结构简化了客户机 的工作 客户机上只需配置少量的客户端软件 服务器将担负更多的工作 对数据库的 访问和应用程序的执行将在服务器上完成 浏览器发出请求 而其余如数据请求 加工 结果返回以及动态网页生成等工作全部由Web Server 完成 实际上B S 体系结构是把二 层 C S 结构的事务处理逻辑模块从客户机的任务中分离出来 由Web 服务器单独组成一层 来负担其任务 这样客户机的压力减轻了 把负荷分配给了Web 服务器 这种三层体系结 构如图 3 1 所示 Browse 浏览 器 Web 服务器 数据库 图 5 1 B S 三层架构示意图 5 2 各功能模块的实现 5 2 1 数据库连接模块 com KeHuiBookShop DB 设计数据库连接模块的思想是面向对象的封装思想 把数据库的连接操作封装到 DB 类中 使在编写业务逻辑是不用重复的编写连接数据库的语句块 极大的减少了代码编 写数量 减少了我开发的时间 并保证了连接的正确性 似的维护数据库连接的灵活性 增强 DB 类中实现了创建 Connection 连接方法 获得与数据库的有效连接 创建 SQL 语句载体 Statement 方法 创建 PreparedStatement 的方法 PreparedStatement 语句能更有效地实现对数据库 记录的添加 删除 修改操作 创建查询结果集 ResultSet 的方法结果集中包含了查询数据库所得到的所有数据记 沈阳师范大学学士学位论文 18 录 创建关闭 Connection Statement ResultSet 的方法 对数据库的所有操作完成 之后必须将于数据库相连的 Connecion 对象关闭以释放系统所占的资源 5 2 2 设计模式的应用 设计完成数据库连接模块之后考虑怎样更好的设计其他业务逻辑模块 怎样更好的 提高业务逻辑模块的灵活性 可移植性 5 2 2 1 业务逻辑 DAO 封装 网站的数据库使用的 MySQL 如果随着网站的发展将会使用多种数据库测试时便要 修改 MySQL 数据库的代码给维护带来的很大不便 使用 DAO 模式设计了 DAO 接口 编写 MySQL 实现的数据库操作实现了 DAO 接口使用多 数据库测试时只需要编写不同的 DAO 实现便可 提高了灵活性 public interface Dao public class MySqlDao implements Dao 5 2 2 2 单例模式 在 JSP 页面中处理数据时调用业务逻辑方法处理 此时构造一个该模块业务逻辑的 管理类 manager 统一管理此模块中的所有业务逻辑的调用 在每次调用业务逻辑时需要 构造一个管理员类的实例 频繁的调用逻辑方法都要创建单独的管理员极大的浪费系统 的资源 为了节省资源使用单例模式 只构造一次管理对象 也便如现实中的工厂 只 有一个管理员 而不是每次进出工厂都要找一个管理员 如果管理员存在便不在聘请 public class Manager private static Manager manager null public static Manager getInstance if manager null manager new Manager return manager 5 2 2 3 模块的类设计 设计模块的具体功能时首先应先设计承载这些功能的类 各功能模块都应包含实体 类 业务逻辑类两部分 沈阳师范大学学士学位论文 19 实体类依据设计的数据库的逻辑结构编写 包含了数据成员对应各自的数据库表的 列 并提供对个数据成员的 get set 方法 业务逻辑类内部主要包含实现个功能的业务逻辑方法 该系统使用三层类的结构 即管理类 Manager DAO 类 数据库实现类 5 2 3 用户模块 用户模块分为会员注册并登录网站并在我的帐户中管理自己的信息和网站管理员在 后台管理会员信息两部分 用户进入网站后可以注册为会员 会员可以订购图书并享受折扣待遇 会员登录后 可以在我的账户中管理自己的个人信息 包括修改查看个人基本信息 查看订单信息 查看消费信息 图 5 2 首页页面 5 2 3 1 会员注册登录设计 沈阳师范大学学士学位论文 20 图 5 3 注册页面 电子商城系统离不开用户与网站之间的交互 用户注册和登录十分重要 该系统对 用户注册和登录功能进行详细设计 会员注册时在注册页面编辑个人信息 通过信息表单提交个人信息到服务器审核 检查用户提交的信息是否为空 用户提交的信息不能为空 会员注册用户名不能与以往 已经注册的用户名重复 否则无法区分 在提交信息到数据库时对此进行了检查限制 通过调用 UserManager getInstance checkUsername 检查会员名是否已经存在 审核通过便成功注册为会员 将信息添加到数据库中保存 在业务类中提供了 addUser 方法添加数据 因为向数据库添加数据方面大同小异所 以以添加用户为例详细介绍向数据库添加数据的方法 public void addUser User user Connection conn DB getConnection 使用编写好的 DB 类创建与数据库的连接 String sql insert into user values null 编写 sql 语句 该 sql 语句使用 PreparedStatement 的格式 PreparedStatement psta DB prepareStatement conn sql try 沈阳师范大学学士学位论文 21 conn setAutoCommit false 为了更安全的提交数据将数据库的事务提交改为手动提交 psta setString 1 user getUsername psta setString 2 user getPassword psta setString 3 user getUsernumber psta setString 4 user getPhone psta setString 5 user getEmail psta setString 6 user getAddress psta setTimestamp 7 new Timestamp user getRdate getTime psta setDouble 8 0 0 psta setInt 9 0 psta executeUpdate 利用 PreparedStatement 对数据库修改 添加数据 mit 将所做的修改的事务提交 catch SQLException e e printStackTrace finally try conn setAutoCommit true 将自动提交值改为默认值 catch SQLException e e printStackTrace DB close psta DB close conn 关闭连接数据库的资源 会员注册后每次只需登录网站便可在网站购物 会员在首页登录表单内填写相应的 信息登录网站 服务器验证信息正确则返回首页显示用户成功登录 并把用户登录信息 沈阳师范大学学士学位论文 22 添加进 session 中统一管理 如果信息错误则返回注册页面请会员重新登录 利用 session 在服务器中统一管理会员的登录信息更能保证用户登录的安全 5 2 3 2 后台会员管理设计 该系统实现的后台会员管理主要是获取所有会员的信息 使用表格将会员信息显示在 网页上 该管理系统实现了会员信息类表的排序和分页 利用排序方式和页面参数获取会员列表分别使用了数据库的排序操作和分页操作技 术 图 5 4 用户列表页面 5 2 4 类别模块 通过设计类别模块能够更方便的管理图书目录 消费者在选购图书的时候能够更方 便的按类别寻找自己喜爱的图书 所以类别的设计很重要 能够更好的引导消费者选购 也能够更好的帮助管理者管理图书 类别管理同样使用了实体类家三层业务逻辑类的方法 系统中设计了两级类别 第 一级类别为主类别 第二级为某主类别小细分的子类别 在数据库表项中使用 grade 字 段记录类别的等级 并使用 cno 字段类别的排序号码 Cno 值使用了四位数字 前两位 为第一级类别使用 后两位为第二级类别使用 即每一级都可添加一百种不同的类别 Cno 更好的辅助了类别管理是递归的实现 在展示类别列表时按照 cno 排序即可实现递 归的功能 依次展示主类别和旗下子类别 沈阳师范大学学士学位论文 23 5 2 4 1 cno 值计算 在添加类别是需要添加类别的 cno 值 因为 cno 值应为系统自动添加所以在业务逻 辑中重点编写了计算 cno 值的方法 首先查询同级兄弟类别中 cno 的最大值 如果同级兄弟类别中还有没记录的 重头 开始编写该级别的 cno 0000 如果同级兄弟类别中已经有了其他记录 则要跟在其他 记录 cno 值后面编写 public int getCno Connection conn Category c Statement sta DB createStatement conn String sql select max cno from category where pid c getPid 查询兄弟类别中的 cno 最大值使用 String getpno select cno from category where id c getPid 查询父亲类别的 cno 值使用 ResultSet rs DB getResultSet sta sql int cno 1 try rs next int maxcno rs getInt 1 int addno int Math pow 100 2 c getGrade if maxcno 0 说明同级兄弟类别中还有没记录 所以尚且没有 cno 数据 重头开始编 写该级别的 cno 0000 if c getPid 0 说明了要添加的该类别属于第一级范围 该从百位数开始加 第一 条记录 cno 值 0100 cno addno else 说明该类别不是第一级 那么应该从个位数开始加 ResultSet pnors DB getResultSet sta getpno pnors next int pno pnors getInt 1 cno pno addno 沈阳师范大学学士学位论文 24 DB close pnors else 说明同级兄弟类别中已经有了其他记录 则要跟在其他记录 cno 值后面 编写 cno maxcno addno catch SQLException e e printStackTrace finally DB close rs DB close sta return cno 5 2 4 2 类别的增删改查 网站管理员可以对类别进行添加 修改 删除 查看操作对类别进行管理 类别的添加 修改仍旧使用了表单添加信息提交到服务器然后添加进数据库的方法 值得注意的是不同等级的类别操作的方式不一样 二级类别只能在第一级父亲类别下面 添加 所以当添加第二类别是需要传递父亲类别的 id 号码作为参数 如果没有则显示错 误信息要求指定父亲类别 类别列表查看时在类表中应该有维护类表方法的连接 比如添加子类别 修改类别 删除类别等 同样使用用户模块中的列表技术 类别的删除使用删除数据库表记录的操作 在商品管理中同样有删除的功能 大同 小异 所以在这里详细介绍类别的删除 public void deleteCategory int id Connection conn DB getConnection String sql delete from category where id 通过 id 号码的条件删除相应的记录 PreparedStatement psta DB prepareStatement conn sql try 沈阳师范大学学士学位论文 25 conn setAutoCommit false psta setInt 1 id psta executeUpdate mit catch SQLException e e printStackTrace finally try conn setAutoCommit true catch SQLException e e printStackTrace DB close psta DB close conn 值得注意的是 要删除第一级类别时 如果第一级类别下有第二级类别存在则不允 许删除 通过编写 testDelete 方法测试是否允许删除 在 JSP 页面中调用 如果不 允许那么在类别类表页面中则不能显示删除选项 public boolean testDelete int id Connection conn DB getConnection Statement sta DB createStatement conn String sql1 select from category where id id 查询类别 String sql2 select from category where pid id 查询 id 号码下面的所有的子类别 ResultSet rs1 DB getResultSet sta sql1 boolean delete true try rs1 next if rs1 getInt grade 1 沈阳师范大学学士学位论文 26 如果该类别为第一级类别那么则要测试其下有没有子类别 ResultSet rs2 DB getResultSet sta sql2 if rs2 next delete false 一级类别下面有子类别所以设置 delete 值为 false 并返回告知不 能删除 DB close rs2 catch SQLException e e printStackTrace finally DB close rs1 DB close sta DB close conn return delete 图 5 5 图书类别页面 沈阳师范大学学士学位论文 27 图 5 6 添加类别页面 5 2 4 3 类别的前台展示 后台管理员将类别展示之后需要在前台页面展示出来以供用户浏览使用 同样使用 向业务逻辑传递集合参数的方法 从数据库中取出数据放入集合 categorylist 中然后返 回 在前台页面图书列表的区块中使用集合 Iterator 循环的技术从图书表中获取图书 列表放在中展示 注意的是当通过 ul 列表将类别依次显示出来 并设置主类别和子类别的不同的 class 值 并在 css 设置时显示效果不同 增强用户的浏览效果性

温馨提示

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

评论

0/150

提交评论