基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc

上传人:laozhun 文档编号:2387484 上传时间:2023-02-17 格式:DOC 页数:60 大小:3.84MB
返回 下载 相关 举报
基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc_第1页
第1页 / 共60页
基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc_第2页
第2页 / 共60页
基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc_第3页
第3页 / 共60页
基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc_第4页
第4页 / 共60页
基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc》由会员分享,可在线阅读,更多相关《基于Struts Spring Hibernate的购物网站设计与实现【毕业论文】.doc(60页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文)题 目:基于Struts + Spring + Hibernate的购物网站设计与实现学生姓名 学 号200520100303分 院信息工程分院专业班级计算机503班指导教师 2009年5月 杭州摘 要本设计运用当前主流的Java技术,采用MVC开发模型,以Struts、Spring和Hibernate框架为基础开发了一个轻量级的网上购物系统。Struts用作控制器,Spring作为业务层,Hibernate作为数据持久层,开发中同时使用JSTL标签库。这些技术的整合,使得系统在各方面都能达到要求,并有利于系统的维护和升级。系统分为前台部分和后台部分,前台部分主要实现的功能有顾

2、客的注册和登录功能、查看商品信息功能、搜索商品的功能、购物车、收藏夹功能、个人信息维护管理功能;后台部分主要实现管理员管理商品信息、订单信息、目录信息和用户信息。其中购物车可以在用户未登录的情况下操作,并且原有的商品与现有的商品可以相互叠加。关键词:网上购物系统;Struts;Spring;Hibernate;JSTL;MVC模式ABSTRACTThis design uses the mainstream Java technology to develop a lightweight online shopping application. MVC software developing

3、model is adopted, based on the popular framework consisting of Struts, Spring and Hibernate, where Struts behaves as the controller layer, Spring as the service layer, and Hibernate as the data persistence layer. JSTL library is also used. With all these technologies together, the application achiev

4、es all the design purposes, and is flexible for update and maintenance.The application consists of two main subsystems, the front end subsystem and the central management subsystem. For the front end subsystem, the features involve customer registration, login, information retrieval on merchandises,

5、 product search, shopping cart, preference folder, customer profile update. Product information update, orders process, category and user information management are the functions of the central management subsystem. In the mean time, the shopping cart can be used without login, the selected item can

6、 be added automatically.Key Words:Online shopping system;Struts; Hibernate;JSTL;The Model of MVC 目 录1引 言12相关知识和技术背景22.1J2EE概述22.2MVC设计模式32.3Struts MVC设计模式32.4Spring框架42.5Hibernate框架52.6Struts、Spring、Hibernate的整合62.7JSTL标签库73系统需求分析83.1B2C系统模块介绍83.2确定用户需求93.3需求规定103.3.1对性能的规定103.3.2输入输出要求103.3.3数据管理能力

7、要求103.3.4故障处理要求103.3.5运行环境需求104系统概要设计114.1总体设计114.1.1环境配置114.1.2系统结构114.1.3总体模块114.2功能模块124.2.1用户顾客注册、登录模块124.2.2商品检索、浏览模块134.2.3个人信息管理模块134.2.4购物车/收藏夹模块134.2.5后台登录模块144.2.6商品管理模块154.2.7商品目录管理模块154.2.8订单管理模块164.2.9会员管理模块165系统详细设计185.1数据库设计185.1.1ER图设计185.1.2数据表设计195.2架构设计215.2.1带日志功能的设计215.2.2Web.xm

8、l配置文件225.2.3Struts配置文件225.2.4Spring配置文件245.2.5Hibernate自动生成的文件255.2.6工程包层次结构265.3详细模块设计265.3.1顾客注册、登录模块265.3.2商品检索、浏览模块275.3.3个人信息管理模块275.3.4购物车/收藏夹模块285.3.5后台登录模块285.3.6后台商品管理模块295.3.7后台商品目录管理模块295.3.8后台订单管理模块305.3.9后台会员管理模块306系统实现316.1环境配置316.2主要界面及代码326.2.1前台界面显示及代码326.2.2后台界面显示及代码52结论56致谢57参考文献5

