网上在线购书系统设计与开发_第1页
网上在线购书系统设计与开发_第2页
网上在线购书系统设计与开发_第3页
网上在线购书系统设计与开发_第4页
网上在线购书系统设计与开发_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、上在线购书系统设计与开发毕业设计(论文)题目:网上在线购书系统设计与开发学院: 软件学院专业名称: 软件工程班级学号:学生姓名:指导教师:二O 五年六月毕业设计(论文)任务书I、毕业设计(论文)题目:网上在线购书系统设计与开发II、毕业设计(论文)使用的原始资料(数据)及设计技术要求:1. Struts2框架的相关技术资料。2.开发一款应用MVC模式的网站在线购书系统,包含购书顾客、商户、管理 三个模块,能够实现顾客购书下订单,商户管理商品,管理员管理账户的功能。、毕业设计(论文)工作内容及完成时间:本课题的主要内容:1. 系统学习Struts 2框架的相关知识,利用框架的配置实现MVC模式的

2、实现, 同时利用框架在前台和后台之间实现数据传输。2. 学习和使用jQuery库,可以更容易实现前台开发,使得实现逻辑和界面 效果实现代码分离,使前台开发更为容易。3. 学习MyEclipse环境下Java语言的编程和web服务的部署。4. 基于JDK+MyEclipse+Struts2搭建的web应用开发测试环境,完成相应应用 软件的设计、开发、仿真测试。5. 设计网页良好的可视性和易操作性,使顾客可以感受良好的购书体验。完成时间:1. 资料查询,书写开题报告 (第一周一一第二周)2. 做需求分析、概要设计(第三周一一第五周)3. 编写程序、调试程序(第六周一一第十二周)4. 撰写毕业论文(

3、第十三周一一第十五周)IV、主要参考资料:1. 李永恒,运用网络技术完善经营管理J内蒙古煤炭经济2004,(02)2. 萨师煩、王珊编著,数据库系统概论M(第三版).北京:高等教育出版社,20003. 刘韬,SQL Server 2000数据库系统开发实例导航M.北京:人民邮电出版4. 赵松涛,SQL Server 2000应用及实例集锦M.北京:人民大学出版社,20025. 陈轶,肖建,王炜.Web开发技术实用教程M.北京:清华大学出版社.6. 郑人杰等编.实用软件工程M.北京:清华大学出版社,2001软件 学院 软件工程专业类 班学生(签名)日期: 自2015年03月02日至2015年06

4、月15 0指导教师(签名):助理指导教师(并指出所负责的部分):系(室)主任(签名):附注:任务书应该附在己完成的毕业设计说明书首页。5.总结、准备毕业答辩(第十六周)学士学位论文原创性声明本人声明,所呈交的论文是本人在导师的指导下独立完成的研究成果。除了文 中特别加以标注引用的内容外,本论文不包含法律意义上已属于他人的任何形式的 研究成果,也不包含本人已用于其他学位申请的论文或成果。对本文的研究作出重要 贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本声明的法律后 果由本人承担。作者签名:日期:学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校

5、保留 并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本 人授权南昌航空大学可以将本论文的全部或部分内容编入有关数据库进行检索,可 以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。作者签名: 日期:AbstractTodays, onli ne shopping has become a very comm on way of shopping, Inter net users buy commodities online to meet the requirement of daily I讦e. Because the wide variety of goods

6、in life, more and more electronic business platform refined the business range, the more prominent example are: Shop No. 1 focus more on everyday items, Dangdang focus on cultural goods, especially the books management. In today's rapid economic developme nt, the more in dined to spiritual civil

7、izati on construction, which makes the book purchase system is particularly important.This system use the MVC pattern to simulation dangdang network that design a system with functions of online shopping The system mainly includes customer module, business module and site administrator module. Custo

8、mer module can be divided into registered login, personal information management, order management, personal, and online shopping function. After logging in, customers could find a book they want to buy in the respective categories, then place an order. Orders can be viewed in the Hmy Dangdang” afte

9、r submitting order successfully, at the same time, my personal information can be viewed and make the appropriate changes in the "my Dangdang11 Merchant module can search for merchandise information, and can manage merchandise information, including create, retrieve, update, and delete other ba

10、sic functions. Administrators can operate the account information of the merchant and the customer, in order to achieve the purpose of regulation may appear malicious merchant This system uses JQuery and Strusts2 , jsp, database using MySql. System with simple and beaut 讦 ul in terface .It is easy t

