二手交易平台设计与开发 网站开发图片

另味怪友
564次浏览
2020年02月16日 20:09
最佳经验
本文由作者推荐
网站开发图片

题 XX 理 工 学 院 科 毕 业 设 计 ——商品信息及管理模块的设计与开发本 目:二手交易平台的设计与开发

二手交易平台的设计与开发 ——商品信息及管理模块的设计与开发 摘 要:本论文针对二手交易平台进行了设计与开发,实现了二手交易网站的一些基本功能。项目应用UML进行分析和设计,使用了J2EE开发技术,整合了几大流行的JAVA开发框架,包括SSH2框架,Junit4单元测试,Ant自动化,sitemesh控制总体界面结构等。系统采用了Struts2的MVC设计模式,使得各模块耦合度低,稳定性好且易于扩展。 关键词:电子商城;二手交易;J2EE;SSH2框架;MVC模式 I

Design and development of secondary trading platform ——Product management module design and development Abstract: This thesis focuses on secondary trading platform design and development, to achieve some of the basic functions of the secondary trading website. The project application UML analysis and design, use J2EE development technology, integration of several popular Java development framework, including the the SSH2 framework, Junit4, unit test, Ant automation, Sitemesh layout. The system uses a Struts2 MVC design pattern, making each module coupling low, good stability and easy expansion. Keywords:electronic mall;secondary trading;J2EE;SSH2;MVC II

目 录 目 录 .................................................................................................... III 第1章 引言........................................................................................ IV 1.1 选题背景与问题概述 ............................................................................... IV 1.2 研究的意义及重要性 ............................................................................... IV 1.3 研究的内容和主要工作 ............................................................................. V 1.4 论文组织结构 ........................................................................................... VI 第2章 需求分析 .............................................................................. VII 2.1 业务需求 .................................................................................................. VII 2.2 功能需求 .................................................................................................. XII 2.3 数据需求 ............................................................................................... XVII 2.4 非功能需求 .............................................................................................. XX 第3章 系统设计 ............................................................................ XXI 3.1 总体设计 .................................................................................................XXI 3.2 数据库设计 ..................................................................................... XXXVII 3.3 系统实现 ............................................................................................... XLII 第4章 总结与展望 ............................................................................. L 4.1 总结 ............................................................................................................. L 4.2 进一步的工作 ............................................................................................ LI 附 录 .................................................................... 错误!未定义书签。 系统的源码 ......................................................................... 错误!未定义书签。 框架官方地址 ..................................................................... 错误!未定义书签。 参考文献.................................................................. 错误!未定义书签。 致 谢 .................................................................... 错误!未定义书签。 III

第1章 引言 1.1 选题背景与问题概述 1.1.1 选题背景 本课题“二手交易平台的设计与开发”是电子商务平台开发的一个典型代表。在国内,基于web的“二手货”交易系统是近年来倍受用户青睐的一种交易方式,它不仅促进电子商务在各行各业中的进一步推广,提高商品的利用率,更是给卖家和买家提供了有用即时的信息,给双方带来真正的实惠和经济效益。 1.1.2 问题概述 大多数的毕业生在大学毕业的时会留下许多物品,而大多数的学生是很乐意变卖自己这些东西的。但是由于缺乏一个交易场所或中介交易,很多人将这些东西当垃圾处理,没有发挥其可再利用价值。另一方面,低年级的同学则是希望购买到物美价廉的商品却无从获知此类信息。 此外,当代人的消费观念及消费心理也随着时代的改变而不断在改变,目前主要趋于实惠、经济和多样化发展。网上购物和二手交易支持的人也越来越多,大多数在校大学生都有过从他人那里购买或出售使用过的诸如教材书之类的二手物品的经历。 1.2 研究的意义及重要性 1.2.1 研究的意义 从前景来看,在国家大力提倡“建设节约型社会”的背景下,二手交易领域也是大有发展前途。比如学生的书本,自行车,体育用具等闲置东西可能通过交易,在需要的人手上循环再用,自己又能换取些别的东西或是金钱,可谓一举两得。 1.2.2 研究的重要性 信息实用,学生可以在二手网站上方便地提供各种与学习和生活的信息,如二手书籍,台式机,笔记本,饮水机和电磁炉等。这些都可以在大学生活结束时,IV