9、81 引 言随着Internet的蓬勃发展,电子商务慢慢融入了我们的生活。如今,在发达国家通过Internet进行交易已成为潮流。由于网上电子商务的稳定性需求比较高,商城系统面临着严格的考验。不少商家、公司只制作一个或者几个产品介绍的界面,显然无法满足客户的需求。客户不能在在线订单,导致了他需要通过多种步骤来与商家取得联系。其弊端显而易见,首先是低效率、数据的严重冗余,其次是维护困难;显然这些简单链接构成的网站在数据的共享性、人机的交互性以及网站维护性上都有很大的问题。因此,开发一个基于web的动态网上购物系统是极其迫切的。因此,PHP,ASP,JSP应运而生。PHP语法简单,非常易学易用,很

10、利于快速开发各种功能不同的定制网站。但是它没有一个大的公司去支援它,使的后续能力比较差。ASP简单且易于维护,很适合小型网站应用,通过DCOM和MTS技术,ASP甚至还可以完成小规模的企业应用,但ASP的致命缺点就是不支持跨平台的系统,在大型项目开发和维护上非常困难。JSP对于网站开发来讲不像PHP和ASP那样易学易用,支持JAVA的主机也少于支持PHP的主机,这从一定程度上限制了JAVA技术在网站上的发展,不过在企业软件应用上来讲,MVC还是拥有相当大的优势的,虽然其配置和部署相对其他脚本语言来说要复杂一些,但对于跨平台的中大型企业应用系统来讲,基于JAVA技术的MVC架构几乎成为唯一的选择

11、。电子商务从1995年以来得到了迅速发展,显现了巨大的现代商业价值。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛。尤其是美国,各类送货系统、快递运输公司、支付公司、安全、广告、商务软件、信息服务等新型物流和中介机构发展呈加速态势,并且有很大的发展空间。在我国,网上购物从无到有也不过短短几年时间。根据中国网络经济研究报告,截止2009年中国互联网用户数量已达到3.22亿,有过网上购物经历的用户已经超过7400万人,并且这一数字还在以60左右的速度增长。这说明在中国发展网上购物具有良好的群众基础,网上购物方式慢慢被大家所接受。在技术方面,由于我国基本都使用windows操作系统,所以

12、用VS平台开发比较多。但在发达国家不一样,比如美国,它有MAC操作系统,那里ASP将不再适用,它并不是很好的支持跨平台。21世纪将进入电子商务时代,是社会发展的必然,我们将别无选择地生活在电子商务时代。如何面对电子商务方式、如何适应数字化生存并积极参与电子商务时代的国际竞争,是涉及到每个人、每个企业、部门及国家发展与生存的重大问题,也是国家管理部门现在应该规划、并促进其发展的战略问题。2 相关知识和技术背景2.1 J2EE概述J2EE(Java 2 Platform, Enterprise Edition)是美国Sun公司推出的一种全新概念的模型,与传统的互联网应用程序模型相比有着不可比拟的优

13、势。典型的说,提供这些服务的应用软件必须同企业信息系统(EIS)相结合,并提供新的能向更为广阔的用户提供的服务。这些服务要具备以下的特点:a 高可用性:来满足现在的全球商业环境 b 安全性:保护用户的隐私和企业数据的安全 c 可依赖性和可扩展性:保证商业交易的正确和迅捷 通常这些服务是由分布的应用程序组成的,包括前端数据端和后端数据源以及它们之间的一层或几层,这些中间层提供了把商业功能和数据与EIS相结合的功能。这些中间层把客户端从复杂的商业逻辑中分离出来,利用成熟的INTERNET技术使用户在管理上所花费的时间最小化。J2EE正式降低了开发这种中间层服务的成本和复杂程度,因而使得服务可以被快