11、o expa nd and easy mainte nance.Keyword: Online Book Shoping Strusts2 MySql MVC错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。需求分析概述 系统功能需求 购书顾客首页. 商户界面管理员界面 系统流程图 数据需求 开发环境错误!未定义书签 错误!未定义书签 错误!未定义书签 错误!未定义书签 错误!未定义书签 错误!未定义书签 错误!未定义书签 错误!

12、未定义书签4系统结构设计应用框架设计 功能模块设计 数据库设计错误!未定义书签。错误!未定义书签。错误!未定义书签。5网上在线购书系统的详细设计和实现框架整体介绍 客户模块实现 首页 注册页面 购物车 收货地址填写 商户模块 管理员模块错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。 错误!未定义书签。6系统测试1引言课题的来源与意义 课题的目标 设计内容与设计结果 客户模块 商户模块 管理员模块 设计结果2相关技术简介开发语言JavaJspJQueryStruts 2 3在线购书系统需求分析程序调试及故

13、障分析错误!未定义书签。7设计评价和改进要求及目标设计评价改进要求及目标错误!未定义书签。 错误!未定义书签。参考文献错误!未定义书签。1引言课题的来源与意义第三次工业革命以来,人们的生活方式和思维方式正在发生着深刻的改变。在信 息技术快速发展的悄形下,人类的衣食住行等各方面同时也发生着深刻的变革。在 此次科技革命中,变化最大的莫过于人们日常的购买方式。从之前的只能在线下实 体店购买到现在的线上线下的各种综合方式,在不同的层次方便着人们的生活。近 些年来的一些新兴的电商提供了这种新方式购买的平台,这些平台在现在和未来将 会发挥更加积极和便利的作用。在更多的电商倾向于日用品经营的环境下,在精神

14、文明建设尤为突出的今天,这也就使得文化商品在线购买的平台显得更为迫切。在 这种平台下,那些距离书籍购买处远或者书籍量缺少的地区,网民就可以顺利的解 决这种尴尬的场景。针对上述的问题,电子书也在一定层次上解决了一些问题,可是在阅读的体验方 面,电子书在阅读中可能对人的身体有不同程度的影响,尤其在视力方面。同时电 子书在阅读的过程中在硬件方面会有不同程度上的影响。与此同时有一些读者在对 墨香的依恋情结下,更多的人仍然选择纸质图书作为阅读的主要对象,本课题就是 基于这种考虑,设计开发一个基于MVC模式为网民提供一个更便捷网上在线的购书 系统,从而使得更多的人可以更加便捷的购买到想要的图书。通过本课题

15、的系统,可以为热爱读书的网民提供一个更好的购书平台,更方便 快捷的购买到想要的图书。课题的目标本系统开发的功能要实现以下的功能。1. 顾客和商户可以实现注册,且注册后可以登录网站做相应操作。2. 顾客登录后可以购买书籍,在购物车中找到所要订购的书籍。3. 可以在购买前对订单进行操作,例如对订单中的书籍数量变更,删除之前 想要购买的书籍,同时可以恢复已删的书籍。4. 顾客在填写送货信息时将输入的数据存进数据库,在下次购买时可以选择 之前填写过的信息,避免重复填写。5. 顾客登录后可以在“我的当当”中查看所有的订单,同时可以查看和修改 个人信息。6. 商户后可以实现书籍的增删改查的功能和糊查询功能

16、。7. 管理员可以删除商户及其名下的书籍和顾客的账户。设计内容与设计结果客户模块1. 顾客和商户可以实现注册注册时分别对客户输入的注册信息进行非空验证。同时在输入框失去焦点时, 对邮箱和呢称在数据库中做重复判断,如果重复则提示邮箱或者是呢称重复。2. 顾客可登录及登录后完成相应的操作顾客登录后页面显示顾客呢称作为已登录的标志;顾客登录后可以经山分类找到相应的商品图书购买;购买后可以在购物车中看到所购买的书籍订单,并且可以对订单修改。3. 顾客提交订单填写收货地址顾客在填写新增的收货地址时,会将新的地址信息添加到相应的数据库中,再 次购书下订单时,可以直接在地址框中使用已有的地址。4. 提交订单

