毕业设计(论文)-基于J2EE的网上购物系统的设计.doc_第1页
毕业设计(论文)-基于J2EE的网上购物系统的设计.doc_第2页
毕业设计(论文)-基于J2EE的网上购物系统的设计.doc_第3页
毕业设计(论文)-基于J2EE的网上购物系统的设计.doc_第4页
毕业设计(论文)-基于J2EE的网上购物系统的设计.doc_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业论文(设计)本科毕业论文(设计) 题 目 基于 Jsp 的网上购物系统设计 学生姓名 专业名称 指导教师 基于基于 J2EE 的网上购物系统的设计的网上购物系统的设计 摘摘 要要: 在 Internet 飞速发展的今天,互联网已成为人们快速获取、发布和传递 信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。 由于网上购物的兴起,消费者的购物过程变得越来越轻松、快捷,人们足不出 户就可以购买所需商品,从而方便的满足了现代人快节奏的生活方式。与此同 时,网上销售不仅能有效的节省了运输、储藏等运营成本,而且跨越了交易的 地域局限性。因此能够满足以上要求的电子商务网站越来越受到人们的重视, 它已成为各行业经营者营销的主要手段。本文以开发网上购物系统为背景,对 基于 MVC 模式的 Struts 框架、Hibernate 的 ORM 机制和对持久化对象持久化的 管理,以及 Spring IoC(控制反转)技术进行了探讨,整合这三种框架:表现层使 用 Struts;持久层使用 Hibernate 进行系统的开发。此外,结合具体的实例对系 统的设计与实现作了详细的说明,验证了以上方法的可行性。最后,对基于 SSH 技术开发购物系统整个过程进行了总结。 关键词关键词: J2EE;MVC ;Struts;Hibernate ;Spring ;整合 Design of Technology-based Online Shopping System J2EE Abstract: Today, with the development of Internet, The internet has become an important channel for fast receiving, releasing and sending information. An important role is being played in peoples political, economic and the other aspects of life. Because of the rise of online shopping, going shopping is becoming increasingly easier and faster for consumers. People can purchase the necessary goods at home. Thus, it satisfies the modern fast-paced lifestyle facilitatingly. At the same time, online marketing can effectively save the transport, storage and other operating costs, it also can beyond the geographical limitations of the transaction. Therefore, more and more attention has been paid to the e-commerce sites, the e-commerce sites that are able to meet the above requirements . The e-commerce sites has been mostly used by the industry operators for marketing. The article is based on the developing of online shopping system. The struts framework, Hibernates ORM mechanism, the persistence management of persistent object and Spring IoC(Inversion of Control) technology will be discussed .The Struts framework is based on MVC. These three frameworks are integrated: Struts are used in presentation layer, spring is used in business layer, Hibernate develops system is used in persistence layer. Besides, with the context of specific examples, detail description is done about the design and implementation of the system, and the feasibility of the above methods is verified. In the end , summarization is made about the advantages and disadvantages of the shopping system development. The shopping system is based on the SSH technology. Keywords: J2EE ; MVC ; Struts ; Hibernate ; Spring ; Integration 目目 录录 1 1 系统的开发背景系统的开发背景 .1 1 1.1 问题的提出 .1 1.2 问题的解决 .1 1.3 本章小结 .1 2 2 SSHSSH 相关技术的介绍相关技术的介绍 .2 2 2.1 STRUTS的介绍.2 2.2 HIBERNATE技术 .2 2.3 JSP 语言.3 2.4 XML 语言.4 2.5 本章小结 .4 3 3 系统的需求分析系统的需求分析 .5 5 3.1 编写目的 .5 3.2 系统目标 .5 3.3 运行环境搭建 .5 3.4 功能需求 .6 3.4.1 功能模块划分:.6 3.4.2 功能的描述:.6 3.5 性能需求 .9 3.6 本章小结 .9 4 4 系统的概要设计系统的概要设计 .1010 4.1 系统总体结构设计 .10 4.1.1 系统前台设计.10 4.1.2 系统后台设计.11 4.2 数据库设计 .12 4.2.1 数据库设计需求分析.12 4.2.2 数据库表结构.12 4.3 本章小结 .15 5 5 系统的实现系统的实现 .1616 5.1 整合 SSH 的关键代码 .16 5.2 主要业务逻辑的代码 .24 5.3 本章小结 .38 总结总结.3939 参考文献参考文献.4040 致致 谢谢.4141 0 1 系统的开发背景系统的开发背景 1.11.1 问题的提出问题的提出 在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的 重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。由于网 上购物的兴起,消费者的购物过程变得越来越轻松、快捷,人们足不出户就可 以购买所需商品,从而方便的满足了现代人快节奏的生活方式。与此同时,网 上销售不仅能有效的节省了运输、储藏等运营成本,而且跨越了交易的地域局 限性。因此能够满足以上要求的电子商务网站越来越受到人们的重视,它已成 为各行业经营者营销的主要手段。 由于电子商务的内部逻辑复杂、安全性要求苛刻、商务形式发展变化快 ,J2EE传统的JSP /Servlet开发模式常常带来显示、业务和数据的高耦合,造成 软件难以复用,不能满足目前大型的Web应用开发中普遍要求降低开发团队的 技术成本和分工协作难度,缩短开发时间的要求。 1.2 问题的解决问题的解决 在以上需求下产生了 J2EE 的框架技术。框架在 Web 中的应用以其层次性、 平台无关性、安全性和可扩展性,已成为目前电子商务系统主要的解决方案。 集成 Struts、Spring 和 Hibernate 三种 J2EE 框架技术可快速构建一个多层的可复 用的电子商务网站。本系统采用 Jsp、JavaScript、Struts、Hibernate、CSS、Mysql 等技术进行整合,充分利用 J2EE 框架的优点和代码复用技术完成设计。 1.3 本章小结本章小结 本章主要介绍了此系统的开发背景。提到问题是在什么情况下提出的,以 及如何解决该问题。 1 2 SSH 相关技术的介绍相关技术的介绍 2.1 Struts 的介绍的介绍 Struts 是Apache 组织的一个开放源码项目,它是一个比较好的MVC 框架, 提供了对开发MVC 系统的底层支持, 是基于MVC 分离思想的杰出产品。 MVC 设计模式起源于Smalltalk 语言, 由控制器(Controller)、模型(Mode1)、 视图(View)部分组成。其主要的设计理念是通过控制器将表现逻辑和业务逻辑 解耦,可以使界面显示需求变化的时候, 业务逻辑的改变大大减少; 模型和 控制器的划分使得可以通过控制器方便地分发业务逻辑, 根据不同的用户显示 不同的内容。从而提高了系统的可维护、可扩展、可重用性。Struts 的 Controller 是通过ActionServlet对象实现的。这个控制器获得View(JSP)的请求后 根据ActionMapping 对象调度相应的Model(Action 对象)处理业务逻辑。并根据 获得的处理结果(ActionForward 对象) 装配View(JSP) 来响应,同时通过 ActionForwad 对象封装数据在Model 和View之间交互使用。Struts 还通过自定 义的标签库丰富了View层的JSP 技术, 方便了页面设计。 2.2 Hibernate 技术技术 Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量 级的对象封装,使Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 它不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。 相对于使用JDBC和SQL来手工操作数据库, Hibernate可以大大减少操作数据 库的工作量。 另外Hibernate可以利用代理模式来简化载入类的过程,这将大大 减少利用Hibernate QL从数据库提取数据的代码的编写量,从而节约开发时间和 开发成本Hibernate可以和多种Web服务器或者应用服务器良好集成,如今已经 支持几乎所有的流行的数据库服务器。 Hibernate技术本质上是一个提供数据库服务的中间件。Hibernate的工作原 理,它是利用数据库以及其他一些配置文件如Hperties,XML Mapping等来为应用程序提供数据持久化服务的。 2 Hibernate具有很大的灵活性,但同时它的体系结构比较复杂,提供了好几 种不同的运行方式。在轻型体系中,应用程序提供JDBC连接,并且自行管理事 务,这种方式使用了Hibernate的一个最小子集;在全面解决体系中,对于应用 程序来说,所有底层的JDBC/JTA API都被抽象了,Hibernate会替你照管所有的 细节 2.3 JSP 语言语言 JSP(Java Server page)是由 Sun Microsystems 公司提倡、多家公司参与建立 的一种功能强大的动态网页技术标准。JSP 为创建高度动态的 Web 应用提供了 一个独特的开发环境,能够适应市场上包括 Apache Web Server、IIS4.0 在内的 85%的服务器产品。相对于其他网页技术,JSP 具有很多优势. 客户端与服务器的交互是通过 HTTP 协议进行的。客户端与服务器完成一 次 HTTP 交互需要下面 4 个步骤: 客户和服务器建立连接 发送客户请求 服务器应答 关闭连接 服务器端在整个交互过程中完全处于被动地位,也就是说服务器不能主动 将信息发送到客户端。这里的客户端主要是指用户的浏览器,当用户在浏览器 中键入要访问的网址,开始与指定的服务器建立连接,开始一次交互过程。浏 览器经过一段时间等待后,从服务器得到响应,并且把相应的信息以 HTML 方 式呈现给用户。 用户与一个 JSP 网站交互的过程与一个普通的网站交互的过程没有什么不 同,惟一的区别在于服务器接受请求和进行应答的过程 服务器在收到一个请求后首先要分析这个请求,如果要求访问的页面是 一个 HTML 页面、那么服务器将直接读出这个 HTML 页面并将这个页面传给 客户端作为响应。 如果请求访问的页面是一个 JSP 页面,那么服务器将调用 JSP 引擎对这 个 JSP 页面进行处理,将处理得到的 HTML 代码返回给客户端。 3 JSP 引擎在处理一个 JSP 页面时,如果遇到 JavaBeans 组件,那么 JSP 引擎将调用相应的 JavaBeans 组件,得到 JavaBeans 返回的值,在返回给 JSP 页 面。 2.4 XML 语言语言 XML,或称为可扩展标记语言(Extensible Markup Language),是一种可以 用来创建自己标记的标记语言。它由万维网协会(W3C)创建,用来克服 HTML(即超文本标记语言(Hypertext Markup Language) )的局限。和 HTML 一样,XML 也是基于 SGML标准通用标记语言(Standard Generalized Markup Language)的。尽管 SGML 已在出版业使用了数十年,但其理解方面的复杂性 使许多本打算使用它的人望而却步。 XML 提供了一种标记内容的方式,可以添加关于数据用途的信息。信息使 用 XML 存储之后,称为解析器的应用程序就能够可靠地提取相关信息,并根 据不同的需要进行处理。 XML 是为 Web 设计的。Web 服务是一种技术,允许用 XML 定义业务规则和 过程,这样软件应用程序能够以平台独立和编程语言无关的方式进行通信。 XML 技术使数据可以移植,方便了消息创建,而 Java 技术则使代码可以移植。 事实上,XML 和 Java 语言可以很好地结合起来,成为构建和部署 Web 服务的 完美组合。 2.5 本章小结本章小结 本章主要介绍了 struts、Hibernate、jsp、xml 的相关技术。 4 3 系统的需求分析系统的需求分析 3.1 编写目的编写目的 随着社会发展的加快,电子商务将传统的商务流程数字化、电子化,让传 统的商务流程转化为电子流、信息流,突破了时间空间的局限,大大提高了商 业运作的效率,并有效地降低了成本,但是对于电子商务系统本身的性能而言也 是非常重要的。为了满足更多市场的需求,对一个软件系统的要求也就越来越 高。任何一个软件系统都可能受时间和资源的限制,为了避免盲目投资,减少 不必要的损失,即以最小的代价在最短的时间内确定该项目是否值得开发,所 以,必须进行需求分析,编写需求分析报告。才能将项目开发的风险降到最低。 3.2 系统目标系统目标 本系统是整合 J2EE 的三大开源的框架,并且结合安全性比较高的 MysqL 数据库来开发的。为了使系统在实际的管理中发挥更大的作用,实现工作过程 的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: 系统应具有实用性、可靠性和适用性,同时注意到先进性; 对各个数据库进行动态管理,防止混乱; 能够按照不同的条件进行简单查询和复合查询; 能够对查询结果进行分类汇总; 提高数据的安全性; 方便用户的操作,尽量减少用户的操作。 3.3 运行环境运行环境搭建搭建 操 作 系 统:WINDOWS 数 据 库 :MYSQL 开发工具包 :JDK JSP 服务器 :TOMCAT 5 3.4 功能需求功能需求 3.4.1 功能模块划分:功能模块划分: 注册和登录模块 商品展示与搜索模块 购物车模块 订单模块 顾客留言模块 修改注册资料模块 后台管理模块 3.4.2 功能的描述:功能的描述: 注册和登录模块用例图如图 1 所示 图图 1 注册和登录模块用例图注册和登录模块用例图 游客只能注册,会员和管理员可以登录。 商品模块用例图如下图 2 所示: 6 图图 2 商品模块用例图商品模块用例图 游客可以浏览商品,会员都可以浏览、搜索商品、并查看商品的详细信息 和购买商品。管理员可以浏览、搜索商品,查看商品的详细信息,并且可以添 加、修改和删除商品。 订单模块用例图如下图 3 所示: 图图 3 订单模块用例图订单模块用例图 会员可以下订单、查看订单、修改订单,管理员可以查看、受理、修改和删除 7 订单。 购物车模块用例图如下图 4 所示: 图图 4 购物车模块用例图购物车模块用例图 会员可以添加商品到购物车、查看购物车中的商品情况、修改购物车中的 商品数量、删除购物车中的某种商品、清空购物车 顾客留言模块用例图如下图 5 所示: 图图 5 顾客留言模块用例图顾客留言模块用例图 游客和会员都可以浏览、查看和发表留言,管理员可以浏览、查看、回复 8 和删除留言。 3.5 性能需求性能需求 精度精度 查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到。 时间特性要求时间特性要求 响应时间: 23 秒内 更新处理时间:23 秒内 数据的转换和传送时间:34 秒内 3.6 本章小结本章小结 本章主要介绍了对此系统做的需求分析。从运行环境、功能需求、性能需求 等方面,进行了详细的分析。系统的目标是使系统在实际的管理中发挥更大的 作用,实现工作过程的计算机化,提高工作效率和工作质量。 9 4 系统的概要设计系统的概要设计 4.1 系统总体结构设计系统总体结构设计 主要描述系统的前台设计结构、后台设计结构以及各个模块实现的功能。 4.1.1 系统前台设计系统前台设计 系统前台设计如图 6 所示: 数据库 服务器 登 录 用户注册 商品浏览和搜索 顾 客 留 言 购 物 车 下 订 单 用户自资料修 改 浏览器 图图 6 系统前系统前台总体结构设计用例图台总体结构设计用例图 系统前台模块功能介绍: 注册和登录模块:游客可以免费注册;会员登录时对用户名、密码和验证 码进行合法验证;用户注册时对注册字段进行验证。 商品的浏览与检索模块:主要向用户展示商品和检索想要查看的商品。 商品的查看模块:用户可查看商品的详细信息。 顾客留言模块:用户可以浏览和发表网站最新的消息。 10 订单模块:已登录的会员可以下订单和查看自己的订单。 购物车模块:用户可将要购买的商品放入,也可修改和删除购物车中的商 品信息,购物车可以自动将金额汇总。 修改注册资料模块:用户可以修改自己的注册资料。 4.1.2 系统后台设计系统后台设计 系统后台设计如图 7 所示: 数据库 服务器 商品分类管理 商 品 管 理 特价商品管理 系统用户管理 订单管理 会员管理 安全退出 浏览器 图图 7 系统后台系统后台总体结构设计用例图总体结构设计用例图 系统后台模块功能介绍: 后台登录模块:对输入的用户名、密码和验证码进行验证。 商品分类管理模块:商品管理员可以对商品类别的添加、删除和修改。 商品管理模块:商品管理员可以对商品的添加、删除,检索和修改。 订单管理模块:订单管理员可以对订单的查看、受理、删除和修改。 会员管理模块:会员管理员可以对会员的添加、删除、修改和查看。 留言管理模块:会员管理员可以对顾客留言进行的添加、修改和删除。 系统管理模块:系统管理员可以对系统管理员的身份进行添加、修改。 11 4.2 数据库设计数据库设计 4.2.1 数据库设计需求分析数据库设计需求分析 根据系统模块设计的需求,需要建立 9 张数据表来进行数据的存储于表关系 的关联,本系统说采用的数据库是 MySql5.1 的数据库,之所以采用 Mysql 是因 为 Mysql 容易上手维护方便,对于刚接触的新手来说还是很有帮助的,本系统 不要求数据库有太多的容载量,只需要进行简单数据、文本关系的存储就可以 了。 4.2.2 数据库表结构数据库表结构 表表 4.1 admin (管理员基本信息表管理员基本信息表) 主要用于保存超级管理员的信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement AdminTypeInt(4)YesNull AdminNameChar(12)YesNull LoginNameChar(12)YesNull LoginPwdChar(12)YesNull 表表 4.2 orders(订单基本信息表订单基本信息表) 主要用于保存订单的基本信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement MemberInt(4)YesNull CartInt(4)YesNull OrderNoChar(20)YesNull OrderDateDatetimeYesNull OrderStatusInt(4)YesNull 12 表表 4.3 Leaveword(顾客留言信息表顾客留言信息表) 主要用于保存顾客留言的基本信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement MemberInt(4)YesNull AdminInt(4)YesNull ContentInt(4)yesNull LeaveDateDatatimeyesNull AnswerContentTextyesNull TitleChar(60)yesNull AnswerDateDatetimeyesNull 表表 4.4 member (会员基本信息表会员基本信息表) 主要用于保存会员的基本信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement MemberLevelInt(4)NoNull LoginNameChar(12)YesNull LoginPwdChar(12)YesNull MemberNameChar(20)YesNull PhoneChar(15)YesNull AddressVarchar(100 ) YesNull ZipChar(10)YesNull RegDateDatatimeYesNull LastDateDatatimeYesNull LoginInt(4)YesNull EMailVarchar(100YesNull 13 ) 表表 4.5 memberlevel (会员级别信息表会员级别信息表) 主要用于保存会员级别的信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement LevelNameChar(20)YesNull FavourableInt(4)YesNull 表表 4.6 category (商品基本信息表商品基本信息表) 主要用于保存商品的基本信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement cateNameChar(40)YesNull cateDesctextYesNull 表表 4.7 merchandise (商品详细信息表商品详细信息表) 主要用于保存商品的详细信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement CategoryInt(4)YesNull MerNameChar(40)YesNull PriceDecimal(8,2)YesNull SPriceDecimal(8,2)YesNull MerModelChar(40)YesNull PictureVarchar(100 ) YesNull MerDescTextYesNull 14 ManufacturerChar(60)YesNull LevelFactoryDateDatetimeYesNull SpecialInt(4)YesNull 表表 4.8 cart (会员购物信息表会员购物信息表) 主要用于保存会员购物信息信息,该表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement MemberInt(4)YesNull MoneyDecimal(9,2)YesNull CartStatusInt(4)yesNull 表表 4.9 cartselectdmer(订单项信息表订单项信息表) 主要用于保存订单项的基本信息(每个订单包括一个或多个订单项) ,该 表的结构下图所示 FieldTypeNullKeyDefaultExtra IDInt(4)NopriNullAuto_inceement CartInt(4)YesNull MerchandiseInt(4)YesNull NemberInt(4)YesNull PriceDecimal(8,2)YesNull moneyDecimal(9,2)YesNull 4.3 本章小结本章小结 本章主要介绍了此系统的概要设计。首先对系统的总体结构进行设计,将 系统分为七大功能模块,画出每个功能模块的用例图。然后对系统所需要的数 据库进行了逻辑设计和物理设计。 15 5 系统的实现系统的实现 5.1 整合整合 SSH 的关键代码的关键代码 web.xml 文件中的配置文件中的配置 CharacterEncodingFilter com.filter.CharacterEncodingFilter encoding GB2312 ignore true CharacterEncodingFilter action /struts-bean 16 /WEB-INF/tld/struts-bean.tld /struts-html /WEB-INF/tld/struts-html.tld /struts-logic /WEB-INF/tld/struts-logic.tld com.metaparadigm.jsonrpc.JSONRPCServlet com.metaparadigm.jsonrpc.JSONRPCServlet com.metaparadigm.jsonrpc.JSONRPCServlet /JSON-RPC action org.apache.struts.action.ActionServlet config /WEB-INF/struts-config.xml debug 17 3 detail 3 0 action *.do index.htm 以上代码主要配置了 Struts 的中央控制器 AcionServlet 的截取方式为 “*.do” ,过滤字符的 filter 过滤器的截取方式为“/*” 。并且将 Struts 和 Spring 进行整合。 struts-config.xml 文件中的配置文件中的配置 18 . 20 21 以上代码配置了ActionForm和Action的相关信息,实现了对提交的数据进 行自动收集,并且根据ActionMapping的参数自动实例化相应的Action。然后根 据具体的需要进行转向,或者发生异常时进行转向。 hibernate.cfg.xml文件中的配置文件中的配置 MySQL_JDBC jdbc:mysql:/localhost:3306/db_eshop?useUnicode=truecharacterEncoding =gb2312 22 root root com.mysql.jdbc.Driver org.hibernate.dialect.MySQLDialect org.hibernate.hql.classic.ClassicQueryTranslatorFactory org.hibernate.connection.C3P0ConnectionProvider 20 5 50000 100 3000 true 23 以上代码首先配置了数据源和sessionFactory对象,建立了与数据库的连接, 可以通过映射文件关联数据库中对应的表。在Dao的实现当中可以通过操作对 象来实现对表的操作。其次,实现了对接口和类的自动实例化,并且配置了它 们之间的依赖关系,对于某些对象需要用到的属性或对象的引用,可以通过 setter方法注入过来。实现数据的持久化。 5.2 主要业务逻辑的代码主要业务逻辑的代码 用户注册模块关键代码用户注册模块关键代码 public class MemServiceImpl extends BaseLog implements MemService /* 新增注册会员 */ public boolean addMember(Member member) throws Exception Session session = MySessionFactory.getSession(); Transaction tx = null; boolean result = false; try tx = session.beginTransaction(); session.save(member); mit(); result=true; catch(Exception ex) if(tx!=null)tx.rollback(); (在执行 MemServiceImpl 类中的 addMember 方法时出错: n); ex.printStackTrace(); finally 24 MySessionFactory.closeSession(); return result; /* 浏览会员级别 */ public List browseMemberLevel() throws Exception Session session = MySessionFactory.getSession(); Transaction tx = null; List list = null; tryQuery query = session.createQuery(from Memberlevel as a order by a.id); tx = session.beginTransaction(); list = query.list(); mit(); if (!Hibernate.isInitialized(list)Hibernate.initialize(list); catch(Exception ex) if(tx!=null)tx.rollback(); (在执行 MemServiceImpl 类中的 browseMemberLevel 方法时出错: n); ex.printStackTrace(); finally MySessionFactory.closeSession(); return list; /* 检测登录帐号是否有效 */ public boolean chkLoginName(String loginName) throws Exception Session session = MySessionFactory.getSession(); Transaction tx = null; boolean result = true; try 25 String hql = select count(*) from Member as a where a.loginName=:loginName; Query query = session.createQuery(hql); query.setString(loginName, loginName); query.setMaxResults(1); tx = session.beginTransaction(); if (Integer)query.uniqueResult().intValue()0)result=false; mit(); catch(Exception ex) if(tx!=null)tx.rollback(); (在执行 MemServiceImpl 类中的 chkLoginName 方法时出错:n); ex.printStackTrace(); finally MySessionFactory.closeSession(); return result; 用户注册模块运行图如下图 8 所示: 26 图图 8 用户注册模块运行图用户注册模块运行图 购物车模块关键代码购物车模块关键代码 public class CartServiceImpl extends BaseLog implements CartService /* 选购商品 */ public boolean addCart(Member member, Merchandise mer, int number) throws Exception Session session = MySessionFactory.getSession(); Transaction tx = null; boolean status = false; try Cartselectedmer sel = null; int favourable = member.getMemberlevel().getFavourable().intValue(); /判断该会员是否已经有使用中的购物车 String hql =from Cart as a where a.member=:member and a.cartStatus=0; Query query = session.createQuery(hql); query.setEntity(member, member); query.setMaxResults(1); tx = session.beginTransaction(); Cart cart = (Cart)query.uniqueResult(); if (cart=null) cart = new Cart(); cart.setCartStatus(new Integer(0); cart.setMember(member); cart.setMoney(Double.valueOf(number*mer.getPrice().doubleValue(); cart.getMerchandises().add(mer); session.save(cart); 27 else /如果选购的是已经选购过的商品则只增加商品数量即可 . . . . . . . /* 更新购物车 */ public boolean updateCart(Cart cart) throws Exception Session session = MySessionFactory.getSession(); Transaction tx = null; boolean status = false; try tx = session.beginTransaction(); session.update(cart); mit(); status = true; catch(Exception ex) if(tx!=null)tx.rollback(); (在执行 CartServiceImpl 类中的 updateCart 方法时出错:n

温馨提示

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

评论

0/150

提交评论