14、速的展开,并能够更轻松的面对竞争中的压力。J2EE 架构图见图2-12.2 MVC设计模式MVC框架把业务逻辑、页面流程控制和用户界面分开,便于开发人员进行角色分工,实现分层及并行开发,有利于软件复用和重构,以及系统的维护和扩展。其中,“Model”代表的是应用的业务逻辑(通过Java Bean,EJB组件实现),“view”是应用的表示层(一般是JSP或JSF页面),“Controller是提供应用的处理过程控制,这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现,降低了业务逻辑接口和数据接口之间的耦合,同时提高了代码的重用性。MVC工作原理见图2-2。图2-1 MVC工作原理2.

15、3 Struts MVC设计模式Struts提供了Controller组件并且整合了其它技术来实现Model和View。对于Model,Struts可以使用标准数据访问技术,如JDBC和EJB。也可以使用第三方工具,如Hibernate。至于View,Struts支持JSP技术、JSTL和JSF,也可以使用Velocity模板,XSLT及其它表示系统。此外Struts提供了自定义的标记库,可以辅助JSP进行表示层的设计,通过这些自定义标记可以和系统的Model部分进行交互。Struts的核心组件有ActionServlet,Action,ActionForm,ActionMapping,Act

16、ionForword,TagLib以及配置文件等。我们用JSP技术结合Struts强大的TagLib来实现我们的表示层。图2-2 struts 1 架构图2.4 Spring框架Spring是一个以依赖注入(inversion of control IOC)原则和面向方面编程思想(aspect-oriented programming,AOP)为基础的轻量级框架。Spring既是一个AOP框架,也是一个IOC容器。运用AOP可以创建“横切关注点”(Crosscutting Concerns),在应用时将它们插入代码中,使得代码有良好的可重用性。IOC容器允许在需要生成对象的地方创建一个应用上下

17、文,然后将这些对象传递给它们的合作对象。它可以很容易地替换业务对象,只要用Java Bean属性和配置文件加入依赖性,然后就可以很容易地在需要时替换具有类似接口的协作对象。Spring还提供了可以和总体的IOC容器集成的强大而灵活的MVC Web框。Spring是一个轻型容器,其核心是Bean工厂,用以构造我们所需要的Model。在此基础之上,Spring提供了AOP的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展Application Context更加方便我们实现J2EE的应用;DAO/ORM的实现也更方便我们进行数据库的开发:Web MVC和Spring W

18、eb提供了Java Web应用的框架或能够与其它流行的Web框架进行集成。从设计理念可以看到Spring帮助你实现了真正的逻辑层和Web层的分离。Spring模块是构建在核心容器之上的,核心容器又定义了创建、配置和管理Bean的方式。Spring使用基本的Java Bean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。图2-3 spring 架构图2.5 Hibernate框架Hibernate是一个实现对象和关系之间映射(object relation mapping,0R

19、M)的开源框架。它对JDBC进行了轻量级的对象封装,使得JAVA程序员可以使用面向对象的编程思维来操作关系数据库。如果在软件开发中采用面向对象的方式进行设计,而使用的是关系数据库,就可以选用Hibernate这种框架来实现对象和关系之间的映射和数据的持久化。Hibernate拥有一种功能非常强大的查询语言HQL,这种语言与SQL相似,而且完全是面向对象的。它查询的是持久化对象,而不是数据库的记录,而且它可以支持多态、继承、关联等关系。Hibernate利用数据库配文件:hibernateproperties、XML Mapping等为应用程序提供数据持久服务的,又通过读取配置文件(hibern

20、ate.Cfg.xml)和类的映射文件(XML Mapping)中的内容,生成SessionFactory实例,并由它的openSession0方法负责每次所需的Session对象的创建,在Session对象的方法中借助持久化对象来完成对数据库的操作,而不需使用JDBC和SQL进行数据的操作。这样就避免手工编写访问数据持久层的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间,降低了开发的难度。图2-4 hibernate 架构图2.6 Struts、Spring、Hibernate的整合综上所述,表现层采用Struts框架,业务逻辑层采用Spring框架取代EJB容器,数据持久