17、时将邮件发送到指定的邮箱顾客在提交订单时将相应的验证码发送指定的邮箱,然后进行验证码验证。5. 我的当当顾客在登录后可以在“我的当当”中查看已有的订单;顾客可以在“我的当当”中查看个人信息并且修改。6. 帮助文档顾客可以查看帮助文档。7. 首页顾客可以在首页看到根据销量推送的热门图书;顾客可以在首页看到根据更新时间推送的图书;顾客可以在首页看到图书分类信息;顾客可以在首页看到图书的销量及其排序;商户模块1.商品模糊查询商户登录后可以通过首页的搜索框模糊查询商品;商户可以对商品信息修改和删除;商户可以增加新上架的图书商品。管理员模块管理员对帐户可进行如下操作。管理可以删除商户账号及其名下的图书商

18、品;管理员可以删除顾客的账号及其名下的订单。设计结果顾客可以通过登录进入本系统,进入系统后,顾客可以在首页上看到图书的分 类及随机推送的图书、按销量推送的热门图书、按最新上架推送的图书以及销量排 行榜。进入“我的当当”可以看到订单信息及个人信息,同时可以修改个人信息。 进入帮助可以看到帮助文档。每页的Logo单击可以返回首页。顾客购买商品之后 在购物车中自动生成订单,订单对商品自动计费。客户可以在订单发送前修改,包 括变更、删除、恢复等操作。顾客在填写订单收货地址时可以实现自动选择之前已 有的地址,或者新增后可以存进数据库在下次下订单时可以选择。商户登录后在首页可以模糊查询商品且可以编辑、删除

19、、新增。管理员可以在登录后删除商户的账户和其相应的图书商品,同时可以删除顾客 和其相应的订单。系统首页如图所示,购物车页面如图所示。一 才化J?、册,WMA*1 IIJ图系统首页p我的购物车您已选购以下商品小W1、.¥45 0¥45.0copynauc当当网 2004-2008.剛 RiQhts Reserved京ICF证刃”翻商品刍rWlV当当价惑典建瞬¥59.0¥<9.011|gg 濟任共书Sh ¥L0.0 1輻金魏址计¥0.0 1结超空|金曰肪.ITF鬲R,蚪P炉奇鸵孔濱点击“恢氫”图购物车页面2相关技术简介开发语言Jav

20、a由于Java语言拥有良好的开发性能,本系统使用Java开发。Java是一种简单 的,跨平台的,面向对象的,分布式的,解释的,健壮的安全的,可移植性强,性 能很优异的多线程的,动态的语言。其特点有:1平台无关性Java能运行于不同的平台,其引进并且运行于虚拟机上,从而实现于在不同的 平台的接口之间。Java属于开源开发语言,所以其编写的程序可以在全世界范围内 共事的。通过Java建立于硬件和操作系统之上的虚拟机,从而实现了 Java二进制 代码的解释执行功能。2. 安全性Java不同于C+的指针对存储器的直接操作,而是内存直接山操作系统分配, 这样就有效的避免了病毒可以通过指针非法入侵系统,从

21、而保证了它的安全性。3. 面向对象相似于C+, Java也使用了面向对象这一概念。在类中封装了需要使用的数 据,这要更有利于开发更简洁的和更易于维护的程序。Java中提供了许多一般对象 的类,可以通过继承使用其父类中的方法。从而使得开发更为简便。4. 分布式Java建立在扩展TCP/IP网络平台上。库函数提供了用HTTP和FTP协议传送和 接受信息的方法。这使得程序员使用网络上的文件和使用本机文件一样容易。5. 健壮性Java自身提供了 Null指针检测、数组边界检测、异常出口、Byte code校验等 功能,有了这些校验,使得开发人员在开发中可以有效的避免这些错误,从而提高 了开发的速度和质

22、量。6. 解释型不同于C或者C+, Java并不直接针对CPU芯片进行编译,而是将其编译为一 种字节码,通过这种字节码在JVM运行于不同的平台上。7. 动态曲于Java程序中的基本组成元素就是类,这些类可以是编写的,也可以是直 接继承于Java所提供的类库中,或者有的是在运行时动态装载的。这就使得动态维护ava程疗;成为了可能。JspJsp简介Jsp即Java服务器页面(Java server pages),它的本质就是一个简化的servlet 设计,是一种动态的网页技术标准。它是在HTML这种传统的网页文件中加入Java 程序段和jsp标记而形成的jsp文件。用jsp开发的web应用适用于多