变卖给低年级同学。 其中旧自行车在新生中还是相当抢手,而高年级就很少用了,很多都摆在停车点生锈,给人可惜,放着又会坏掉,最后居然批量地给保安按去了。而且大学校园面积不小, 跑来跑去费时又辛苦,有时偶尔上街,外出游玩等。至于买新的,价格高,还容易丢,所以还是“二手”的好。 在学期开始,很多学生也可以先到网站上搜寻与课程要求相同的教材,而不用去买新书,这在大二以上的年级还是很普通的。如英语教材,新书40 元左右,而二手书仅10元。况且,在旧书中还有高年级的笔记,更加实用。 网站还可以由卖家出售其它各类商品:MP3、电脑配件、台灯、衣架、体育器材等。此外还能培养学生的经营意识。 过去一到期末,或临近毕业,书籍、生活用品几本上都成废品,很便宜的卖给收废品的或是直接扔掉或送人。而现在,学生可以将这些物品信息挂在校园二手网站,以便学生之间双向选择,创造一定的经济价值。有的学生还可以对这些信息和物品进行收集和整理,再进行经营,体验下做“老板”的感觉。 1.3 研究的内容和主要工作 1.3.1 研究的内容  学习并掌握基本的二手交易网站的原理和设计方法;  学习Web开发的工具和语言:包括JAVA[[1]],HTML[2],CSS[3],JavaScript[4]等前台语言和JSP服务器端开发语言[5];  整合SSH2(Struts2,Spring3,Hibernate3)框架[6],熟悉其框架下MVC模式[7]应用开发的流程和过程;  在项目中加入和常用的Java组件:如Ant自动化[8],JUnit进行单元测试[9],Log4J进行日志控制8等; 1.3.2 本人主要工作  搭建开发平台,下载并安装jdk,tomcat服务器和eclipse开发工具,建立SVN服务器进行项目的版本控制[10],为后面开发做好基本的准备; V

 用UML对系统进行建模[11],分析需求,系统分析和设计,设计出类的基本功能;  编码。系统整体了采用MVC设计模式:其中使用hibernate3进行类和关系的映射[12],解决重复烦琐的数据库编程;spring3进行对象管理[13],通过依赖注入来减少各模块的依赖;struts2[14]则充当控制角色,实现各WEB请求对应的处理和JSP页面的选择;  采用Junit4进行单元测试和部分集成测试,Log4j日志记录,用于及时发现错误和系统设计的不足和多余,完善设计,利于迭代开发;  进行系统的部署、运行和功能测试,其中完成了一些基本的系统功能:商品的上传、显示、搜索、加入购物车和下订单功能,用户的登陆、注册、修改功能,管理员的日志浏览功能。 1.4 论文组织结构 本文由以下几章内容组成: 第1章介绍本文的研究背景,概述了所要解决的问题,并讨论项目的研究意义与重要性,阐述了论文的主要内容以及本人完成的主要工作。 第2章是本文的核心内容之一,针对系统的业务需求、功能需求、数据需求和非功能需求等进行了详细分析,给出了主要的业务流程图和用例图,并对核心用例进行了详细描述,同时进行了基础数据的概念设计。 第3章是本文的重点,在进行了系统总体设计的基础上,采用UML的包图、类图、顺序图和活动图11等对系统的子模块进行了功能性详细设计,并给出了主要功能的界面设计,同时通过实体类图、E-R图和数据字典对数据库进行了详细设计。 第4章总结了本文所做的工作,同时对进一步的工作进行了展望。 VI

第2章 需求分析 2.1 业务需求 需求就是以一种清晰、简明、一致且无二义性的方式对一个待开发系统中的各个方面有意义的陈述的集合。以下以UML中的活动图进行简单描述11。 2.1.1 业务描述 (一) 实现用户注册登陆、商品展示、商品检索、商品选择、网上订货等功能,对网上购物的基本过程进行管理; (二) 实现对网上购物过程中产生的所有业务数据的管理,如订货单、支付记录、发货信息的管理与维护; (三) 具有配套的系统后台管理维护功能,能够对商品信息、用户信息、系统日志等信息进行管理与维护,并能够进行对应的权限管理; (四) 响应速度合理,安全性较高; (五) 系统运行稳定,并且应易于维护。 2.1.2 业务流程 (一) 用户注册和登陆,实现流程如图 2-1所示: VII