21、层以Hibernate取代实体Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级J2EE应用框架。整个轻量级框架业务流程为:用户接口层利用JSP+HTML页面实现交互界面,负责传送页面请求和接收响应,表示层Struts收到请求,调用相应的Action,处于业务层的Spring IOC容器负责向Action提供业务服务组件(Service)和相应的数据访问处理组件(DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的Hibernate负责对象化映射与数据库交互,具体处理DAO组件请求,并返回结果。我们把整合后的框架分成四层,这四层分别是:实体层、DAO层、服务层、W

22、eb层。每个层在处理应用程序上都应该有一项明确的责任,而不应该在功能上与其它层混合,并且每个层要与其它层分开的,但要给他们之间放一个通信接口。图2-5 SSH 架构图2.7 JSTL标签库JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet2.3规范的容器上,如tomcat 4.x。但是在即将推出的JSP 2.0中是作为标准支持的。JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。JSP标准标记库(JSP Standard Tag Library JSTL)是

23、一个实现Web应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML操作以及数据库访问。JSTL 1.0 有四个定制标记库:core、format、xml 和 sql.1.core 标记库提供了定制操作,通过限制了作用域的变量管理数据,以及执行页面内容的迭代和条件操作。2.format 标记库定义了用来格式化数据(尤其是数字和日期)的操作。它还支持使用本地化资源束进行 JSP 页面的国际化。3.xml 库包含一些标记,这些标记用来操作通过 XML 表示的数据。4.sql 库定义了用来查询关系数据库的操作。3 系统需求分析3.1 B2C系统模块介绍l B2C即

24、企业通过互联网为消费者提供一个新型的购物环境网上商店,消费者可以通过网络在网上购物、亦可在网上支付。本系统主要分为前台部分和后台部分,前台部分主要实现的功能针对顾客使用,有顾客的注册和登录功能、个人信息维护功能、查看商品信息功能、搜索商品的功能、购物车功能、收藏夹功能;后台部分主要由商城的管理员使用,有管理商品信息功能、管理商品目录功能、管理订单信息功能、管理注册会员功能。这里的模块主要按照使用者不同进行分配。图3-1 本系统的前台部分和后台部分模块它们各自的功能如图3-1所示:1) 前台部分l 首先顾客可以方便地注册与登录。未注册的顾客可进行商品的查看,也可把商品放入购物车;未注册的顾客可进

25、入注册页面进行注册,但是若其顾客恶意破环,后台的管理员可以对其会员进行删除。l 顾客可以灵活地检索所需的商品信息。可采用关键字搜索。l 顾客可以方便地查看详细的商品资料。l 顾客可管理自己的购物车(包括添加或删除选购商品、修改商品购买数量、放入收藏夹及在线下订单等操作)。l 顾客可管理自己的收藏夹(包括添加或删除选购商品、放入购物车等操作)。2) 后台部分l 管理员可以方便地管理商品(新增、删除、修改商品信息)。l 管理员可以查看订单、审核、发货、取消处理。l 管理员可以删除顾客的信息。l 管理员可以对商品目录进行管理(新增、删除、修改商品目录信息)。3.2 确定用户需求要求不同类型的用户拥有

26、不同的功能,具体用户类型包括:后台管理员,顾客(未注册或未登录用户,登录用户)。用例图如下(图3-2,图3-3):图3-2 后台管理员用例图图3-3 前台顾客用例图3.3 需求规定3.3.1 对性能的规定l 要按照严格的格式输入,否则数据库不给予响应进行处理;l 查询时要保证所有包含查询关键字的记录都能查到;l 尽量减少服务器的压力;3.3.2 输入输出要求l 尽量减少输入数据量;l 输入数据格式;l 引导操作的提示;3.3.3 数据管理能力要求l 长久保存的数据存入数据库;l 购物车给于15天保存期;3.3.4 故障处理要求l 尽可能的保证数据库完好无损;l 时常备份数据库;3.3.5 运行