23、平台,既能 在Linux下运行,也能在其他的操作平台上运行。Jsp的技术基础为Java Servleto通过Java Servlet和Jsp配合才能完成一些大型 Web应用程序的开发需要。Jsp技术同Java技术一样,拥有着简单易用、完全面向 对象、与平台无关且安全可幕的一些主要面向因特网的一些特点。JSP指令JSP指令控制着JSP编译器如何生成servlet,这些指令如下:1. 包含指令include -包含指令是将命令行中包含的文件像被复制到本文件 中一样包含进来,就像C语言中的预处理很相似。以下为处理语法:<% include file="" %>2. 页

24、面指令page般有如下选项:表页面指令conten tType规定了生成内容的类型。当生成非HTML内容或者当前字符 集character set并非默认字符集时使用。errorPage处理HTTP请求时,如果岀现异常则显示该错误提示信息页而。isThreadSafe表示最终生成的servlet是否安全线程(threadsafe)。JSP样例值得注意的是:在同一个JSP文件中可以多次使用的指令只W'imporf导入。 标签库指令taglib 标签库指令指定了要使用的JSP标签库。该指令需要有一个前缀prefix (和C+的命名空间很类似)和标签库的描述URI:<% taglib

25、prefix=,'myprefix" uri="taglib/" %>JSP脚本以下是常用的一些脚本变量:-JSPWriter:用来写入响应流的数据-servlet:自身:一个PageContext实例包括和整个页面相联系的数据,一个给定的HTML页 面可以在多个JSP之间传递。-HTTP request:对象-HTTP response:对象:一组会话JQueryJQuery简介JQuery是一个优秀的轻量级的可以兼容多浏览器Javascript库,同时它还兼容 CSS3o JQuery在后将不会再支持IE&沟。使用Jquery可以更好的使

26、用户更好的处理 events和动画效果以及HTML,而且还可以使用Ajax实现前台和服务器的异步交 互。文档说明全面是Jquery的另一大优势,而且其中的各种应用说明也很详细, 更多的插件选择也为这种js库的使用锦上添花。在使用JQuery开发时,能够使代码和HTML相分离,只许定义了相应的id就 可以对HTML进行相应的操作。这样也使得web开发更为简便和轻松。如今, Jquery已然成为了全球最为流行的js库,在全世界前10000个访问量最多的网站 中,其中有过半的网站使用了这种技术。使用方法通过下载使用,其中有两个版本的jQuery可供下载:Production version -用于实

27、际的网站中,已被精简和圧缩;Development version -用于测试和开发(未压缩,是可读的代码)。2. 除了下载使用外,jQuery还可以通过在公共的服务其中选择引用。将其放在 CDN公共库中可以加快网站的载入速度。将jQuery放在公共的服务器上与放在服 务器单机上相比,CDN上的访问更加稳定和高速。国内主要有新浪云服务和白度 云等提供其中的服务。基本实例方法1. 选择器jQuery使用sizzle引擎,支持css选取,Xpath选取等方式。例如:$(”p“)选取全部p元素2. Ajax在JQuery中提供了多种有关Ajax的方法。通过jQuery Ajax方法,您能够使用HTT

28、P Get和HTTP Post从远程服务器上请求 文本、HTML (标准通用标记语言下的一个应用)、XML (标准通用标记语言下的 一个子集)或JSON,同时您能够把这些外部数据直接载入网页的被选元素中。插件机制jQuery UI是jQuery的官方插件。开发者可以任意扩展jQuery的函数库或者按 照需求开发UI组件。网上已经有数以万计的jQuery插件,覆盖各种各样的需求。 例如Ajax辅助、数据表格、动态列表、XML工具、拖曳、cookie处理、弹出层等 等。jQuery的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插 件可供选择,例如 ComponentOne Studi

29、o for ASP NET Wijmo.Struts 2Struts2 简介Struts2是Struts的第_.代产品,然而其与Struts之间的联系微乎其微,Struts2 是在Struts和WebWork的基础上整合而成的一种全新的MVC框架。Structs2是以 WebWork为核心,在处理用户的请求时采用了拦截器的机制,这样设计的好处就 是可以使得业务逻辑控制器能够与ServletAPI脱离开来,虽然其名为Struts?,但可 以其为WebWork的下一代产品。工作原理一个请求在Struts?框架中经历的过程为:1. 客户端在初始化时指向了一个Servlet容器的请求。2. 这个请求在