图 2-1用户注册和登陆 (二) 商品展示活动图,见图 2-2: 图 2-2商品展示活动图 (三) 网上订货活动图,具体流程见图 2-3: VIII

图 2-3网上订货活动图 (四) 货款支付活动图,见图 2-4: IX

图 2-4货款支付活动图 (五) 发货活动图,见图 2-5: X

图 2-5商品发货活动图 (六) 退货处理活动图,见图 2-6: XI

图 2-6退货处理活动图 2.2 功能需求 功能需求刻画系统行为,定义了必须实现的软件功能,使得用户通过这些功能完成他们的任务,满足业务需要。下文将以UML中的用例图进行描述11。 2.2.1 业务功能 (一) 商品选购,用例图见图 2-7: XII

图 2-7商品选购用例图 (二) 货款支付,见图图 2-8: 图 2-8货款支付用例图 (三) 商品发货,见图 2-9: XIII

图 2-9商品发货用例图 (四) 退货处理,见图 2-10: 图 2-10退货处理用例图 (五) 网上订货,见图 2-11: XIV

图 2-11网上订货用例图 (六) 订单管理,见图 2-12: 图 2-12订单管理用例图 (七) 发货信息管理,见图 2-13: XV

图 2-13发货信息管理用例图 2.2.2 管理功能 (一) 用户管理,见图 2-14: 图 2-14用户管理用例图 (二) 日志管理,见图 2-15: XVI

图 2-15日志管理用例图 (三) 商品信息管理,见图 2-16: 图 2-16商品信息管理用例图 2.3 数据需求 (一) 商品选购,见图 2-17: 图 2-17商品选购 XVII

(二) 货款支付,见图 2-18: 图 2-18货款支付表示 (三) 商品发货,见图 2-19: 图 2-19商品发货表示 (四) 退货处理,见图 2-20: XVIII

图 2-20退货处理表示 (五) 用户管理,见图 2-21: 图 2-21用户管理表示 (六) 日志管理,见图 2-22: 图 2-22日志管理表示 (七) 商品信息管理,见图 2-23: XIX

图 2-23商品信息管理表示 2.4 非功能需求 非功能需求包括产品必须遵从的标准、规范和合约;外部界面的具体细节和性能要求;设计或实现的约束条件及质量属性。 2.4.1 环境需求 1. Web服务器使用的Tomcat; 2. 服务器能在Linux平台下部署10,能跨平台在其它OS下部署更佳; 3. 数据库使用Mysql或Oracle。 2.4.2 性能需求 1. 可维护性。提供对自身的集中操作维护的功能,实现数据的备份和恢复。 2. 易操作性。界面尽可能美观实用、方便和直观,充分考虑用户的体验。 3. 可扩展性。能满足用户今后系统扩充和扩大使用范围的要求。 4. 开放性。确保应用程序具有良好的互操作性和移植的可能。 2.4.3 安全需求 1. 容错性。用户输入或误操作时,系统应给出相关的响应,提示用户重新输入或者进行自动的修复校正。 2. 系统的外在环境安全。充分考虑硬件和软件的安全因素,包括:网络的安全,系统的备份,防火墙,用户权限设置等; 3. 系统内部安全。确保授权用户的合法使用。 4. 系统运行安全。系统应具有抵抗非法入侵的能力,支持定期自动和手动数据备份,能在数据损坏或丢失的情况下有一定的恢复能力。 XX

第3章 系统设计 软件设计是软件开发的关键步骤,要解决“怎么做”的问题,主要着手对软件系统的功能结构、数据结构和用户界面等进行设计。 3.1 总体设计 3.1.1 系统设计的原则 本系统设计尽可能地遵循实用性,先进性,规范性,安全性,易于集成,可扩展性等几大设计原则。 3.1.2 系统体系结构设计 B/S(Browser/Server)体系结构如下图 3-1: 图 3-1体系结构 B/S体系结构利用Web技术,通过浏览器实现软件应用的跨平台,节约了开发成本和维护成本。其应用程序以静态或动态网页的形式存放于Web服务器上,在一定程度上具有集中特征,并且安装、修改和维护全在服务器端解决,很容易在运行时自动升级。 3.1.3 系统功能架构设计 系统功能架构设计定义软件系统各主要部件及成分之间的关系。可以通过UML的包图来表示,系统功能简单对应需求分析中的用例。 XXI

