




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业论文 题 目: 电子商务网站设计学生姓名: 学院名称:计算机网络工程系所学专业:计算机网络技术指导教师: 二零一二年五月随着全球信息网络的发展,internet在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式,彻底改变了人类工作,学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。internet正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。更重要的是,大部分信息都是免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。互联网真是商机无限。因此,任何一个企业要在21世纪生存,就必须迅速地改变传统的经营观念,跟上当今世界发展的最新潮流,加入到电子商务大潮中。本系统采用ssh整合技术,构建一个简单的网上购物系统。基本的网络购物功能都能够实现,也增加了公告板信息的展示,后台管理和前台展示分离,便于管理。经过不断的改进和调试,系统逐渐完善,最终完成了一个标准化的电子商务交易平台。关键词:电子商务; jsp;网上购物目录绪论11、系统开发基本环境配置31.1、myeclipse介绍31.2、tomcat服务器31.3、sql server 2008数据库概述41.4、tomcat安装41.5、搭建过程详解52、系统使用技术概述62.1、j2ee平台简介62.2、struts框架技术72.3、hibernate框架技术概述8一、orm概述8二、hibernate核心原理82.4、spring框架技术概述9一、spring的初衷:9二、spring的目标:9三、spring的基本组成:92.5、spring框架技术详解102.6、名词解释113、需求分析与系统设计113.1、目标与要求113.2、系统设计思想123.3、系统功能模块图12一、系统的前台功能模块图12二、系统的后台功能模块图133.4、数据库概念模型设计134、电子商务网站数据库详细设计154.1、数据库表的设计154.2、数据库物理设计175、前台模块设计与实现175.1 、用户模块171、用户注册18二、用户登录20三、用户信息修改21四、用户登出225.2 、主页模块22一、分类浏览23二、商品检索24三、商城广告26四、特价商品26五、新品上架29六、时间信息展示315.3、购物车模块315.4、订单查看模块336、后台模块设计与实现336.1.系统后台框架设计34一、管理员的设计34二、系统后台主页面设计34三、后台退出356.2 会员管理356.3 商品管理366.4订单管理386.5公告管理397、系统问题描述40后记41致谢42参考文献43绪论随着全球信息网络的发展,internet在世界上已不仅仅是一种技术,更重要的是它已成为一种新的经营模式,彻底改变了人类工作,学习,生活,娱乐的方式,已成为国家经济和区域经济增长的主要动力。internet正成为世界最大的公共资料信息库,它包含无数的信息资源,所有最新的信息都可以通过网络搜索获得。更重要的是,大部分信息都是免费的,应用电子商务可使企业获得在传统模式下所无法获得的巨量商业信息,在激烈的市场竞争中领先对手。互联网真是商机无限。电子商务(e-commerce)交易的个性化、自由化可为企业创造无限商机,降低成本,同时可以更好地建立同客户、经销商及合作伙伴的关系,为此,许多公司积极拓展电子商务,为客户服务,进行价值链集成。当今世界网络、通信和信息技术的发展,internet在全球迅速普及,使得商业空间发展到全球的规模,同时也使得现代商业企业需要具有不间断地供货能力、不断增长的客户需求和不断增长的全球竞争三大特征,这使得任何一个商业组织都必须调整自己的经营方式和产业结构,以适应新的市场发展的需要。随之出现了日益走入我们生活的网上购物。网络购物正适应了当今社会快节奏的生活,使顾客足不出户便可以方便快捷轻松的选购自己喜欢的商品。网上购物系统作为b2b,b2c(business to customer),即(企业对消费者),c2c(customer to customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。从长远来看,企业对消费者的电子商务将最终在电子商务领域占据重要地位。但是由于各种因素的治愈,目前以及比较长的一段时间内,这个层次的业务还只能占比较小的比重。它是以互联网围主要服务提供手段,实现公众消费和提供服务,并保证与其相关的付款方式的电子化,它是随着万维网的出现而迅速发展的,可以将其看作是一种电子化的零售。当今欧美等发达国家电子商务发展迅速,先进的技术服务使得他们国家的生活水平得到了更高层次的提升。中国目前也在赶上电子商务热潮的脚步,政府也积极提倡并且支持电子商务技术的研发,要跟上网络时代的大潮流,电子商务的发展一定不能停滞。一个国家电子商务的发展程度可以反映出一个国家的信息技术水平和科技水平。我国目前正处于持续发展中,相信在不久的未来可以涌现出更多像淘宝、京东等大型交易电子商务网站。作为大学中的一个计算机工程系的学生,做一个电子商务网站是很有必要的。通过做一个完整的毕业设计,可以让学生得到一个很好的锻炼,可以让学生把大学中所学的知识理论全部在这上面运用,同时结合实践,提高动手能力,为以后走进对应的工作岗位有着非常重要的意义。本电子商城网站是建立一个商品销售平台,这个平台是企业发展及走向全球所迫切需要的。为企业单位搭建一个商品发布、交易的平台,企业将销售商品在此平台发布,由网站相关管理人b/s结构员管理,这样既能提高企业的销售量,扩大销售范围,同时也能节约企业开办更多实体店的费用,从而节约了大量人力物力,于是本电子商务网站就应运而生了。1、系统开发基本环境配置本网站是基于j2ee的开发平台ssh(struts+spring+hibernate)来进行企业能源管理系统的开发,该平台客服了使用传统的j2ee平台开发系统时的不足,保留了三个开源框架各自的优势,让它们彼此在各层次上协调工作实现层次直接的低耦合,大大的提高了系统的扩展性和可移植性。sql server 2008 作为网站的后台数据库,方便对数据库中的信息进行管理。电子商务系统能够合理利用资源,省去了中间商,即为生产商带来了效益,也给消费者赢得实惠。电子商务系统主要包括两个方面,前台展示和后台管理。下面主要对系统相关技术,工具,运行环境做简单介绍。1.1、myeclipse介绍myeclipse企业级工作平台(myeclipse enterprise workbench ,简称myeclipse)是对eclipseide的扩展,利用它我们可以在数据库和javaee的开发、发布以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的javaee集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持html,struts,jsp,css,javascript,spring,sql,hibernate。1.2、tomcat服务器tomcat是一个免费、开源的jave web服务器。java web 服务器在java ee规范中也被称为容器(container),因为所有的web应用程序都需要部署到容器中运行。web服务器管理着web应用程序,并提供web应用程序所需的一切资源。tomcat是apache 软件基金会(apache software foundation)的jakarta 项目中的一个核心项目,由apache、sun 和其他一些公司及个人共同开发而成。由于有了sun 的参与和支持,最新的servlet 和jsp 规范总是能在tomcat 中得到体现,tomcat 5 支持最新的servlet 2.4 和jsp 2.0 规范。系统需要选择一个成熟的java应用服务器。因为tomcat 技术先进、性能稳定,而且免费,因而深受java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的web 应用服务器。本系统采用apache tomcat6.0作为应用服务器。1.3、sql server 2008数据库概述sql server 2008是microsoft公司推出的大型数据库管理系统,它建立在成熟而强大的关系型基础上,可以很好的支持客户机/服务器网络模式,能够满足各种类型的企事业单位对构建网络数据库的需求。它具有易用性、可扩展性、可靠性等特点,是目前使用最为广泛、普及率最高的数据库管理系统之一。1.4、tomcat安装tomcat的使用分为两个类型,一个是安装版的像普通安装程序一样安装后使用,另一种是解压版本的,解压后放到任意的目录即可以使用。在该系统中,我采用的是解压版本的,需要进行环境变量的设置,和jdk安装在一个目录中。将jdk的安装文件解压到指定的目录中。我的jdk路径和tomcat的路径全部在d盘,具体路径如下:tomcat:d:tomcat jdk:d:jdk图1.1环境变量配置图1.1是对tomcat的环境变量的简单配置。由于8080端口经常会被占用,特别是在装有oracle数据库的机器中,在这里需要对tomcat的端口进行修改。当端口被占用的时候可以通过360的防火墙进行设置,关闭占用的端口。具体操作步骤:右击360防火强选择查看网络连接状况,就会看到具体的端口占用状态,找到占用的端口关闭就可以了。为了克服端口占用的情况,我在这里对端口就行了修改,具体操作过程如下:打开tomcat安装目录下conf目录下的server.xml文件。用查找功能找到8080修改成为9000,这样可以避免和其它应用程序公用9000端口。1.5、搭建过程详解运行环境的配置是项目开发的第一步,良好的开发环境对项目开发的成功可以起到重要的做用。用一个自己属熟悉的、先进的开发环境、能起到事半功倍的效果。本项目根据网上商店的需求,集合当前的主流开发工具,数据库选用了sql server 2008,开发工具选用了myeclipse8.5,应用服务器(jsp容器)使用了tomcat,这些都是目前主流的开发工具,开发效率较高,其中tomcat是开源产品,可以免费获得,大大降低了开发成本。b/s(browser/server)结构来构建系统。b/s是指浏览器/服务器系统。在myeclipse8.5中配置tomcat,详细的配置如图1.2:图1.2 tomcat配置在对tomcat配置完成后,在浏览器地址栏中输入一下内容:http:/localhost:9000会出现tomcat的欢迎页面。2、系统使用技术概述2.1、j2ee平台简介j2ee核心是一组技术规范技术与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循j2ee架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。j2ee体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。通过提供统一的开发平台,j2ee降低了开发多层应用的费用和复杂性,同时提供对现有应用程序集成强有力支持,完全支持enterprise javabeans,有良好的向导支持打包和部署应用,添加目录支持,增强了安全机制,提高了性能。这种基于组件,具有平台无关性的j2ee 结构使得j2ee 程序的编写十分简单,因为业务逻辑被封装成可复用的组件,并且j2ee 服务器以容器的形式为所有的组件类型提供后台服务. 因为你不用自己开发这种服务,所以你可以集中精力解决手头的业务问题。 容器和服务容器设置定制了j2ee服务器所提供得内在支持,包括安全,事物处理,jndi(java naming and directory interface)寻址,远程连接等服务,以下列出最重要的几种服务: j2ee安全(security)模型可以让你配置 web 组件或enterprise bean,这样只有被授权的用户才能访问系统资源. 每一客户属于一个特别的角色,而每个角色只允许激活特定的方法。你应在enterprise bean的布置描述中声明角色和可被激活的方法。由于这种声明性的方法,你不必编写加强安全性的规则。 j2ee 事务管理(transaction management)模型让你指定组成一个事务中所有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元. 当客户端激活一个enterprise bean中的方法,容器介入一管理事务。因有容器管理事务,在enterprise bean中不必对事务的边界进行编码。要求控制分布式事务的代码会非常复杂。你只需在布置描述文件中声明enterprise bean的事务属性,而不用编写并调试复杂的代码。容器将读此文件并为你处理此enterprise bean的事务。jndi 寻址(jndi lookup)服务向企业内的多重名字和目录服务提供了一个统一的接口,这样应用程序组件可以访问名字和目录服务. j2ee远程连接(remote client connectivity)模型管理客户端和enterprise bean间的低层交互. 当一个enterprise bean创建后,一个客户端可以调用它的方法就象它和客户端位于同一虚拟机上一样. 生存周期管理(life cycle management)模型管理enterprise bean的创建和移除,一个enterprise bean在其生存周期中将会历经几种状态。容器创建enterprise bean,并在可用实例池与活动状态中移动他,而最终将其从容器中移除。即使可以调用enterprise bean的create及remove方法,容器也将会在后台执行这些任务。2.2、struts框架技术struts是一个免费的,开源的java web开发框架,提供mvc体系结构,以及其它的工具比如常用的标签,表单数据的验证等。struts是java开发中应用最广泛的mvc框架,有着详细的文档,广泛的支持。struts目前包括1.x版本与2.x版本,二者都是mvc的框架,但是设计思想,实现方式以及使用玩去不一样。struts 1.x就是原来的struts框架。后来的struts 2.x为原来的webwork框架。webwork框架也是apache的一个开源框架,参考struts 1.x开发的。尽管从名称是那个看,struts已经升级到struts 2了,但是这并不意味着struts 1.x 已经过时。struts 1与struts 2 仅仅是两种不同形式的mvc框架,代表着两种不同的设计思想。目前网络上人有很多正在运行的web应用是用struts1.x框架的。在本系统中采用struts1.x技术对系统中的mvc框架进行支持。mvc (model view controler)本来是存在于web应用程序中的,m是指数据模型,v是指用户界面,c则是控制器。使用mvc的目的是将m和v的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。c存在的目的则是确保m和v的同步,一旦m改变,v应该同步更新。2.3、hibernate框架技术概述一、orm概述hibernate是一种orm框架,与各种数据库、sql语句打交道,是数据持久化的一种解决方案。在商业系统的开发中,数据持久化是比较核心的技术之一。传统的数据持久化编程中,需要使用jdbc并配合大量的sql语句。connection,statement,resultset等jdbc api与sql夹杂在一起,开发效率都很低下。后来出现了dao模式,所有的jdbc api与sql语句均移到了dao层,但是仍然需要编写大量的sql语句。开发业务负责、数据表繁多的系统,无疑是噩梦一样。dao层其实很有规律。插入数据时,无非就是把pojo拆分成各种属性然后并拼拼装为sql语句,保存进数据库;读取数据是,无非就是用sql把pojo的各种属性从数据库读出来,然后并装为pojo对象返回。而且pojo与数据表、pojo属性与数据表的列,都存在着某种固定的映射关系。如果能够用程序自动生成sql语句就好了。orm就是做这种工作的框架。它通过配置文件或者使用java注解把java对象映射到数据库上,自动生成sql语句并执行。orm技术已经十分成熟,广泛应用于各种大规模的系统中。二、hibernate核心原理orm的思想由来已久,市面上也出现了多种orm框架。其中最成功的是hibernate,hibernate使用简单,功能强大、对市面上所有的数据库都有良好的支持。jdbc编程中,开发者通过在dao层编写insert sql语句插入数据,编写update语句保存数据,编写delete语句删除语句,通过select语句查询数据。在hibernate中,原理也是一样的,只不过hibernate充当了dao层,根据pojo与实现类的映射配置自动生成相应的sql语句。从控制台输出可以看到hibernate生成的sql语句。jdbc中的sql语句是由开发者事先写好的,而hibernate中的sql语句是自动生成的。因此如果实体类发生变化,则在jdbc中需要修改所有的相关sql语句,这样会使工作量放大,而在hibernate中只需要修改实体类配置。2.4、spring框架技术概述spring的一个最大的目的就是使j2ee开发更加容易。同时,spring之所以与struts、hibernate等单层框架不同,是因为spring致力于提供一个以统一的、高效的方式构造整个应用,并且可以将单层框架以最佳的组合揉和在一起建立一个连贯的体系。可以说spring是一个提供了更完善开发环境的一个框架,可以为pojo(plain old java object)对象提供企业级的服务。一、spring的初衷:1、j2ee开始应该更加简单。2、使用接口而不是使用类,是更好的编程习惯。spring将使用接口的复杂度几乎降低到了零。3、为javabean提供了一个更好的应用配置框架。4、更多地强调面向对象的设计,而不是现行的技术如j2ee。5、尽量减少不必要的异常捕捉。6、使应用程序更加容易测试。二、spring的目标:1、可以令人方便愉快的使用spring。2、应用程序代码并不依赖于spring apis。3、spring不和现有的解决方案竞争,而是致力于将它们融合在一起。三、spring的基本组成:1、最完善的轻量级核心框架。2、通用的事务管理抽象层。3、jdbc抽象层。4、集成了toplink, hibernate, jdo, and ibatis sql maps。5、aop功能。6、灵活的mvc web应用框架。2.5、spring框架技术详解spring是一个开源框架,它由rod johnson创建。它是为了解决企业应用开发的复杂性而创建的。spring使用基本的javabean来完成以前只可能由ejb完成的事情。然而,spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何java应用都可以从spring中受益。简单来说,spring是一个轻量级的控制反转(ioc)和面向切面(aop)的容器框架。轻量从大小与开销两方面而言spring都是轻量的。完整的spring框架可以在一个大小只有1mb多的jar文件里发布。并且spring所需的处理开销也是微不足道的。此外,spring是非侵入式的:典型地,spring应用中的对象不依赖于spring的特定类。控制反转spring通过一种称作控制反转(ioc)的技术促进了松耦合。当应用了ioc,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为ioc与jndi相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,spring不应该被混同于传统的重量级的ejb容器,它们经常是庞大与笨重的,难以使用。 框架spring可以将简单的组件配置、组合成为复杂的应用。在spring中,应用对象被声明式地组合,典型地是在一个xml文件里。spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为spring中的各种模块提供了基础支持。2.6、名词解释html: hypertext markup language超文本标记语言。css: cascading style sheets层叠样式表,是一种标记语言,它不需要编译可以直接由浏览器执行。javascript: 一种可以控制html元素的网络脚本语言,也是一种在浏览器端执行的解释性编程语言,它具有灵活性好、功能强大的特点,是因特网上最流行的脚本语言。jsp: java server page,是sun公司开发的一种服务器端动态页面生成技术,主要组成部分是html元素以及少量的java代码。servlet: sun公司制定的一种用于扩展web服务器功能的组件规范。tomcat: servlet容器,第三方开源门户apache公司实现了servlet容器规范,用于执行servlet的服务器。mvc: 这是一种架构模型。m表示model层,v表示view层,c表示controller层,model层包括实体模型和业务操作,controller用来控制用户的所有请求和操作,view用来显示请求的视图。jquery:是一个开源的javascript框架,功能很强大,可以使编码变得更加简洁。jdbc: java database connectivity,java语言访问数据库的一套接口集合。b/s: 即browser/server(浏览器/服务器)结构,b/s最大的优点就是可以在任何地方进行操作而不用安装专门的软件,只要有一台能上网的电脑就能使用,客户端零维护。struts1:一种典型的mvc框架,本系统的主要灵魂。3、需求分析与系统设计3.1、目标与要求通用电子商务平台的设计是为了让更多的企业拥有自己的网上交易活动,扩展他们的经营模式。作为一个商业性质的电子商务平台,系统必须满足企业的业务要求,与企业的商业活动真正接轨,形成服务一体化。系统界面设计一定要友好,操作安全,服务方便快捷。系统总体流程必须合理规范,无逻辑错误。数据库必须设计合理,数据的存储一定要安全化。同时,这是一个网站,必须要考虑到服务器的承载压力和访问速度。作为一个大学生的毕业设计,它也必须符合大学生毕业设计的规范。3.2、系统设计思想本系统主要采用b/s三层模式,同时利用典型的mvc框架struts1设计完成。本系统主要包括前台交易系统和后台管理系统,前台功能如下:a. 用户模块,其中包括用户注册、登录、登出以及修改个人基本信息。b. 主页显示模块,其中包括分类浏览、按照书名检索以及书城快讯功能。c. 购物车模块,该模块实现商品的添加、数量修改,商品删除、清空、结算。d. 订单模块,该模块实现订单信息的查询功能功能。后台功能如下:a. 会员管理,主要实现用户列表、分页显示、用户删除、修改、添加、详细显示以及按照用户id或者邮箱进行搜索单个用户功能。b. 订单管理,主要是查询订单的信息。c. 商品管理,主要实现商品列表、商品详细信息、商品添加、删除以及分类修改、商品基本信息修改。d.公告管理,主要实现类别添加、删除、修改、类别子类查询等功能。e. 管理员安全退出。3.3、系统功能模块图一、系统的前台功能模块图根据系统的功能,对前台功能模块进行分析。前台用户模块主要包括商品信息查看,分类展示,商品查询,用户注册,用户登录,用户购买商品等7个主要模块。前台用户模块如图3.1所示。前台功能模块块最新商品商品展示商品查询商品购买分类展示用户注册用户登录图3.1用户前台模块图二、系统的后台功能模块图从专业方面上讲说,前台完成的是单纯的网页,几乎不具有功能性,全部的数据都是通过数据库查询得到的,通过框架技术将数据库中的信息合理的展示出来;后台主要是对前台信息的一种管理,包括大量的增删改查的功能点和前台页面信息展示的信息。管理员模块的主要功能是电子商务商城网站的维护和管理,如商品的添加、修改、删除等管理操作;商品大类的添加、查看、删除、修改等管理操作;管理员的管理;用户的管理;订单的管理等操作。后台信息的控制主要针对的是对前台信息展示的一种控制。包括分类信息的展示,会员登录,商品购买等的信息。最终都会进入到后台管理界面,进行各种操作。3.4、数据库概念模型设计数据库设计(database design)是指对一个给定的应用环境,构造最优秀的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的使用需求(信息要求和处理要求)。数据库的设计分成几个阶段,要进行需求分析,再进行概念设计和物理逻辑设计等,其中要对表和字段进行设计以及画出e-r图等。大多数网络应用系统都需要后台数据库的支持,对于这个电子商城网站来说,也不例外,在windows操作系统中,access和sql server是最常见的网络后台数据库,在互联网上,很多人出于价格方面的考虑选择access数据库,操作起来比较简单,但实现比较大的网络应用系统,选择sql server 数据库要好。本系统选择sql server 2008数据库存储数据,sql server 2008拥有友好的用户界面和简单的数据表的操作,易学易懂,通过向导创建表、窗体、查询以及报表,自动绘制数据统计图和绘图功能,具有有效管理和分析数据的功能。数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率及实现的效果产生影响,合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。对数据库进行设计的时候首先要对其进行需求分析。需求分析阶段要熟悉用户的需求,对未来需求变化进行了解,还要重视输入和输出,在这里还要注意一些细节问题,在定义数据库表和字段的需求(输入)时,首先应检查现有的或者已经设计出的报表、查询和视图(输出)以确定为了支持这些输出哪些是必要的表和字段。还要创建数据字典和e-r图,定义对象的命名规范等。用户的需求具体体现在各种信息的提供、保存、更新和查询方面,这就要求数据库结构能够充分显示各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。通过系统功能分析,总结出需求信息:用户分为两种分别为管理员和会员,管理员通过前台的一个连接进入到后台管理页面当中。一般用户和注册用户无需登录就可以查看商品信息,只有注册用户可以进行购买。注册用户登录后在填写订单时从数据库中调出用户注册信息。商品按照类别来分类,每一个商品都对应一个分类,一个用户可以购买多个或多种型号的商品,用户一次可以购买多种商品,每一种商品生成一条订单详细信息记录,然后多个这样的订单详细信息组成一个订单列表,每一个订单列表与一个会员对应,发货时以订单列表为单位,并产生一个订单号,用户可以根据订单号进行查找自己的订购信息,这些都保存在数据库里的。根据系统功能分析和需求总结,得到各个数据项,并且根据数据项对数据库进行设计,得到各个实体的记录集。确定数据项和数据结构后,就要设计满足用户需求的各个实体,以及它们之间的关系,为后面的物理逻辑结构设计打下基础。这些实体包括各种具体信息,通过它们之间的作用形成数据的流动。4、电子商务网站数据库详细设计4.1、数据库表的设计通过对大多数电子上网网站的分析发现,不同的电子上网网站的数据库模式大致相同,我们采用目前主流的设计数据库模型的工具powerdesigner对系统的数据库进行设计。将设计好的crm图可以生成适应不同数据库的pdm文件,进而生成适应不同主流数据库的脚本文件。网站最容易设计的部分是登录模块,登录模块当中需要的一些信息,存在在用户的信息表中。图4.1成员信息数据表(tb_member)网站前台会员登录会看用到成员信息,有的网站会将管理员和成员放如一个表当中通过不同的标记,或者通过权限控制来限制登录人员的信息是成员还是管理人员。在对数据库设计中,采用简单的多表形式,避免了在一个表中对信息操作的麻烦。但在大型的商务网站中会用到权限的控制。图4.2管理员数据表(tb_manager)电子商务网站需要将自己的商品信息展示给顾客,就设计到商品信息的展示。商品信息的展示方式不同,在系统中主要是特价商品,最新商品,还有就是低商品的信息进行排序然后通过销售排行的形式展示出来。所有的操作都是针对的一张数据表就是商品信息。商品信息的具体结构如下:图4.3商品信息数据表(tb_goods)数据库中商品信息进行了分类,对商品信息的分类用两张表,一张表存储大类,第二章表存储的是小类。和在一个表中存储信息的区别就是在编程的过程中的处理方式发生了变化。基本上没有什么大的区别。图4.4父类信息表(tb_supertype)图4.5子类信息表通知栏信息的展示,主要是用来展示站内的一些通知信息,通知的信息是从数据库当中读取出来的。不想静态页面,通过增加页面来添加通知信息的。图4.6公告板信息()4.2、数据库物理设计数据库的物理设计也就是数据库的逻辑结构设计。根据在线使用的情况的不同,出于安全性和性能上的考虑,最好使用sql server 数据库。不管数据库采用哪一种,sql(结构化查询语言)的基本语句都要用到。sql中最基本的数据操作语句有:insert, select, update和delete; insert语句是用户用来将一行记录插入到指定的表中,select语句可以从一个或多个表中选取特定的行和列,因为查询和检索是数据库管理中最重要的功能,所以select语句在sql中是工作量最大的部分,select语句的结果通常是生成另外一个表,在执行过程中系统根据用户的标准从数据库中选出匹配的行和列,并将结果放到临时的表中。在直接sql(direct sql)中,并且将查询的结果运用到系统的程序中,最后转化为系统所要求的结果,然后传送到浏览器终端。还有update语句允许用户在已知的表中对现有的行进行修改,delete语句用来删除已知表中的行,如同update语句一样,所有满足where子句条件的行都将被删除,特别注意在执行这条语句时就要十分小心。在实际的操作过程中肯定还有很多的属性限制,譬如受限访问,受限插入,要结合条件对数据进行访问和修改。5、前台模块设计与实现5.1 、用户模块用户模块主要实现了用户注册、登入/登出、修改信息的功能,用户模块结构功能如图5.1所示。用户模块用户注册用户登录信息修改修改用户退出图图5.11、用户注册统采用了struts的框架技术进行表单数据基本验证,注册页面register.jsp表单中的数据只要有一项不符合验证规则的数据,则表单提交按钮失效。为了保证用户注册的邮箱名在数据库中是唯一的,使用了ajax技术向服务器发送异步请求,如果数据库中已经存在,则在页面上提示用户“用户以存在”的错误消息。用户注册的流程图如下:图5.2 用户注册流程对用户的信息进行验证,如果部分验证信息没有通过的话,会出现如下的报错信息。图 5.3 用户注册二、用户登录系统登录界面(login.jsp)需要输入用户名和密码,如果密码或者邮箱不对,则提示用户相关错误信息错误信息如下图。只要用户成功登录,则把当前这个用户对象加入到session当中,并将用户的信息展示在页面中,用户登录流程如图5.7所示。图5.4 登录页面 图5.5 错误信息图 5.6 登录流程图三、用户信息修改用户点击修改资料后,进入modifymember.jsp页面,对会员资料进行修改。该系统在设置的过程中不允许对用户名进行修改。在对用户信息修改之前对用户修改的信息会进行部分信息的验证,包括两次输入的密码是否相同,还有电话和邮箱格式的验证。用户资料信息修改页面:图5.7 页面信息修改四、用户登出用户登出主要是把session中当前的user属性设置为空,因为之前用户登录成功的时候已经把用户user放入了session中。只要session中的user属性为空,用户则相当于退出了系统,失去很多权限进行相关操作。5.2 、主页模块该模块主要包含分类浏览、商品检索、热销图书、新品上架、商城公告等功能。主页模块功能结构如图5.8所示。商品展示分类浏览商品检索热销图书新品上架特价商品时间显示图 5.8 商品展示功能结构图一、分类浏览分类浏览主要是实现点击页面右侧的类别,则可以查看相应类别下的图书功能,数据库中存储的全部是网站的图片名称,并不是具体的名字。在对数据库进行设计的时候,我们将商品类别设置了两张表,一张表格是存储父类的信息,另一张表格存储的是子类的信息。这样在第一次进行网站设计的过程中会清楚如何实现商品类别的展示。如下图是商品图5.9商品分类点击商品分类的信息选择分类中的信息。可以将查询到的信息展示在网页的中间部分。查询到的商品的信息见下图。图5.11 商品分类列表商品分类列表中的信息,可以通过点击连接查询商品的详细信息。商品的详细信息也会在该位置进行展示。详细见下图:图5.12 商品相信信息二、商品检索本系统实现的是关键字检索功能,用户输入商品名称,按照下拉列表中的内容进行搜索,如果数据库中没有相应的商品,提示用户暂时没有改商品;否则跳到搜索结果页面,列出搜索到的商品。如果用户不输入关键字,点击搜索按钮,则该改按钮不能向服务器发送请求,主要采用js验证,该流程如图5.17所示。图5.13 商品搜索输入的查询条件为:test(商品的名称),搜索的父类为论文资料查询到的展示信息如下:图5.14 搜索页面从数据库中查询的数据如下:图5.15 商品搜索结果三、商城广告点击页面上的商城公告当中的信息,可以查看商城公告的信息。页面的展示效果如下。图5.16 商城公告图5.17 公告信息四、特价商品商品信息的展示过程比较简单。按照商品的类型,根据时间进行展示。将商品的信息展示出来。主要是访问数据库当中的内容。在对特价商品展示的过程中,并没有通过html语句绘制展示图片的表格,而是通过对页面的跳转,根据页面整体布局的要求,将页面的背景图片进行了修改。首页页面信息的展示如下图:图5.18首页展示页面中的特价商品信息,可以查看到商品的价格,名称,如果用户想要查看到具体的信息,可以点击详细信息进行查看。当用户点击详细信息后,会展示如下的图片:图5.19商品详细在这里进行权限的设置,如果用户没有登录,商品详细信息中就不会展现出购买的按钮。核心的页面代码如下:通过引用标签中判读来实现购买按钮的展示,判断用户是否已经登录。如果用户没有登录,就不能实现商品的购买。用户的信息是在session机制当中读取的。如果session中用户的信息为空,则商品就不能够完成购买。展现出购买页面的信息如下:图5.20 商品详细信息在特价商品信息展示的页面中,也有一个更多的链接,来查看除了页面展示商品之外更多的商品。点击更多后的页面展示信息如下:图5.21页面展示信息五、新品上架商品信息的展示过程比较简单。按照商品的类型,根据时间进行展示。将商品的信息展示出来。主要是访问数据库当中的内容。在对特价商品展示的过程中,并没有通过html语句绘制展示图片的表格,而是通过对页面的跳转,根据页面整体布局的要求,将页面的背景图片进行了修改。首页新品页面信息的展示如下图:图5.22 新品上架页面中的特价商品信息,可以查看到商品的价格,名称,如果用户想要查看到具体的信息,可以点击详细信息进行查看。当用户点击详细信息后,会展示如图5.23 商品详细的图片:在新品上架信息展示的页面中,也有一个更多的链接,来查看除了页面展示商品之外更多的商品。点击更多后的页面展示信息如下:图5.24 新品上架新品上架增加了权限的限制,也是对sesion中的信息进行了判断,具体的信息铜弩弓特价商品的展示信息相同。六、时间信息展示考虑到页面的整体布局,以及在今后的设计中可能会引入大量的js效果代码。在这里进行了时间的展示。主要是展示对特性的引用。页面中引入js脚本文件的关键代码为:function www_helpor_net() var digital = new date()var hours = digital.gethours()var minutes = digital.getminutes()var seconds = digital.getseconds()if (minutes = 9)minutes = 0 + minutesif (seconds = 9)seconds = 0 + secondsmyclock = 现在时刻: + hours + : + minutes + : + secondsif (document.layers) document.layers.liveclock.document.write(myclock)document.layers.liveclock.document.close() elseif (document.all)liveclock.innerhtml = myclocksettimeout(www_helpor_net(), 1000)www_helpor_net();虽然在大型的商务网站中会很少用的js中的特效,但是在该系统中主要是为了展示对脚本文件的应用。5.3、购物车模块电子商务网站一般都有一个购物车功能,它必须设计合理,功能便捷。本系统的购物车主要是基于session,没有考虑用户禁止cookie的情况。要设计一个购物车,就必须分析购物车应该具备哪些功能。设计购物车一般要实写一个类,代表购物车中的一项物品。系统编写了一个物品类cartitem,其包含三个属性:商品数目,商品实体、是否购买,购物车定义了一个属性map代表当前购物车中的所有物品。购物车的功能包括商品数量修改,删除、结算、自动统计价格等功能,购物车功能如图5.25所示。图5.25 购物车购物车支持收银结账,修改数量。自动统计价格的功能。当完成收银结账后,需要管理员进入后台进行处理。购物车统计价格数量修改清空已买商品删除商品继续购物品图5.26 购物车如果用户没有登录点击结算,则会提示用户登录后进行操作。在数量修改的过程中,要注意考虑到用户错误输入非数字而产生的异常情况,会提示用户不要输入非法的字符。图5.27 提示错误信息购物车的流程图如下图5.28 购物车流程图5.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京第二外国语学院中瑞酒店管理学院《工程图学B(1)》2023-2024学年第二学期期末试卷
- 上海电子信息职业技术学院《计算机组成原理与汇编语言程序设计》2023-2024学年第二学期期末试卷
- 郑州幼儿师范高等专科学校《资本运营与公司治理》2023-2024学年第二学期期末试卷
- 河北石油职业技术学院《阅读与欣赏唐诗宋词》2023-2024学年第二学期期末试卷
- 浙江科技学院《风险投资运作与管理》2023-2024学年第二学期期末试卷
- 漳州卫生职业学院《英语阅读(3)》2023-2024学年第二学期期末试卷
- 人教版角的分类
- 2024年高导热石墨材料资金筹措计划书代可行性研究报告
- 食品试验设计方法第五讲
- 我国幼儿园教育的目标任务和原则
- 医院建设项目医疗专项工程医用气体工程技术参数及要求
- 运维经理培训
- 2025年西城二模化学试题及答案
- 2025年1月浙江省普通高校招生选考化学化学试题(解析版)
- 主播语音与发声知到课后答案智慧树章节测试答案2025年春上海电影艺术职业学院
- 屋面换瓦施工方案
- 招投标意向书(7篇)
- 视障人群智能出行产品设计研究
- 2017年高考生物试卷(新课标Ⅰ)(解析卷)
- 《相变储热供暖工程技术标准》
- 《消防检查指导手册》(2024版)
评论
0/150
提交评论