30、经过一系列的Filtero3. 之后FilterDispatcher被调用,这时ActionMapper决定了是否要调用某个 Action o4. 如果ActionMapper要调用某个Action»则FilterDispatcher把请求交给ActionProxyo5. 这时Action Proxy通过询问Configuration Manager而找到框架中配置文件的 所需要的Action类。6. ActionProxy 创建一个 Actioninvocation 的实例。7. Actioninvocation实例使用命名模式来调用,在调用Action的过程前后,涉 及到相关拦截

31、器(Intercepted)的调用。&当Action执行完毕,Actioninvocation负责根据中的配置找到对应的返回结 果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表 示的JSP的模版。Struts2的原理图如图所示:StrutsStrutsHttpServletRequestHttpServletRequestActionContextCleanUpActionContextCleanUpActionProxyActionProxyConfigurationManagerstruts.xmlActionInterceptor 2jIntercep

32、tor 3ResultInterceptor 2Interceptor 丿Interceptor 3ActionResultInterceptor 1ActionMapperActionMapperTag SubsystemHTML. Dojo. forms, etcTag SubsystemHTML. Dojo, forms, etcTemplateJSP, FreeMaikec, Velocity, etcTemplateJSP, FreeMaikec, Velocity, etcHttpServletResponse 卜HttpServletResponseKey:Servlet Fil

33、tersStruts CoreInterceptors User created图Struts原理图3在线购书系统需求分析需求分析概述在市场经济和互联网十分发达的今天,随着时代的要求,更多方便人们生活的 电商应运而生,同时在国内精神文明建设比较迫切的环境下,在线购书系统能更好 的为更多的读者在购书上带来更多的便利,使读者不会受到时间和空间的限制,随 时随地的购买到想要的图书。同时也是为当下社会的精神文明建设提供一个良好的 助力器。本系统是模拟当当网的一款在线网上购书系统,系统基本实现了用户(分为购 书顾客和商户)和管理员的各个功能。在购书顾客模块中,在首页中顾客可以看到图书的分类。同时顾客可以

34、在图书 分类中找到想要购买的图书,同时在相应的图书下面购买。顾客在登录的前提下, 可以在购物车查看订单。确认订单后可以下订单。顾客可以在登录情况下查看“我 的当当”,以查看订单数据和个人信息,同时可以修改个人数据。顾客可以在帮助 中找到相应的操作指导。在商户模块中,商户可以在登录情况下查看或者模糊搜索出相应账号下的图书 商品,同时可以对指定的图书商品做除ID之外的其它任何的修改。在管理员模块中,管理员可以通过注册邮箱模糊查询出全网中所有的商户和购 书顾客,并且可以查看其信息,对其中需要管理的客户或者商户可以删除对应的账 户。系统功能需求通过对现今国内外图书购买网站的调查和研究,结合所学的知识和

35、能力,在此 基础上确定了系统的功能。依照软件工程的步骤,软件系统的功能分析在整个系统 的生命周期中起到了至关重要的作用,只有在功能需求明确的悄况下才能为之后的 开发提供指导方向。在此前提下,经过仔细的考察和了解,最终确定了如下的功能 需求:1. 顾客打开系统的首页可以看到网站对其推送的按全网图书中随机推荐的图 书、按销量推荐的图书、按图书最新上架时间来推荐图书以及全网中的销量排序。 同时在网站首页的左侧可以看到图书的分类。2. 顾客在网站首页的左上角可以看到有顾客登录和注册的链接。顾客可以通过 相应的链接进行注册或者登录。3. 与上功能需求相似,商户也可以在同样的位置看到登录和注册的链接。相同

36、 的也可以在此进入进行注册和登录操作。4. 顾客和商户在注册时填写注册信息会有验证限制,比如:邮箱和呢称不能填 写之前注册过的等等。5. 顾客登录之后可以看到用户呢称显示在网站首页的欢迎处,以此来标识顾客 已经登录。6. 顾客登录之后可以在图书分类中找到想要购买的图书,然后在相应的图书下 做购买操作。此时可以进入购物车查看订单情况,并且可以在订单未提交前对其修 改。7. 订单提交时填写收货地址可以使用新建的地址,也可以选择使用之前使用过 的地址。8. 顾客购买之后可以在“我的当当”中找到购买的图书订单,在核对订单中顾 客可以修改订单,包括变更购买图书的数量、删除订单中的某个图书以及恢复订单 中