3.1.4 系统实现框架图 系统采用MVC设计模式7,并对SSH2开发框架进行了整合,按层次划分为:PO,DAO,Manager,Action,Jsp Page五大模块8,如图 3-2: 图 3-2系统模块划分 3.1.5 包的内容及作用 3.1.5.1 po(persistent object)包 po包是业务数据的抽象,如用户,商品等,包内容见图 3-3。它主要用于持久化存储和各层间数据的传递。其中用hibernate框架对实体进行持久化,通过配置对象—关系的映射来实现(见图 3-4),过数据库的操作语句和会话维护等烦锁重复的编程便由框架代为实现12。 XXII

图 3-3 po包 XXIII

图 3-4 hibernate对实体类的配置 XXIV

3.1.5.2 dao(data access object)层 图 3-5dao层 dao层为数据访问接口层,主要包括四个包,见图 3-5。其作用是进行底层数据的更新、查找、增删等数据库操作的实现。 以下将介绍dao层内各包的内容和作用: 3.1.5.3 dao包 dao包使用了模板方法,为po包中实体类都定义了对应的dao接口,见图 3-6,提供了各实体相应的数据库操作接口。 XXV

图 3-6 dao包 3.1.5.4 ate包 ate包是dao包中接口的具体实现,这遵循了“接口实现相分离”的原则1来降低系统的耦合度,提高灵活性,见图 3-7。 设计充分考虑了以后可能的扩展和修改的需要。例如采用jdbc包来实现而不采用hibernate框架,则提供类似的实现包即可,而上层对外的功能接口没有变化,其它的代码也就不受影响。 XXVI

图 3-7 ate包 3.1.5.5 包 包采用了外观模式7进行设计,对各种不同类型的dao进行封装(如图 3-8所示),使得dao包的使用更方便和集中,修改和管理更容易; 图 3-8 XXVII

图 3-9 XXVIII

3.1.5.6 Service层 图 3-10 service层 service层为业务逻辑实现层,层中各包见图 3-10。该层采用的设计技术和dao层十分类似。层中的各manager类进一步封装了dao包的各种操作,同时还增加了各种业务逻辑功能8。该层的另一作用就是使action层和dao层解耦,这些正是MVC模式设计的好处。 3.1.5.7 Manager包 manager包定义了各种业务对象管理接口,如用户管理,商品管理等业务逻辑管理类,见图 3-11; XXIX

图 3-11 manager包 3.1.5.8 包 包是manager包接口的具体实现,如图 3-12,其设计思想和dao的impl包类似; XXX

图 3-12 包 3.1.5.9 e e也采用外观模式进行设计,对所有的manager进行封装,进行统一生成和管理,见图 3-13; XXXI

图 3-13 e包 图 3-14 包 3.1.5.10 视图控制层 该层使用struts2的MVC设计模式实现,结构见图 3-15。包中的类充当控制器的角色,而视图显示则采用JSP动态页面。 XXXII

图 3-15 视图和控制层 3.1.5.11 Action包 包充当MVC设计模式中的控制器角色14,处理各种客户端请求,见图 3-16。它实现了用例中各种业务功能和处理的动作调用,如注册对应RegisterAction,登陆对应LoginAction等,这通过配置文件进行映射完成,如图 3-17。 图 3-16 action包 XXXIII

图 3-17 配置login和register 3.1.5.12 Jsp模块 JSP Page模块实现系统的各个WEB视图界面5,见图 3-18。struts2各种action的处理结果都会返回对应的视图,如注册成功就调用注册成功的JSP页面,错误则调用错误的JSP页面等; 图 3-18系统JSP包 XXXIV

