网上图书销售系统毕业论文.doc
《网上图书销售系统毕业论文.doc》由会员分享,可在线阅读,更多相关《网上图书销售系统毕业论文.doc(36页珍藏版)》请在咨信网上搜索。
毕业论文(设计) 题 目 基于B/S结构的网上图书销售系统的实现 学生姓名 孙建 学 号 20061308010 院 系 计算机与软件学院 专 业 计算机科学与技术 指导教师 马利 二O一O 年 五 月 二十 日 1 声 明 本人郑重声明: 1、 持以“求实、创新”的科学精神从事研究工作。 2、 本论文是我个人在导师指导下进行的研究工作和取得的研究成果。 3、 本论文中除引文外,所有实验、数据和有关材料均是真实的。 4、 本论文中除引文和致谢的内容外,没有抄袭其他人或其他机构已经发表或撰写过的研究成果。 5、 其他同志对本研究所做的贡献均已在论文中作了声明并表示了谢意。 作者签名: 日 期: 目 录 1 引言 1 1.1 网上购书系统的发展背景和现状 1 1.2 本文研究的意义和目的 2 1.3 系统开发技术背景 2 2 系统开发环境及技术工具简介 4 2.1 系统开发环境 4 2.2 Tomcat 4 2.3 Servlet 4 2.4 JSP 5 2.5 框架 5 2.5.1 Struts2 5 2.5.2 Spring 7 2.5.3 Hibernate 7 2.6 Eclipse 8 2.7 MySQL DBMS 8 3 系统需求分析 8 3.1 系统概述 8 3.2 系统功能需求 9 3.2.1 用户注册登录 9 3.2.2 商品查询显示 9 3.2.3 购物车订单管理 9 3.2.4 留言板 9 3.2.5 后台管理 10 4 系统设计 10 4.1 数据库设计 10 4.1.1 用户表(User) 11 4.1.2 图书表(Books) 11 4.1.3 订单表(Orders) 12 4.1.4 订单详细表(Order_Items) 12 4.1.5 作者表(Authors) 13 4.1.6 图书作者表(Book_Author) 13 4.1.7 出版社表(Publishers) 13 4.1.8 评论表(Comments) 14 4.2 系统结构设计 14 4.3 系统功能设计 15 5 系统的实现 16 5.1 项目工作区包的层次结构 16 5.2 首页布局及效果显示 17 5.3 各模块实现 19 5.3.1 用户登录注册模块 19 5.3.2 图书查询显示模块 19 5.3.3 订购管理模块 20 5.3.4 后台管理模块 21 5.3 程序的编写和整合 21 5.3.1 基础文件编码 22 5.3.2 xml文件设计 24 5.3.3 特殊效果展示及设计过程 25 6 结束语 27 基于B/S结构的网上图书销售系统的实现 孙建 南京信息工程大学计算机与软件学院,南京 210044 摘要:随着人们购物方式的变化,网上购物逐渐被现代人接受。本文是在这个背景下利用Java EE平台,采用MVC设计思想以及开源的Struts2、Spring、Hibernate框架设计的一套网上图书销售系统。本系统主要实现了会员注册登录、图书的分类检索显示、购物车和账单管理、后台管理几个模块,基本满足了一般网上购书流程的需求。针对网上销售系统信息更新迅速的特点,本文在设计方面采用三层架构的思想,保证了系统良好的可扩展性和灵活性。 关键词:网上购物,Java EE,SSH 1 引言 在网络逐渐渗入到社会生活各个层面的今天,传统的购物方式也正在发生着变革,网上购物逐渐成为了一种重要的购物手段。 本论文是结合一个图书销售系统的设计开发过程完成的,全文共分为5部分,记录总结了系统的开发过程。第一部分是论文的总括,概述了网上购书的背景和现状,本文研究的意义以及部分技术背景。第二部分是本设计所涉及到的技术知识,开发环境的定义以及部分开发工具的介绍。第三部分到第五部分是软件工程的内容,第三部分可行性研究和需求分析,第四部分概要设计,第五部分详细设计以及实现。第六部分是对本文现完成工作的总结以及不足之处的分析总结。 1.1 网上购书系统的发展背景和现状 伴随Internet的出现与大规模使用,电子商务热潮正席卷全球,正成为各行各业的热门话题和竞争的焦点。为积极应对经济全球化趋势,利用计算机技术、网络通信技术和Internet实现商务活动的国际化、网络化、信息化和无纸化,己成为各国商务发展的大趋势。 网上购书是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上交易和在线电子支付的一种新型的商业运营模式。网上书店的诞生虽然只有短短几年的时间,但它却以其交易过程全部在网络上进行的特点,提供了全方面的获取图书信息和双方交流的渠道,进一步拉近了读者和书店的距离,并且其无限延长了营业时间,顾客也不会受到物理空间方面的限制,使交易的质量得到了质的飞跃,促进了经营管理的科学化。 目前国内正在运营的购书网站有很多,有小型的图书管理系统,也有经营得很红火的如卓越、当当等购书网站。卓越、当当等网站的迅猛发展,影射了人们对网上购物的态度,同时也展现出了网上书店良好的发展前景。分析卓越、当当之间激烈的竞争的焦点,信息的实时化是他们竞争中的一个非常重要环节。网上购书系统的信息全部通过网络发布,要把最新的图书信息告知读者,就得快捷地对他们的网站进行更新,这就需要购书网站要有很好的可扩展性和灵活性。 1.2 本文研究的意义和目的 为了设计一个具有良好可扩展性和灵活性的购书网站,本设计采用了MVC的设计思想,将传统的两层架构模式变换成层次更加清晰的三层架构,以后业务内容的扩展只需在原有的基础上增加模块,原有的模块不需进行很大的改动而可以直接利用起来。 本文根据学校的实际需要,参考卓越、当当等网站的运营流程,设计出了一套符合学校内部运营的购书网站,其提供了同卓越、当当等网站相似的购物流程,包括图书的分类查询、图书详细信息的阅览、图书的订购、购物车和订单的管理,另外其还提供了在线聊天的模块,可以使读者能够实时的不依赖其他的聊天软件与书店经营者进行充分交流。本系统主要面向学生群体,提供给学校或者学校附近的读者使用,使交易更加快捷方便。 1.3 系统开发技术背景 购物网站大多架设在B/S结构之上的。B/S(Brower/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化和改进的结构。在这种结构下,用户界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要的事务逻辑在服务器端(Server)实现。这样就大大简化了客户端电脑的载荷,减轻了系统维护与升级的成本和工作量。 购物网站的发展是随着Web的发展进行的,Web的发展经历了静态Web到动态Web的过程。 在静态Web程序中,客户端使用Web浏览器(IE、FireFox等),经过网络连接到服务器端上,使用Http协议发送一个请求,告诉服务器现在需要得到哪个页面,所有的请求交给Web服务器,之后Web服务器根据用户的需要,从文件系统(存放了所有的静态页面的磁盘)取出内容。之后通过Web服务器返回给客户端,客户端接收内容之后经过浏览器接收,得到显示的效果。但是静态Web存在一些问题,其中最主要的是静态Web无法连接数据库,无法访问资源。 动态Web的主要特征是“Web的页面展示效果因时因人而变”,具有交互性。客户端发送请求给服务器端,请求交给一个Web Server Plugin,表示一个Web服务器插件,用于区分是静态请求还是动态请求。若是静态请求,再将请求交给Web服务器,之后Web服务器从文件系统中取出内容,交给客户端浏览器进行解析执行。若是动态请求,将请求交给Web Container,在Web Container中动态地拼凑代码,将拼凑后的代码交给Web服务器,之后通过Web服务器将内容发送回给客户端。 静态网页和动态网页的执行过程如图1-1所示。 静态 拼凑代码 动态 请求 Web Server Plugin Web Server Web Container 客户端 Web Server 图1-1 静态Web和动态Web执行过程 在动态Web中现在的实现手段非常多,较为常见的有三种:Microsoft ASP,ASP.NET,PHP,Java Servlet/JSP。 Microsoft公司进行Web开发是比较早的,最早在国内最流行的是ASP。ASP就是在html语言中增加了VB脚本,但是标准的开发应该是使用ASP + COM,实际使用中,在开发ASP的时候页面代码极其混乱。ASP本身有开发平台的限制:Windows + IIS + SQL Server/Access。ASP.NET主要使用C#语言,性能上有了很大的改善,而且开发迅速,但是依然受限于平台。 PHP是一种在服务器端执行的嵌入html文档的脚本语言,语言的风格类似于C语言。对于不同的数据库PHP采用不同的数据库访问接口,所以访问代码的通用性不强。采用PHP开发的速度比较快,适用于中小型的Web应用。[1, 2] Java 语言是当今程序世界中最为流行的面向对象编程语言之一。目前的Java平台有3个版本,适用于桌面系统的Java SE、适用于创建服务器应用程序和服务的Java EE、还有适用于小型设备和智能卡的Java ME。[3, 4] Java EE是一种利用Java平台简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。Java EE的基础就是核心Java平台的标准版,Java EE不仅巩固了标准版中的许多优点,例如“编写一次,随处运行”的特征、方便存储数据库的JDBC API技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlet API、JSP以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅度缩短投放市场时间的体系结构。 Java EE为搭建具有灵活性、易维护性的商务平台提供了良好的机制: (1) 保留现有的IT资产。由于企业必须适应新的业务需求,利用已有的系统投资,而不是重新制定全盘方案就变得很重要。这样,一个以渐进的方式建立在已有系统之上的服务端平台机制是公司所需求的。 (2) 高效的开发。Java EE允许公司把一些通用的、很繁琐的服务端任务交给中间件厂商去完成。这样开发人员可以把精力集中在如何创建商业逻辑上,相应地缩短了开发时间。 (3) 支持异构环境。Java EE能够开发部署在异构环境中的可移植程序。基于Java EE的应用程序不依赖任何特定的操作系统、中间件、硬件。 (4) 可伸缩性。企业必须要选择一种服务器端平台,这种平台能提供极佳的可伸缩性去满足在其系统上进行运作的大批新客户。基于Java EE的平台的应用程序可被部署到各种操作系统上。 (5) 稳定的可用性。一个服务器平台必须能全天候运转以满足公司客户、合作伙伴的需要。Java EE部署到可靠的操作系统中,他们支持长期的可用性。[5, 6] 随着网上购物的流行,市场需要针对各种业务需求的定制化Web系统。根据网上商店的存在的共性,完全可以先开发一个具有共性的基本模板系统,然后根据不同的业务需求,在模板的基础上进行二次开发。不过这样的系统需要很高的可扩展性和灵活性。本设计在Java EE体系的基础上,选用符合本系统开发需求的第三方框架结构,以后的不同的功能的实现只需在原有的模板的基础上增加一些代码,或实现某些接口,没必要返工重新架构,这样既缩短了开发周期,又节约了开发成本。而且Java的可移植的优势,保证了系统的稳定性。 2 系统开发环境及技术工具简介 本设计主要通过JSP + SSH框架实现,使用SSH框架最大的好处是增强了系统的可扩展性和可维护性。下面就本设计运用的一些技术和工具做一个简单的介绍。 2.1 系统开发环境 开发环境:jdk6.0 + tomcat6.0 + Eclipse GALILEO; Java EE环境:Struts2 + Spring + Hibernate; DBMS:MySQL5.1; 字符编码:UTF-8。 2.2 Tomcat Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被广泛使用,是开发和调试JSP程序的首选。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或者在其中加入新的功能。当在一台机器上配置好Apache服务器,可利用它响应对html页面的访问请求,而Tomcat部分是Apache服务器的扩展,它是独立运行的,当运行Tomcat时,它实际作为一个与Apache独立的进程单独运行的。当配置正确时,Apache为html页面服务,而Tomcat实际上运行JSP页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理html页面的功能,它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。 2.3 Servlet Servlet 是一种服务器端的Java应用程序,具有独立于平台和协议的特征,可以生成动态的Web页面,担当客户请求与服务器端的中间层。与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 2.4 JSP JSP(Java Server Page)基于Java的服务器端的技术,是在传统网页文件HTML中加入Java代码片段(Scriptlet)或JSP标记,并以JSP进行保存。当客户端请求JSP文件时,Web服务器执行该JSP文件,然后以HTML的格式返回给客户。使用JSP最大的好处是可以将表示和处理分离。 2.5 框架 框架,即预制的架构。在J2EE中框架可以做如下解释: (1) 框架是一个应用系统的半成品。框架提供了在应用程序间可复用的公共结构。开发者把框架融入自己的应用程序,并加以扩展,以满足特定的需要。 (2) 框架是一组成熟的,不断升级的组件。框架使用人众多,Bug能得到及时反映和修正,用户的需求也会不断得到增强。 (3) 框架是一个可复用的设计构件。它规定了应用的体系结构,阐明了构件之间的依赖关系、责任分配和控制流程。 (4) 相对于组件,框架具有更强的可定制性。应用系统各不相同,但每个系统都应该有一些标准的服务功能,框架对这些标准的服务功能提供了良好的实现,应用系统的开发只需直接拿过来使用。 不管那个框架,使用它的最终目的都是为了解除耦合,增加复用,增强程序的可扩展性和可维护性。SSH(Struts2,Spring,Hibernate)是Java Web应用开发中最流行的3个框架。 2.5.1 Struts2 Struts2是一个在Struts1基础上,注入了WebWork的设计理念的MVC框架。 简单介绍下MVC设计模式。MVC包含三个基础部分:Model、View、Controller,这三个部分以最小的耦合协同工作,增强程序的可扩展性和可维护性。各个部分的实现技术可以总结如下: (1) Model:JavaBean、EJB的EntityBean; (2) View:JSP、Struts2的taglib; (3) Controller:Struts2的Action。[7, 8] MVC模式的流程如图2-1所示。 返回内容给浏览器或者重定向 (Controller)控制器 (Model)模型 (View)视图 浏览器 提交Http请求 图2-1 MVC模式 Struts2是在Struts1的基础上发展的,但它是以WebWork为设计核心。Struts2体系结构与Struts1的体系结构有很大的差别,Struts1是以ActionServlet作为中心处理器(也叫核心控制器),而Struts2使用的是一个拦截器(FilterDispatcher),这样的好处是将Action类和Servlet API进行了分离。Struts2的简单处理流程如下: (1) 浏览器发送请求; (2) 核心控制器根据struts.xml文件查找对应的处理请求的Action类; (3) WebWork的拦截器链自动对请求应用通用功能,例如:Validation等功能; (4) 如果struts.xml文件中配置method参数,则调用method参数对应的Action类中的method方法,否则调用通用的execute方法处理用户请求; (5) 将Action类中对应方法返回的结果响应给浏览器。[9] Struts2的流程如图2-2所示。 Http请求 Action映射 过滤器 Action代理 配置管理器 struts.xml Action调用 拦截器1 拦截器2 Result 拦截器1 视图(JSP)等 拦截器2 Http响应 图2-2 Struts2流程图 2.5.2 Spring 使用Spring的目的是使对象与对象(模块与模块)之间的依赖不需要通过实现类实现,而是利用容器来管理。 Spring是一种轻量级框架,轻量级框架最显著的特点就是非侵入性。所谓非侵入性是指Spring框架的API不会在业务逻辑上出现,也就是业务逻辑中不能出现与业务逻辑无关的代码。首先针对应用而言,这样我们才能将业务逻辑从当前应用中剥离出来,在其他应用中实现复用;其次针对框架,由于业务逻辑中没有Spring的API,所以业务逻辑也可以从Spring快速移植到其他框架。[10] Spring提供了容器功能。容器可以管理对象的生命周期,对象与对象之间的依赖关系。可以写一个配置文件(通常为xml文件),在上面定义对象的以及对象间的依赖关系。在容器启动之后,这些对象就被实例化好了,而且依赖关系也建立好了。 Spring的核心是IoC,即“控制反转”,意思是控制权由应用代码转移到外部容器。[11] 2.5.3 Hibernate Hibernate是一种Java语言下的开源的对象关系映射(ORM)框架。它为面向对象的领域模型到传统的关系数据库的映射,提供了一个方便的解决方案。 这种解决方案叫做ORM(Object-Relation Mapping)模式。ORM是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将Java程序中的对象自动持久化到关系数据库中。本质上就是将数据从一种形式转换到另一种形式。 Hibernate不仅负责从Java类到数据库表的映射(还包括从Java数据库类型到SQL数据类型的映射),还提供了面向对象的数据查询机制,从而极大地缩短了手动处理SQL和JDBC上的开发时间。 Hibernate的核心接口一共由5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务化控制。[12, 13] 2.6 Eclipse Eclipse是一个开放源代码的、基于Java的可扩展的开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Tools,JDT)。 虽然很多用户乐于将Eclipse当作Java IDE使用,但Eclipse的目标远非如此。Eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,它允许他们构建与Eclipse环境无缝集成的工具。 2.7 MySQL DBMS MySQL是一个小型关系数据库管理系统。目前被广泛应用在Internet上的中小型网站中。由于其体积小、速度快、尤其是开放源码的特点,许多中小型网站为了降低网站的总体拥有成本而选择了MySQL作为网站数据库。 3 系统需求分析 解决一个问题,最关键的是要明确:要解决的问题是什么?对于软件工程,首先需要进行的阶段工作便是“问题定义”。系统分析员需要提交关于问题性质、工作目标和规模的理解性文档。接着在较抽象的高层次上研究问题的范围,探索这个问题是否值得去解,是否有可行的解决方法,这一阶段叫做“可行性研究”。 如果项目可行,那下一个阶段便是“需求分析”。这个阶段仍然不是具体地解决问题,而是准确地确定为了解决这个问题,目标系统必须做什么,即是确定目标系统必须具备哪些功能。在需求分析阶段确定的系统逻辑模型是以后设计和实现目标系统的基础,因此必须准确完整地体现用户的要求。 3.1 系统概述 本系统是基于B/S结构的网上图书销售系统,符合主流的网上购物流程,适用中小商店的进行网上业务的运营管理。 系统提供2种会员权限:会员客户权限和管理员权限。没有登录的客户可以通过浏览器按照自己的需求搜索商品,也可以从主页上获取新书或者畅销书的基本信息,如果需要进行订购,需要进行会员登录或者新会员注册。注册成为会员需要进行必要信息的填写,以确保用户信息的可靠性,只有注册成为会员才能进行相关的购物操作。管理员权限也就是网店的经营者具有的权限,提供相应的登录信息后可以进入后台管理页面,在这里可以进行商品信息的增加、修改和删除,对来访客户的信息进行统计管理,查看并管理订单情况。 3.2 系统功能需求 参考现今成功的网上商店的实例,结合本设计系统针对的具体用户的具体要求,本系统主要有用户注册登录、图书查询显示、购物车订单管理、留言公告板、后台管理几个功能块。 3.2.1 用户注册登录 普通用户可以进行商品的搜索,商品信息的浏览。但如果需要订购商品、留言或者进行在线聊天就必须注册成为本店的会员用户。注册会员时需提供读者的基本信息情况,包括用户名、密码、地址、所在城市、所在省。如果已经是本店的会员就可以直接提供登录名和相应密码进行登录。登录后的信息一直保留到用户关闭当前浏览器,或者通过安全退出链接进行退出。登录或者注册成功后跳转到主页面。 3.2.2 商品查询显示 用户可以根据图书类别、图书名、出版社、作者、售价等条件,选择其中一个类别并指定相应关键字检索本书店中相符合的图书情况。对于某个商品,需要用一个独立页面显示其具体信息,页面中包括图书的名称、售价、出版社、作者、封面式样、内容概述等信息。读者如果有需要进行订购,可以在这个页面通过一个订购按钮指定需要订购的本数进行订购。 3.2.3 购物车订单管理 购物车主要用于记录用户当前的购物情况,包括购买商品名称、件数、单价、总价等信息。并不会持续化到数据库,这个购物状态一直保留到用户关闭当前浏览器为止。 订单是某来访用户购物情况的体现。除了上面从购物车获取的信息外还包括必要订单信息的填写,内容包括顾客名、订单日期、发货日期、发货地点、发货城市、发货省、邮编等信息。填写完成后所有的订单信息会更新到对应的数据库表中。 3.2.4 留言板 读者登录后通过留言板链接可以进入到网店的留言板。本页面提供一个留言输入的窗口,在这里读者可以对网点进行评价,也可以提出自己的意见和建议。输入窗口的下面显示以往别的读者的留言信息或者店主的回复信息。 3.2.5 后台管理 登录系统时,如果给出的是管理员账号密码,系统会判别出来,然后跳转到后台管理主窗口。后台管理模块主要包括图书管理、会员管理、公告管理等几个子模块。 图书管理模块提供图书的新增和修改两个选项卡。通过新增选项卡添加新的图书信息。点击修改选项卡列出数据库中所有图书的信息一览,可以点击对应图书后面的修改按钮跳转到图书信息修改页面,也可以直接点击删除按钮删除图书信息。图书信息包括书名、作者、出版日期、出版社、成本、售价、类别、封面式样、内容概述等信息。 会员管理和公告管理类似于图书管理,就是对相应的信息进行增加、修改和删除处理。这里就不加过多的重复叙述。 4 系统设计 在需求分析阶段确定了系统逻辑模型,接下来的工作是要把软件做什么的逻辑模型转化为怎么做的物理模型,即如何去实现这些需求。这一阶段叫做“概要设计”。本系统的概要设计主要包括数据库设计、系统结构设计以及界面流程设计。 4.1 数据库设计 数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。[14] 本系统需要使用用户、订单、图书、留言板等数据信息,分析数据内容和相互之间的关系,绘制E-R图如图4-1所示。 n n m 1 n m n 1 用户 订单 图书 出版社 作者 订购 组成 出版 编写 图4-1 数据库表E-R图(属性没有画出) 根据E-R图以及数据库设计的一般原则, 设计出了用户表、图书表、订单表、订单详细表、作者表、图书作者表、出版社表、评论表、公告表、推荐图书表等多张表,部分表结构如下。 4.1.1 用户表(User) 用户表记录用户的ID、密码等信息,其中ID设置为主键,唯一标识一个用户。表中设置了一个权限字段,用不同的标志区分普通来访用户和管理员用户。具体的表结构描述如表1所示。 表1 用户表的字段说明 编号 字段名称 字段类型 字段说明 1 User_id Varchar(10) 用户号,非空,主键 2 User_password Varchar(10) 用户密码,非空 3 User_name Varchar(10) 用户姓名 4 Mail Varchar(20) 用户邮址 5 Address Varchar(20) 用户地址 6 City Varchar(20) 用户所在城市 7 State Varchar(20) 用户所在省 8 Zip Varchar(6) 邮编 9 Authority Int 用户权限标志,非空 4.1.2 图书表(Books) 图书表记录图书有关的信息,以图书编号为主键,出版编号设置为外键,一本图书对应一个出版社。具体的表结构描述如表2所示。 表2 图书表的字段说明 编号 字段名称 字段类型 字段说明 1 Isbn Varchar(10) 图书编号,非空,主键 2 Title Varchar(20) 图书名称 3 Pic Varchar(500) 图书封面图片的路径 4 Pub_date Varchar(10) 出版日期 5 Pub_id Varchar(10) 出版社编号,非空,外键 6 Cost Numeric(5,2) 成本 7 Retail Numeric(5,2) 售价 8 VipRetail Numeric(5,2) VIP售价 9 Category VarChar(20) 种类 10 Remarks Mediumtext 图书简介 11 Chapter Mediumtext 图书段落信息 续表2 编号 字段名称 字段类型 字段说明 12 Discount Numeric(5,2) 特价 13 Tsum Int 累计售出 14 Stock_date Varchar(10) 进货日期 4.1.3 订单表(Orders) 订单表记录订单的相关内容,以订单号唯一标识,用户号为外键,一个订单对应一个用户。具体的表结构描述如表3所示。 表3 订单表的字段说明 编号 字段名称 字段类型 字段说明 1 Order_id Varchar(10) 订单号,非空,主键 2 Ship_name Varchar(10) 收货人姓名 3 User_id Varchar(10) 用户号,非空,外键 4 Ship_phone Varchar(11) 收货人电话 5 Order_date Varchar(10) 订货日期 6 Ship_date Varchar(10) 发货日期 7 Ship_address Varchar(20) 发货地址 8 Ship_city Varvhar(20) 发货城市 9 Ship_state Varchar(20) 发货省 10 Ship_zip Varchar(6) 发货邮编 11 Ship_cost Numeric(5,2) 运输价格 12 Remarks Varchar(1000) 备注 4.1.4 订单详细表(Order_Items) 订单明细为每个订单对应的订购图书的信息,以订单号和图书编号作为主键,一个订单可以对应多个图书。具体的表结构描述如表4所示。 表4 订单明细表的字段说明 编号 字段名称 字段类型 字段说明 1 Order_id Varchar(10) 订单号,非空,主键,外键 续表4 编号 字段名称 字段类型 字段说明 2 Isbn Varchar(10) 图书编号,非空,主键,外键 3 Quantity Numeric(3) 购买数量 4.1.5 作者表(Authors) 作者表有作者编号和作者名称2个字段,描述如表5所示。 表5 作者表的字段说明 编号 字段名称 字段类型 字段说明 1 Author_id Varchar(10) 作者编号,非空,主键 2 Author_name Varchar(20) 作者姓名 4.1.6 图书作者表(Book_Author) 图书作者表记录各图书对应的作者信息,设置图书编号和作者编号为主键,一本图书可以对应多个作者。具体的表结构描述如表6所示。 表6 图书作者表的字段说明 编号 字段名称 字段类型 字段说明 1 Isbn Varchar(10) 图书编号,非空,主键,外键 2 Author_id Varchar(10) 作者编号,非空,主键,外键 4.1.7 出版社表(Publishers) 出版社表描述出版社的相关信息,具体的表结构描述如表7所示。 表7 出版社表的字段说明 编号 字段名称 字段类型 字段说明 1 Pub_id Varchar(10) 出版社编号,非空,主键 2 Pub_name Varchar(20) 出版社名 3 Contact Varchar(20) 联系人 4 Phone Numeric(12) 联系电话 4.1.8 评论表(Comments) 评论表描述的是用户对图书的留言评论信息,设置编号为主键唯一标识。具体的表结构描述如表8所示。 表8 评论表的字段说明 编号 字段名称 字段类型 字段说明 1 Com_id Varchar(10) 评论编号,非空,主键 2 Com_date Date 评论日期 3 Content Varchar(100) 评论内容 另外还有公告表等,由于表结构简单,为了节省篇幅,没有具体列出。 4.2 系统结构设计 本设计由系统前台和后台管理两个部分组成。前台部分功能结构图如图4-2所示。 商品展台 用户管理 购物管理 系统前台功能模块 用户注册 新品上架 购物车 我的订单 特价商品 销售排行 用户登录 管理员登录 商品查询 公告 图4-2 前台功能模块图 后台管理主要对商城内的一些基础数据进行有效管理。包括购物车管理、商品管理、用户管理、公告管理等。具体结构如图4-3所示。 系统后台管理模块 购物车管理 商品管理 用户管理 用户信息管理 添加新用户 商品信息管理 添加新商品 公告管理 留言板管理 图4-3 后台管理模块图 4.3 系统功能设计 迁移图表现出了系统各种操作流程跳转到的页面,以及根据输入信息的不同出现的各种不同的反应。具体迁移图如图4-4所示。 登录(lonin.jsp) 注册(register.jsp) 图书列表(bookList.jsp) 聊天室(chat/main.jsp) 留言板(discuss.jsp) 公告(noticeList.jsp) 管理员(adminLogin.jsp) 关于我们(about.jsp) 错误页面(error.jsp) 图书详细(bookMessage.jsp) 公告信息(notice.jsp) 我的账单(orderItems.jsp) 购物车(orderList.jsp) 帮助(help.jsp) 订购成功(orderSuccess.jsp) 登录提示(needLogin.jsp) 增加图书(addBook.jsp) 管理图书(manageBooks.jsp) 更新图书(updateBook.jsp) 首页(index.jsp) 生成订单成功(pubOrderSuccess.jsp) 图4-4 系统迁移一览图 在服务器打开的情况下,在浏览器地址栏中输入地址http://localhost:8080/NuistBookShop/BookAction!indexAction即可进入本系统的首页。在首页的顶部导航栏中提供了登录、注册、购物车、我的订单、搜索、新书到货、特价图书、销售排行、聊天室、留言板等主要的模块的链接。根据寻常的网上购物的流程,可以在搜索栏中选择搜索类型,指定相应关键词,点击搜索按钮进行图书的搜索,随后系统在后台会对数据库中的内容进行检索,发回符合条件的图书基本信息显示到前台搜索结果中。读者可以从图书的基本信息中寻找自己感兴趣的图书,如果需要更加详尽的信息可以点击对应图书的详细信息按钮,系统会迁移到具体图书信息明细页面。在这个页面中会提供一个订购按钮,读者在指定需要订购的本数后,系统弹出订购成功的提示,表明读者的购书意向已经被系统接收,整个订购流程结束。读者在顶部导航的购物车中会看到当前自己的订购情况。这个列表信息也可以从我的订单中获取,并且可以在此处取消订购。当决定确实需要订购的时候,在我的订单中填写完整订单信息,点击确定,系统会提示订购成功的信息,表明订单已经成功生成了。在进入我的账单、留言板和聊天室之前,系统会进行登录信息的检查,如果当前没有登录系统会跳转到登录页面,登录后就能在上述3个页面中进行相应操作了。管理员可以通过管理员入口,提供必要的登录验证后,进入后台管理页面。 5 系统的实现 设计是根据具体的功能需求提出了系统的大概实现手段以及表现手法,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 图书 销售 系统 毕业论文
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文