37、某个已经删除的图书。9. 在首页"我的当当”中,顾客可以查看个人信息或者完善纠正个人信息。10. 在首页帮助中,顾客可以查看文档获取操作的各种方法信息。11. 商户在登录后,在首页中可以对其帐户下的图书模糊查询,并且可以对已 有的商品图书信息做编辑操作。商户同时可以在此增加商品图书。12. 在另一个登录页面中登录管理员账号,管理员可以对全网中的客户和商户 进行帐户管理。购书顾客首页1顾客进入首页之后可以进行图书查询,同时可以按类别查看图书,首页中分 别会以随机、销量、最新上架的不同方式推送给顾客,同时顾客还可以在查找到相 应的图书时,进行购买操作。其用例图如图所示:图顾客基本功能用例

38、*2顾客在首页可以看到注册和登录,通过链接顾客可以分别到注册和登录页面做相应的操作。同时可以查看帮助获取对应的操作指导。其用例图如下所示:图顾客登录注册用例3在顾客登录之后,顾客可以购买想要的图书,并且可以在购物车中查看订 单,并且对其修改,同时在提交订单之前需要填写订单的收货地址等详细信息。其 用例图如下所示:购书顾喜图书购买图顾客订单用例4顾客在登录之后,可以在“我的当当”中查看订单信息,同时可以查看个人 信息,并且可以编辑其个人信息。其用例图如下所示:购书顾客图顾客修改信息用例商户界面商户在网站首页可以看到登录和注册入口,分别可以通过链接登录或者注册。在登录之后,商户可以模糊查询出指定的

39、商品图书。并且可以对其中的图书信息做相应的修改。同时也可以删除其指定的图书。其用例图如下:杳询图书3H3厂rSt 除 18 14«rw»件打并编紺个人倍龙图商户用例管理员界面管理员通过不同的登录方式登录进其管理页面。管理员通过邮箱可以查找到相 应的商户或者顾客账户,同时可以对指定的账户进行管理。管理员登录删除商户帐户图管理员用例系统流程图1 用户购书流程图,如图所示:开始操作完成结束图用户购书流程图2商户管理流程图,如图所示:y图商户管理流程图3.管理员管理流程图,如图所示:弓史vK i*i C «八 心 k<1no_JYes. U-图管理员管理流程图数据需

40、求1图书的介绍和展示图片放在服务器中指定的文件夹下。2.商品的作者、出版社、价格等数据需要在未开发管理员模块时将数据加入相 应的数据库。开发环境1. 数据库MySQLMySQL是一款在web应用方面最好的关系型数据库管理系统软件之一。山于 其体积小、速度快、总体拥有成本低等特点,现在一般的中小网站开发更多的选择 7 MySQLo2. 开发平台 JDK+MyEclipse+IE系统采用Java开发的Web系统,使用MyEclipse工具可以更好的开发,同时 也可以在修改后更方便的部署服务,更好的测试。3. 服务器 Jsp+Struts2使用Struts?框架中的拦截器,可以实现使得业务逻辑控制器

41、能够与ServletAPI 完全脱离开。从而使开发更加容易和维护更加方便。4系统结构设计应用框架设计本系统使用的是Struts?的MVC框架,在实现逻辑和前台实现均使用模块实 现,这样的设汁可以使整个系统更易于开发和管理,在这之后的维护中也可以更方 便的测试和扩展。通过对网站的功能整体考量,将系统总的分为用户和管理员模 块。用户有可以分为购书顾客和商户两个大的模块。结构图如下图所示:点乔订单获取ffi助修 改 个 人 倍图系统结构图功能模块设计根据系统结构图,对网上购书系统进行如下设计。顾客模块顾客可以在进入首页中看到网站的图书分类,分别按照随机、销量、最新上架 推荐的商品图书,全网图书销量排

42、行榜等。顾客在注册帐户时会有信息校验,例 如:之前注册过的邮箱和呢称不能重复注册等等。在顾客登录之后顾客会在首页中 看到呢称出现在首页上,以此来标识用户登录的状态。在登录之后,顾客可以在分 类中找到想要购买的图书,并且可以按购买键购买。在购买完商品之后,顾客可以 在购物车中找到本次购买的订单,订单中有购买图书的信息,并且可以修改订单的 信息(包括修改商品数LI、删除商品、恢复删除的商品)。在提交订单之前,填写 收货信息时,可以使用新建的收货地址,为了实现更快的购书体验,也可以选择使 用之前使用过的地址。在提交订单之后,可以在首页中“我的当当”中查询顾客的 订单信息。同时在“我的当当”中可以查看