3.1.5.13 Spring充当的角色 Spring在整个系统中并未显式出现,但它充当了极大的作用。如各个对象的成员变量、hibernate的会话工厂等的初始化都是通过spring注入13,即spring创建了对象,然后调用成员的setter进行了设置,下图 3-19便是对部分Action类的配置情况。这样就不用在代码中显式地调用new生成,降低了耦合度,并提高模块的灵活性,适应变化的能力更强。 图 3-19 spring对action类的配置 3.1.6 系统运作原理 下面以“产品关键词搜索”用例来说明系统的大体运作原理,如图 3-20。 XXXV

图 3-20产品搜索的系统调用流程 1. 当客户端浏览器发出请求链接时,Struts控制器将业务请求映射到对应的SearchAction类进行业务处理; 2. SearchAction实例生成时,成员service是由spring注入的,在图中没有体现;接着通过dInfoManager(),便能得到IGoodInfoManager的一个实例; 3. SearchAction会通过Paging实例的paing(IGoodInfoManager)进行分页查找,在paing中调用了ByLimit(),该函数将通过IGoodInfoDao的findBylimit()进行实际的数据库操作,最后获得并返回对应页的产品数据列表List; 4. 上面的manager的操作只是进一步封装了dao层的接口,使得各层分明,耦合更低,而返回的数据由po包的实体类封装传递。 XXXVI

3.2 数据库设计 3.2.1 实体关系设计 (一) 实体关系图[15] 图 3-21实体类关系图 (二) 实体关系图(E-R图)15 XXXVII

GoodCategory(商品类别)#CategoryIdGuidoCategoryNamenvarchar(150)GoodInfo(商品信息)#oooooooIdNamePriceAmountDescriptionPhotoCategoryStatus...Guidnvarchar(150)intintnvarchar(255)Binarynvarchar(50)nvarchar(10)#ooooo一条购物车记录包含一个商品信息一个商品类别对应多件商品ShoppingCart(购物车)IdGuidOwnerIdGuidGoodIdGuidQuantityintCreateDateDatetimeMoneyint...#ooooOrderDetail(订单项)OrderDetailIdGuidOrderIdGuidGoodIdGuidQuantityintMoneyint...一个订单对应多个订单项一个用户拥有多条购物车记录User(用户信息)#ooooooooIdNameCodePasswordMailMobilePhoneTelAddressSex...Guidnvarchar(10)nvarchar(20)nvarchar(20)nvarchar(50)nvarchar(50)nvarchar(50)nvarchar(255)Byte一个订单项中包含有一种商品Order(订单)#ooooooIdUserIdSumMoneyOrderDatePaymentStatuesGoodsDeliverStatusEndDate...GuidGuidintDatetimenvarchar(10)nvarchar(10)Datetime一个用户可以拥有多张订单一个退货申请对应一个订单一个发货记录对应一个订单一个付款记录对应一个订单ReturnGoodsApplication(退货申请)#oooooooIdDealDateOrderIdApplicantIdDescriptionFeedbackResultStatusSubmitDate...GuidDatetimeGuidGuidnvarchar(255)nvarchar(255)nvarchar(10)DatetimePaymentRecord(支付记录)#ooooooIdOrderIdPaymentTypeStatusPayTimeSumMoneyUserId...GuidGuidnvarchar(10)nvarchar(10)DatetimeintGuid#ooooooGoodsDeliverRecord(发货记录)IdOrderIdDeliverDateStatusTransportCompanyRouteWayBillNumber...GuidGuidDatetimenvarvhar(10)nvarchar(50)nvarchar(255)nvarvhar(20) 图 3-22在线购物E-R图 User(用户信息)Log(日志)IdGuidUserIdGuidOperationTypenvarchar(20)OperateTimeDatetimeDescriptionnvarchar(255)...#ooooooooIdNameCodePasswordMailMobilePhoneTelAddressSex...Guidnvarchar(10)nvarchar(20)nvarchar(20)nvarchar(50)nvarchar(50)nvarchar(50)nvarchar(255)Byte#oooo一个用户对应多条日志记录 图 3-23系统管理E-R图 3.2.2 数据库表设计 (一) GoodCategory(商品类别表) 保存商品类别的基本信息。 字段名 CategoryId 数据类型 int 长度 主键否 描述 主键 否 否 商品分类ID 为空否 NOT NULL 默认 CategoryName varchar(20) 20 Level int 商品分类名称 NOT NULL 分类层次级别 NOT NULL 1 XXXVIII