27、环境需求1) 设备一台具备Microsoft Windows XP/VISTA系统计算机;2) 支持软件(1)用户基础软件配置操作系统:Windows XP;相关软件工具: MyEclipse 6.6;(2)开发工具平台:Windows XP;服务器:Tomcat 6.0;数据库:MySQL 5.0;相关类库:Struts、Spring、Hibernate、JSTL等;(3)测试环境Windows XP + IE8。4 系统概要设计4.1 总体设计4.1.1 环境配置B2C系统都基于JDK1.6开发并测试,采用Tomcat 6.0做Web服务器,并在基于MyEclipse 6.6的平台上开发并

28、测试运行,数据库采用关系数据库MySQL 5.0。如此搭建出一个稳定的适于系统的应用开发运行环境。Java开发包J2SDK(Java 2 Software Development Kit)是基于Java软件开发的前提。J2SDK简称JDK,JDK1.6仍是目前的主打。Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。曾被JavaWorld杂志评为最具创新的Java产品(Most Inovative Java Product),同时它又是Sun公司官方推荐的Servlet和JSP容

29、器。Eclipse是一个开放源代码的、基于Java的可扩展开发平台。MyEclipse是Eclipse的插件,集成了对Spring、Struts、Hibernate等主流Java EE组件开发插件的支持,大大简化了Java EEj应用的开发。MySQL是由MySQL AB公司开发、发布并支持的全世界最流行的开源SQL数据库管理系统,目前最新版本为MySQL5.0,对存储过程、触发器和视图有了很好的支持,成为开源数据库之首选。4.1.2 系统结构整个系统的架构设计遵循MVC模式,将展示层、控制层、模型层(业务逻辑层)及持久层进行合理分离。表现层采用Struts框架,业务逻辑层采用Spring框架

30、取代EJB容器,数据持久层以Hibernate取代实体Bean,提供具体的数据库数据处理操作,三者进行有机整合,构成轻量级J2EE应用框架。整个轻量级框架业务流程为:用户接口层利用JSP+HTML页面实现交互界面,负责传送页面请求和接收响应,表示层Struts收到请求,调用相应的Action,处于业务层的Spring IOC容器负责向Action提供业务服务组件(Service)和相应的数据访问处理组件(DAO),并提供事务处理、日志管理等一系列系统服务,处于持久层的Hibernate负责对象化映射与数据库交互,具体处理DAO组件请求,并返回结果。4.1.3 总体模块总体设计是把总体任务分解为

31、许多基本的、具体的任务。这些具体任务合理地组织起来构成总体任务。其基本任务是将系统划分成模块,决定每个模块的功能,决定模块的调用关系,决定模块的界面及模块间信息的传递。总体设计过程首先寻找实现目标系统的各种不同的方案。通常,设计出初步的软件结构后还要多方改进,从而得到更合理的结构,进行必要的数据库设计。图4-1 B2C系统总体模块图4.2 功能模块B2C系统大致可以划分为9个功能模块:4.2.1 用户顾客注册、登录模块用户可以通过填写注册信息注册成为会员,会员登陆后可以进行个人信息管理和购物车等重要操作,未登录或未注册的顾客只能检索浏览商品信息和购物车处理。在注册信息时,系统会对注册信息进行有

32、效性的验证,有效才会注册成功。图4-2 用户注册、登录模块活动图4.2.2 商品检索、浏览模块用户可以直接查看商品的全部信息(如商品名称、商品图片、商品价格、商品折扣、商品介绍等),也可以根据不同的商品种类浏览商品信息,也可以透过输入关键字对商品进行检索,查看其信息。图4-3 商品检索、浏览模块活动图4.2.3 个人信息管理模块该模块可修改用户的一系列信息,包括修改用户名/昵称、密码;查看一个月内订单、已取消订单、全部订单;申请取消订单;管理地址簿(添加/修改/删除/是否为首要配送地址)。图4-4 个人信息管理模块活动图4.2.4 购物车/收藏夹模块顾客未登录时,选中商品可添加购物车;可对选中