43、和修改顾客的个人信息。顾客也可以在 首页的帮助中査看操作信息。商户模块在商户模块中,商户需要在网站的首页中注册并登录网站,从而进入商户的个 人首页。商户在注册中和顾客相同,会有邮箱和呢称等一系列的校验。商户在登录 之后,首页中可以模糊查询帐户中拥有的商品图书。同时可以编辑和删除图书的信 息。管理员模块管理员在网站首页中没有登录入口,只能通过固定的访问链接进入,在管理员 中管理员可以通过邮箱查询到相应的账户信息,并且可以分别对顾客和商户的账户 管理。数据库设计系统数据库E-R模型系统数据库设计数据库中存入的表中,分别山顾客表、商户表、书表、订单表等一系列表组 成。这些表之间存在主次表的联系,有的

44、表存在特性上的关联等等。其中一共有9张表,分别如下:1. d_user 表:此张表是顾客表,当顾客注册时会将注册成功后的信息存入此张表中,也是当 有新的顾客注册时,使用新顾客注册的邮箱与表中的邮箱对比,使注册的邮箱不致 于重复,如下表所示。表d user表属性数据类型是否为主键Id (ID)int(12)YesEmail (邮箱)varchar(50)NoNickname (昵称)varchar(50)NoPassword (密码)varchar(50)Nois_email_verify (邮箱是否验 证)char(3)Noemail verify code (验证码)varchar(50)N

45、olast_login_time (上次登录时 间)bigintNolastjoginjp (上次登录 ip)varchar(15)No2. d_admin 表此表是商户表,与顾客表基本一致。也是在注册成功后将商户的信息存入表 中,同时在新的商户注册时,将新的商户注册时的邮箱等信息与此表中的信息对 比,保证在邮箱、呢称等信息中的不重复性,如下表所示。表 d admin 表属性数据类型是否为主键id (ID)int(12)Yesemail (邮箱)varchar(50)Nonickname (昵称)varchar(50)Nopassword (密码)varchar(50)Nois_email_v