Parent int 否 上一级分类 NOT NULL 0 表 3-1商品信息表 (二) GoodInfo(商品信息表) 保存商品的基本信息。 字段名 Id Name Price Amount 数据类型 Int varchar(150) 150 int int 长度 主键否 描述 主键 否 否 否 否 否 否 50 10 否 否 否 ID 名称 单价 库存量 描述 照片 为空否 NOT NULL NOT NULL NOT NULL NOT NULL NULL NULL 默认 Description varchar(255) 255 Photo PhotoUrl Category Status User Blob Varchar(50) varchar(50) varchar(10) Int 照片路径 NULL 所属分类 NOT NULL 促销状态 NOT NULL 所属商家 NOT NULL 1 表 3-2商品类别表 (三) ShoppingCart(购物车表) 保存购物车记录的基本信息。 字段名 Id OwnerId GoodId Quantity 数据类型 长度 主键否 描述 Int Int Int int 主键 否 否 否 否 否 为空否 默认 购物车对应的ID NOT NULL 车主的Id 所放商品的Id NOT NULL NOT NULL 所购买商品数量 NOT NULL 购物车创建日期 NOT NULL 车中商品总额 NOT NULL CreateDate Datetime Money int 表 3-3购物车表 (四) OrderDetail(订单项表) XXXIX

保存订单项的基本信息。 字段名 数据类型 长度 主键否 描述 主键 否 否 否 否 订单项ID 所属订单的ID 所记录的商品Id 所买商品数量 为空否 NOT NULL NOT NULL NOT NULL NOT NULL 默认 OrderDetailId Int OrderId GoodId Quantity Money Int Int int int 所记录的商品总额 NOT NULL 表 3-4订单项表 (五) Order(订单表) 保存订单的基本信息。 字段名 Id UserId SumMoney OrderDate PaymentStatues 数据类型 Int Int int Datetime varchar(10) 10 长度 主键 描述 主键 订单的Id 否 否 否 否 否 否 表 3-5订单表 为空否 NOT NULL 默认 所属买家的Id NOT NULL 订单最终总额 NOT NULL 下订单的日期 NOT NULL 订单支付状态 NOT NULL 订单发货状态 NOT NULL 订单完成日期 NOT NULL GoodsDeliverStatus varchar(10) 10 EndDate Datetime (六) User(用户信息表) 保存用户的基本信息。 字段名 Id Type Name Code Password 数据类型 Int Int varchar(10) varchar(20) varchar(20) 10 20 20 长度 主键否 描述 主键 否 否 否 否 XL ID 类型 姓名 为空否 NOT NULL NOT NULL NOT NULL 默认 登陆帐号 NOT NULL 登陆密码 NOT NULL

Mail varchar(50) 50 50 50 否 否 否 否 否 电子邮件 NOT NULL 手机号码 电话 收货地址 性别 NOT NULL MobilePhone varchar(50) Tel Address Sex varchar(50) varchar(255) 255 Byte 表 3-6用户信息表 (七) ReturnGoodsApplication(退货申请表) 保存退货申请的基本信息。 字段名 Id OrderId DealDate ApplicantId Description 数据类型 Int Int Datetime Int varchar(255) 255 长度 主键 描述 主键 退货申请的ID 否 否 否 否 否 否 否 对应的订单Id 为空否 NOT NULL NOT NULL 默认 退货申请的受理日期 NOT NULL 退货申请的买家Id 退货原因描述 反馈结果 退货申请受理状态 退货申请填写日期 NOT NULL NOT NULL NOT NULL NOT NULL NOT NULL FeedbackResult varchar(255) 255 Status SubmitDate varchar(10) Datetime 10 表 3-7退货申请表 (八) PaymentRecord(支付记录表) 保存支付记录的基本信息。 字段名 Id OrderId 数据类型 Int Int 长度 主键否 描述 主键 否 否 否 否 否 支付记录ID 订单Id 支付方式 为空否 NOT NULL NOT NULL NOT NULL 默认 PaymentType varchar(10) 10 Status PayTime SumMoney varchar(10) 10 Datetime int 支付记录状态 NOT NULL 支付时间 支付总额 NOT NULL NOT NULL XLI