33、的商品进行修改购买数量、删除;清空购物车等操作。当顾客登陆后,可对选中商品进行放入收藏夹操作;放入的商品可进行删除操作;当顾客要结账时,有配送地址选择。图4-5 购物车/收藏夹模块活动图4.2.5 后台登录模块后台管理员输入账号密码可以在后台登录,登录验证模块根据输入的账号密码识别不同角色的管理员,然后进入不同的后台管理模块,账号密码输入错误后给出错误提示并要求重新输入。图4-6 后台登录模块活动图4.2.6 商品管理模块管理员可以查看商品种类和信息,并且可以进行新增、修改、删除商品等操作。图4-7 商品管理模块活动图4.2.7 商品目录管理模块管理员可以查看商品父目录和子目录,并且可以进行新

34、增、修改、删除商品父/子目录等操作。图4-8 商品管理目录模块活动图4.2.8 订单管理模块订单管理员登录后,可以根据日期范围、订单完成状态、订单编号等取得订单列表与查看某订单的详情,也可以修改订单的完成状态及订单中的商品或数量,还可以删除订单本身及订单中的商品。图4-9 订单管理模块活动图4.2.9 会员管理模块管理员登录后,可以取得会员列表,可以对某个会员执行删除操作。图4-10 会员管理模块活动图5 系统详细设计5.1 数据库设计5.1.1 ER图设计图5-1 B2C系统ER图从图5-1可看出各数据表之间的各种关联关系,各关联关系将会在Hibernate的映射文件中体现出来。l 注册用户

35、与地址栏为一对多关联:一个用户可以有多个地址,而每个地址只能属于一个用户。l 注册用户与订单为一对多关联:一个用户可以有多个订单,而每个订单只能属于一个用户。l 订单与订单项为一对多关联:一个订单可以有多个订单项,而每个订单项只能属于一个订单。l 注册用户与收藏夹里的商品为一对多关联:一个用户可以有多个收藏夹商品,而每个收藏夹里的商品只能属于一个用户。l 商品目录与商品为一对多关联:一个商品目录可以有多个商品,而每个商品只能属于一个商品目录。l 购物车与商品为一对多关联:一个购物车可以有多个商品,而每个商品只能属于一个购物车。5.1.2 数据表设计表5-1 注册会员表(users)字段名称数据

36、类型主键是否允许为空描述USERS_IDBIGINT(20)会员的ID号BONUSPOINTBIGINT(20)外键会员积分的IDLOGONIDVARCHAR(30)登录账号LOGONPASSWORDVARCHAR(45)登录密码USERTYPECHAR(3)用户类别:A为管理员;C为用户USERNAMEVARCHAR(30)昵称STATUSINTEGER用户是否可用REGISTRATIONTIMESTAMP注册时间MEMBERCLASSCHAR(10)用户级别表5-2 地址栏表(address)字段名称数据类型主键是否允许为空描述ADDRESS_IDBIGINT(20)地址栏ID号USERS

37、_IDBIGINT(20)外键会员的ID号USERNAMEVARCHAR(30)配送姓名ISPRIMARYINTEGER是否为主要地址PROVINCEVARCHAR(30)省ZIPCODEVARCHAR(10)邮编SELFADDRESSVARCHAR(256)配送地址TELVARCHAR(30)固定电话MOBILEVARCHAR(30)移动电话MARKFORDELETEINTEGER删除标记表5-3 商品表(product)字段名称数据类型主键是否允许为空描述PRODUCT_IDBIGINT(20)商品的ID号CATEGORY_ID_PARENTBIGINT(20)外键商品类别的IDPRODU

38、CTNAMEVARCHAR(100)商品名称PRICEDECIMAL(20,2)商品价格DISCOUNTINTEGER商品折扣QUANTITYINTEGER商品数量THUMBNAILVARCHAR(254)商品图片DESCRIPTIONVARCHAR(3000)商品描述LASTUPDATETIMESTAMP最后更新时间MARKFORDELETEINTEGER删除标记HOMETYPEINTEGER主页显示类别表5-4 购物车表(shoppingcars)字段名称数据类型主键是否允许为空描述SC_IDBIGINT(20)购物车的ID号PRODUCT_IDBIGINT(20)外键商品ID号CARSE