46、erify (邮箱是否验 i£)char(3)Noemail verify code (验证码)varchar(50)Nolast_login_time (上次登录时 间bigintNolastjoginjp (上次登录 ip)varchar(15)No3. d_product 表此表是图书表,包含了图书的一些主要信息,包括ID、书名、价格等信息。此表属于d_book主表,和d_book的ID是一致的,并且在商户增加图书时,是将信息同时加入这两张表中的,如下表所示。表 d product 表属性数据类型是否为主键Id (ID)int(12)Yesproduct name (书名)va

47、rchar(lOO)NoDescription (描述)varchar(lOO)Noadd time (添加时间)bigint(2O)Nofixed price (原价)doubleNodang price (当当价)doubleNoKeywords (关键字)varchar(200)Nohas_deleted (是否被 删)一int(l)Noproduct pic (图片)varchar(200)NoSalenumber (销售量)intNo4. d_book 表此表中存储了图书商品的一些次要的信息,包括了作者、出版社等信息。与d_product共同存储了图书的全部信息,如下表所示。表d b

48、ook表属性数据类型是否为主键Id (ID)int(12)YesAuthor (作者)varchar(200)NoPublishing (出版社)varchar(200)Nopublish time (出版时间)bigint(20)Noword number (字数)varchar(15)Nowhich edtion (版数)varchar(15)Nototal page (总页数)varchar(15)NoIsbn (ISBN)varchar(25)Noauthor summary (作者简介)textNoCatalogue (类别)TextNo5. d_category 表此表中存储了图书

49、的所有分类,包括一级分类和二级分类,如下表所示。表 d category 表属性数据类型是否为主键Id (ID)int(12)Yesen name (英文名)varchar(200)NoName (中文名)varchar(200)NoDescription (描述)varchar(200)NoParentjd (父类 ID)Int(lO)No6. d_category_product 表此表作为图书和分类之间的联系表,分别将图书的id和分类的id建立联系。这样作为在首页中按分类划分图书的标准。也是商户在增加图书时与分类建立联系的基础,如下表所示。表 d category product 表属性

50、数据类型是否为主键Id (Id)int(12)Yesproductjd (图书 ID)lnt(10)Nocatjd (分类 ID)lnt(10)No7 d_item 表此表是客户在购物车中的订单表,当顾客在点击购买时,将商品的信息生成一条购买商品记录,这些记录就保存在这张表中。顾客可以在提交订单之前修改其中的数据,如下表所示。表djtem表属性数据类型是否为主键Id (ID)int(12)Yesorder id (订单 ID)lnt(10)Noproductjd (图书 ID)Int(lO)Noproduct_name (图书 名)varchar(lOO)Nodang price (当当价)d

51、oubleNoproduct num (图书数 量)int(10)NoAmount (订单总价)doubleNo8. d_receive_address 表此表是在顾客提交订单前,将新填写的收货地址等信息存入此张表中,也可以 通过表中已有的收货地址选择其中的信息避免让顾客重复输入数据,如下表所示。表 d receive address 表属性数据类型是否为主键Id (ID)int(12)Yesuser id (用户 ID)Int(ll)Noreceive name (收件 人)一varchar(20)Nofull_address (收件地 址)varchar(200)Nopostal code

52、 (邮政编 码)varchar(8)NoMobile (手机)varchar(15)NoPhone (电话)varchar(20)No9 d_order 表此表是顾客在最后生成订单后主成的订单表,其中包括了订单中的信息和收货 人及地址的信息,这张表中包含了更全面的订单信息,如下表所示。表 d order 表属性数据类型是否为主键Id (ID)int(12)Yesuser id (用户 ID)Int(ll)NoStatus (状态)int(10)Noorder time (订单时间)bigint(20)Noorder desc (订单描述)varchar(lOO)Nototal price (总

53、价)doubleNoreceive name (收件 人)varchar(20)Nofull address (收件地 址:Tvarchar(200)Nopostal code (邮政编 码)varchar(8)NoMobile (手机)varchar(15)NoPhone (电话)varchar(20)No5网上在线购书系统的详细设计和实现框架整体介绍整个系统是使用Struts2框架完成,在整个MVC框架中,jsp担任了 View的角 色,将需要显示的信息展示在页面中。Struts2中配置的XML文件担任了 Controller 的角色,将前台需要的执行的逻辑通过其中的配置传到后台执行,同时

54、将后台执行 完后的相应数据通过其中的配置传送到指定的前台界面显示出来。这是后台的 JavaBeans担任了 Model的角色。在后台的处理逻辑中Action中使用DAO技术链接 数据库,这样可以把底层的数据访问操作和上层的商务逻辑分开。使得开发更容易 操作,系统实现低耦合的特点。客户模块实现首页首页是在用户刚刚进入网站时所看到的网页,首页中实现了顾客可以查看图书 的分类、推荐图书、热销图书、新上架图书、图书销量排行榜等模块。同时首页的 中有顾客和商户登录和注册的链接。同时顾客登录之后可以看到呢称在首页显示, 顾客可以做退出操作。首页的儿个模块的实现上使用了 jsp文件内嵌的方式,将儿 个模块的

55、代码分别的放在不同的jsp文件中,然后通过内嵌显示到同一张页面中, 这样使得页面更容易开发和维护,当出现问题时可以更方便的定位到问题的源头。图书类别模块在图书类别中,分别显示了全网图书的全部类别,顾客可以根据所选择图书的 类别找到想要购买的图书。图书的类别是在数据库中的d.category表中取出来的,分别根据其中的parent字段显示其中的分类级别。当从数据库中取到相应的 数据后,前台通过两层迭代将数据显示出来。同时在一级分类中,会有鼠标在范围 内会变化为口色效果,失去焦点后重新变为原来的颜色效果。同时顾客在点击相应 的分类后会跳转到相应的分类书LI下,顾客可以通过之后出现的页面购买图书。具 体的效果如下图所示:劳类浏览小说1当代小说I近现代小说I 古典小说I四大名著I 世界名著I»校园丨爰情/情感I烦逆/成匠I玄幻丨原创丨政治I经济I法律I哲学I 历史I图首页分类主要实现代码如下:<!-1级分类开始< !-迭代中在value中取到后台传

温馨提示

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

评论

0/150

提交评论