UserId Int 否 支付人Id NOT NULL 表 3-8支付记录表 (九) GoodsDeliverRecord(发货记录表) 保存发货记录的基本信息。 字段名 Id OrderId DeliverDate Status 数据类型 Int Int Datetime nvarvhar(10) 10 50 长度 主键 描述 主键 记录ID 否 否 否 否 否 否 订单Id 为空否 NOT NULL NOT NULL 默认 发货日期 NOT NULL 发货状态 NOT NULL 货运公司 NOT NULL 物流信息 NOT NULL 运单号 NOT NULL TransportCompany nvarvhar(50) Route WayBillNumber nvarvhar(255) 255 nvarvhar(20) 20 表 3-9发货记录表 (十) Log(系统日志表) 保存系统日志的全部内容。 字段名 Id UserId 数据类型 Int Int 20 长度 主键 描述 主键 日志记录ID 否 否 否 否 操作人ID 为空否 NOT NULL NOT NULL 默认 OperationType Varchar(20) OperateTime Description Datetime 操作类型(如:登录) NOT NULL 操作时间 操作的详细描述 NOT NULL NOT NULL Varchar(255) 255 表 3-10系统日志表 3.3 系统实现 3.3.1 界面的设计 界面设计应用sitemesh框架和JSP技术5,这样能使得整个系统有一个统一的结构,每个页面只需专注于该页的内容即可,更容易实现模块化分配,有利用XLII

团队合作。其次各个页面的框架代码公用,使每个页面代码量也减少。源码 1是采用sitemesh后主框架结构的JSP源码。 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> prefix="decorator"%> <%@ taglib uri="/sitemesh/decorator" <%@ taglib uri="/sitemesh/page" prefix="page"%> <%@ include file="/WEB-INF/jsp/fragment/"%> <decorator:title default="trade2hand" /> <%-- 最上面的功能条 --%> <%@ include file="/WEB-INF/jsp/fragment/"%> <%-- logo和头部 --%> <%@ include file="/WEB-INF/jsp/fragment/"%> <%-- 导航菜单条 --%> <%@ include file="/WEB-INF/jsp/fragment/"%> <%-- 左边条框 --%> <%@include file="/WEB-INF/jsp/fragment/"%> <%-- 右边条框 --%> <%@include file="/WEB-INF/jsp/fragment/"%>

Category > Category2 > Category3 > Name Product

<%-- 广告 --%> <%@include file="/WEB-INF/jsp/fragment/"%> <%-- 其它页面的主体 --%>

XLIII

<%-- 中间部分内容 --%> <%@include file="/WEB-INF/jsp/fragment/"%> <%-- 尾部 --%> <%@include file="/WEB-INF/jsp/fragment/"%> 源码 1web界面主框架结构 3.3.2 美化和JS JSP页面采用的DIV+CSS技术进行布局和美化3而不是硬编码,所以布局更改很灵活。布局目前主要参考了京东和淘宝。 在开发阶段,各个主要的页面都有一个对应的CSS文件(见图 3-24),以后系统发布时可使用压缩工具进行压缩,合成一个,从而节省流量和系统的链接开销。这些都是后面的系统优化内容了。 图 3-24 css和js源码结构 XLIV

JS的开发能提高系统的用户体验和交互性,本系统使用了流行的JQuery库和部分JS插件[16]。不过目前只用到了图片自动播放功能和分页功能,JS开发还不是很多,当然也未使用Ajax开发。 3.3.3 界面设计 (一) 系统主页,见图 3-25 图 3-25系统主页 (二) 登陆框见图 3-26 图 3-26登陆框 (三) 注册框,见图 3-27 XLV

图 3-27注册框 (四) 用户登陆后主页,见图 3-28 图 3-28登陆后的主页 (五) 商家添加或更新商品,如图 3-29 XLVI

图 3-29商家添加商品 (六) 用户中心,见图 3-30 图 3-30用户资料修改 (七) 搜索和搜索结果显示见图 3-31和图 3-32 图 3-31搜索框 XLVII

图 3-32搜索结果 (八) 商品详细信息,见图 3-33 XLVIII

图 3-33单个商品详细信息 (九) 结帐和下订单,见图 3-34和图 3-35 图 3-34结帐或继续购物 图 3-35购物车信息和下订单 XLIX

网站开发图片