39、SSIONVARCHAR(45)未登录SESSION;登陆后值为用户名PRODUCTNAMEVARCHAR(100)商品名称TOTALPRICEDECIMAL(20,2)总金额DISCOUNTINTEGER折扣CARNUMINTEGER待购物商品数量DISPRICEDECIMAL(20,2)折扣总金额表5-5 收藏夹表(wishlist)字段名称数据类型主键是否允许为空描述WISHLIST_IDBIGINT(20)收藏夹ID号USERS_IDint外键用户IDPRODUCT_IDint外键商品ID表5-6 订单表(Orders)字段名称数据类型主键是否允许为空描述ORDERS_IDBIGINT

40、(20)订单ID号ADDRESS_IDBIGINT(20)外键地址栏ID号USERS_IDBIGINT(20)外键用户IDSTATUSCHAR(3)订单状态CREATETIMETIMESTAMP创建时间SHIPCHARGEDECIMAL(20,2)配送费用TOTALPRICEDECIMAL(20,2)总价格ADJUSTMENTDECIMAL(20,2)打折完价格加上配送金额POINTPRICEDECIMAL(20,2)积分获得DISCOUNTPRICEDECIMAL(20,2)打折完价格表5-7 订单项表(orderitems)字段名称数据类型主键是否允许为空描述ORDERITEMS_IDBI

41、GINT(20)订单项ID号ORDERS_IDBIGINT(20)外键订单ID号PRODUCT_IDBIGINT(20)外键商品ID号CREATETIMETIMESTAMP创建时间QUANTITYINTEGER数量PRICEDECIMAL(20,2)价格DISCOUNTPRICEDECIMAL(20,2)打折后最终价格表5-8 目录表(category)字段名称数据类型主键是否允许为空描述CATEGORY_IDBIGINT(20)目录ID号CATEGORYNAMEVARCHAR(30)目录名称MARKFORDELETEINTEGER删除标记LASTUPDATETIMESTAMP最后更新ISTO

42、PINTEGER是否是父目录CATEGORY_ID_PARENTBIGINT(20)所属父目录类别5.2 架构设计5.2.1 带日志功能的设计在SSH整合时很容易出错,使用log4j日志,能够详细的知道错误的原因;不用log4j有些问题很难发现。5.2.2 Web.xml配置文件在web.xml中配置中文过滤器、Struts标签库、Struts中央控制器ActionServlet及默认的欢迎文件列表等。下图为过滤器配置文件。 cc com.cc.method.FilterImpl cc /* 5.2.3 Struts配置文件在Struts配置文件struts-config.xml中主要配置:l

43、 配置ActionForm Beanl 配置Struts-Spring插件l 配置Validator插件图5-2 struts-config.xml配置文件图5.2.4 Spring配置文件l Spring连接MYSQLl Spring自动生成的方法联结5.2.5 Hibernate自动生成的文件 其中Abstract-前缀的为基类,DAO为方法。5.2.6 工程包层次结构图5-3工程包层次结构图说明:m src存放JAVA源代码m bean存放一些FORM用到的JAVA集合m hib存放所有与数据库操作相关的DAO类m struts存放所有Struts的FormBean、Action类及消息资源文件m b存放所有后台管理所用到的JSP页面m CSS存放CSS样式表文件m image存放应用中所有的图片素材文件m JS存放应用中所有的JavaScript脚本文件m upload存放应用中所有上传的图片文件5.3 详细模块设计5.3.1 顾客注册、登录模块顾客只有通过注册才能成为会员,会员只有登录后才能进行管理自己的收藏夹、订单等操作。图5-4顾客注册、登录模块图控制层Struts的实现:顾

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号