




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
J2EE课程设计--基于SSH电子商城的J2EE课程设计目录摘要 -1-Abstract -2-1. 引言 -3-2. 设计目的与任务 -4-3. 系统设计 -4-3.1分层模式 -4-3.2开发技术与工具 -5-3.2总体设计 -10-3.2.1系统总体结构 -10-3.2.2流程图 -11-3.3详细设计 -13-3.3.1数据库设计 -13-3.3.2系统开发规范及说明 -18-3.3.2具体模块设计 -20-4.程序清单 -27-4.1数据库脚本 -27-4.2项目实现部分代码 -30-5.程序调试与体会 -42-6.运行结果 -42-7.结论 -51-8.致谢 -51-9.参考文献 -51-
摘要随着信息化网络的发展,网络对人们的生活影响越来越大,网上购物也逐渐成为一种趋势,这对电子商场的发展起到了很在的推进作用。本文主要通过对电子商城的应用环境和主要实现功能进行分析,叙述了本电子商城的设计与实现过程,并对其总结。项目主要应分层架构思想,通过J2EE轻量级框架SSH与前台Ajax技术来相结合来实现。在设计种过中全方位的应用软件工程的开发思想,对项目进行UML建模包括各模块的类图、时序图等。因为系统是基于B/S结构,所以适应范围广阔。关键词:电子商城,SSH,Ajax,框架
AbstractWiththedevelopmentofinformationnetworks,thenetworkeffectofincreasingpeople'slives,onlineshoppingisbecomingatrend,whichisthedevelopmentofelectronicstoreplayedaroleinthepromotion.Thisarticlemainlythroughtheapplicationofe-mallenvironmentandthemainachievementoffunctionalanalysis,describedintheElectronicMall'sdesignandimplementation,anditssummary.Applicationarchitecturemodelmainlyanemia,lightweightJ2EEframeworkthroughSSHwiththefrontdesktothecombinationofAjaxtechnologytoachieve.Plantedinthedesignofafullrangeofapplicationsinthedevelopmentofsoftwareengineeringideas,theprojectmodule,UMLmodelingincludingclassdiagrams,sequencediagrams.BecausethesystemisbasedonB/Sstructure,sotoadapttoabroadrange.Keywords:ElectronicMall,SH,Ajax,Framework引言 网上购物迅猛发展,导致电子商城大量的涌现,而电子商城的出现不仅改变了人们传统的购物方式,也逐渐的影响着人们的消费观,一个好的电子商城不仅能给客户带来方便,更能给企业带来巨大的财富。本商城主要利用J2EE与Ajax技术进行开发,有很强的安全性、可靠性、可扩展性。其前台实现了从商品选购到订单提交整个业务流程,后台实现了对整个系统的管理,就整体功能而言,基本能满足基本的网上购物需求,相信一定能让用户感到便捷、快速,让企业管理、维护更简单。设计目的与任务随着信息化技术在生活中的应用越来越广泛,网上购物也逐渐成为人们的一种生活方式。本系统正是基于这样一种环境下应运而生。本电子商城分为前、后台两部分,前台主要实现会员的网上购物业务流程,后台则由各种管理员对商城会员、商品、定单等内容进行管理。系统设计3.1分层模式本系统的开发主要分为以下几层:表示层、业务层、DAO层、持久层。业务层和DAO层都通过接口与其它层进行连接从而减小了各层之间的耦合度,实现高内聚、低耦的思想。分层结构图如下所示。图3-1系统分层结构3.2开发技术与工具主要开发工具为:MyEclipse8.6、Mysql6.0、Tomcat6.0、PowerDesigner12。主要技术包括:J2EE轻量级框架S2SH、MD5算法、Log4j、Ajax、JSON。S2SH集成框架是Struts、Spring和Hibernate三种技术的有机融合,是目前应用最广泛的JavaEE架构。在S2SH集成框架中,Struts的作用是提供MVC模型,将界面、业务逻辑和数据分离,并提供一个高可扩展的架构。Spring作为核心,向上整合MVC框架,向下整合ORM框架,使用Spring的IoC容器来管理各组件之间之间的依赖关系,Spring的声明事务将负责逻辑层组件的事务管理。而Hibernate提供了一个抽象的数据服务视图,将用户对数据库的访问进行高度抽象。Struts是目前创建Web应用最常用的表现层MVC框架实现,是JakartaApache的一个开源项目。基于Model2的Struts框架利用控制器和定制标签库将应用中的模型和视图分离,达到了层间松散耦合的效果,同时提高系统的灵活性、重用性和维护性。作为开源项目,Struts经受了大量实践的检验,功能越来越强大,体系也日臻完善,并且对其他技术和框架显示出良好的融合性。图3-2Struts2.0MVC结构图Spring由RodJohnson创建,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。简单来说,Spring是一个轻量级的控制反转IoC和面向切面AOP的容器框架。图3-3Spring功能图Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。图3-4Hibernate运行图AJAX是AsynchronoutJavaScriptandXML的缩写,它并不是一门新的语言或技术,实际上是几项技术按一定的方式组合在一起,在共同的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换和处理;使用XMLHttpRequest进行异步数据读取;最后用JavaScript绑定和处理所有数据。AJAX的一个最大的特点是无需刷新页面便可向服务器传输或读写数据(又称无刷新页面),这一特点要得益于XMLHTTP组件XMLHttpRequest对象。这样就可以像再发桌面应用程序只同服务器进行数据层面的交换,而不用每次都刷新界面,也不用每次将数据处理的工作提交给服务器来做,这样即减轻了服务器的负担又加快了响应速度、缩短了用户等候时间。图3-5Ajax模型JSON(JavaScriptObjectNotation,JavaScript对象标记)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用与编程语言无关的文本格式,但是也使用了类C语言的习惯,这些特性使JSON成为理想的数据交换格式。而AJAX可以利用JSON更加有效地接收数据,因为JSON特殊的属性。在Struts2的showcase中的AJAX部分,JSON的结果输出是通过Freemaker模板实现。这种方法在简易性和灵活性上都比不上JSON插件。MessageDigestAlgorithmMD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。当用户登录的时候,系统把用户输入的密码进行MD5Hash运算,然后再去和保存在文件系统中的MD5值进行比较,进而确定输入的密码是否正确。通过这样的步骤,系统在并不知道用户密码的明码的情况下就可以确定用户登录系统的合法性。这可以避免用户的密码被具有系统管理员权限的用户知道。Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件、甚至是套接口服务器、NT的事件记录器、UNIXSyslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。3.2总体设计3.2.1系统总体结构 本系统分为前台和后台两部分,前台提供一条网上购物业务流程的功能实现,主要实现模块见图3-1;后实现对前台功能信息的管理,主要实现模块见图3-2。前台功能模块:图3-6:前台功能模块后台功能模块:图3-7:后台功能模块3.2.2流程图前台主要分为非会员用户和会员用户,其中只有会员用户才能实现在线购物,而非会员用户必需进行注册。后台用户主要分为商品管理员、会员管理员、定单管理员、系统维护员,不同的管理员实现不同的功能。前台流程图:图3-8:前台流程图后台流程图:图3-9:后台流程图3.3详细设计3.3.1数据库设计本系统数据库开发主要基于Mysql6.0数据库管理工具,包括8个数据库表如下所示:数据字典e_shop数据表清单:表名 解释 ADMIN 管理员表 CART 购物车表 EVALUATE 商品评价表 MEMBER 会员表 MERCHANTABLE 商品表 ORDERS 定单表 RECORD 记录表 TYPES 类别表 表名:ADMIN解释:ADMINadmin 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 ADMIN_ID 管理员编号 INT2 2 ADMIN_NAME 管理员名 VARCHAR50 50 ADMIN_PWD 管理员密码 VARCHAR30 20 ADMIN_TYPE 管理员种类 INT1 1 [返回]
表名:CART解释: 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 CART_ID 购物车编号 INT5 5 CART_MEM_ID 会员编号 INT5 5 是 CART_MER_ID 商品编号 INT6 6 是 CART_NUM 商品数量 INT3 3 是 [返回]
表名:EVALUATE解释: 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 EVAL_ID 评价编号 INT3 3 EVAL_MEM_ID 会员编号 INT5 5 是 EVAL_MER_ID 商品编号 INT6 6 是 EVAL_DATE 评价日期 VARCHAR20 20 是 EVAL_CONTENT 评价内容 VARCHAR200 200 是 [返回]
表名:MEMBER解释: 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 MEM_ID 会员编号 INT5 5 MEM_NAME 会员名称 VARCHAR50 50 MEM_PWD 会员密码 VARCHAR30 20 MEM_TEL VARCHAR15 15 是 MEM_ADDRESS 联系地址 VARCHAR50 50 是 MEM_REGIST_DATE 注册日期 VARCHAR10 10 是 MEM_POST 邮编 VARCHAR10 10 是 MEM_EMAIL EMAIL VARCHAR20 20 是 MEM_CART_ID 购物车编号 INT5 5 是 [返回]
表名:MERCHANTABLE解释:MERCHANTABLEmerchantable 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 MER_ID 商品编号 INT6 6 MER_NAME 商品名称 VARCHAR50 50 MER_TYPE_ID 商品种类 INT3 3 是 MER_PLACE 出产地 VARCHAR50 50 是 MER_PRICE 价格 DECIMAL8,2 8 MER_DISCOUNT 折扣 DECIMAL2,1 2 是 MER_PICTURE 图片 VARCHAR50 50 是 MER_DESC 描述 VARCHAR50 50 是 MER_PRODUCTER 厂家 VARCHAR60 60 是 MER_LEAVE_DATE 出厂时间 VARCHAR10 10 是 MER_ADD_DATE 添加时间 VARCHAR10 10 是 MER_NUM 销售数量 INT 0 [返回]
表名:ORDERS解释:ORDERSorders 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 ORDER_ID 定单编号 INT6 6 ORDER_DATE 定单日期 VARCHAR20 20 是 ORDER_MEM_ID 会员编号 INT5 5 是 ORDER_STATUS 定单状态 INT1 1 是 ORDER_SEND_TIME 发送时间 VARCHAR60 60 是 ORDER_REMARK 定单备注 VARCHAR100 100 是 ORDER_SUM 价钱总和 DECIMAL8,2 8 是 [返回]
表名:RECORD解释: 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 RECORD_ID 记录编号 INT6 6 RECORD_MER_ID 商品编号 INT6 6 是 RECORD_MER_NUM 商品数量 INT3 3 是 RECORD_ORDER_ID 定单编号 INT6 6 是 [返回]
表名:TYPES解释: 是否主键 字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注 是 TYPE_ID 类别编号 INT3 3 TYPE_NAME 类别名称 VARCHAR30 30 是 TYPE_DESC 类别描述 VARCHAR100 100 是 [返回]Struts配置文件图3-13Struts配置文件图3.3.2具体模块设计整个系统主要包括商品信息模块、会员模块、购物车模块、订单模块、商品类别、后台管理员模块。商品信息模块:本模块主要用来显示、查询和商品评论的功能。主要涉及的类和方法如下类图。其中PageServiceImpl为分页实现类,在整个系统中属于一个公共组件,故在各模块中不再重复介绍。另一方面各模块各层之间类的关系也大致相同,都可以参考以下类图。图3-14商品模块类图类名 含义 MerchantableAction 作为其控制层内容,调用相应的业务方法 HeadService 业务层抽象类,其实现类中包含相应的业务方法 MerchantableDAO 包含相应的持久层方法 类名:MerchantableAction方法 含义 showByType 调用业务层方法按类别显示商品 showById 调用业务层方法显示某种商品 research 调用业务层方法查询商品 showAllMer 调用业务层方法显示所有商品 deleteMer 调用业务层方法删除商品 updateMer 调用业务层方法修改商品信息 saveMer 调用业务层方法保存商品信息 类名:HeadService方法 含义 findById 调用持久层方法按商品编号查询商品 findByType 调用持久层方法按种类查询商品 researchMer 按条件查询商品 deleteMer 删除商品 updateMer 修改商品 saveMer 保存商品 类名:MerchantableDAO方法 含义 findAllByKeyword 按关键字查询所有商品 findByTypes 按各类查询商品 findById 按商品编号查询商品 delete 删除商品 findAll 查询所有商品 saveOrUpdate 保存或修改商品 findByNum 依据数量查询 findPartByTyps 依据种类查询部分商品 会员模块: 在本模快中用到了两控制层类LoginAction和LoginJsonAction,前者用于普通的控制调用业务层方法,同时返回相应的业务逻辑视图。后者则是用Struts和Json相结合应用的,首先是能过Ajax提交数据当相应的action,然后调用业务层方法处理完成返回并不是返回某个逻辑视图,而是将返回的信息通过Json进行数据转换,前台通过Ajax接收数据。类名 含义 LoginAction 普通形式的控制器,调用相应的业务层方法 LoginJsonAction Ajax提交时使用的控制器 UserService 业务层类,包含各种相应的业务处理方法 MemberDAO 包含相应的持久层方法 LoginAction类:方法 含义 modifyPwd 调用业务层方法修改会员密码 modifyAddress 调用业务层方法修改会员地址等信息 regist 调用业务层方法注册 showMem 调用业务层方法后台显示所有会员 delMem 调用业务层方法删除会员 LoginJsonAction类:方法 含义 execute 调用业务层方法会员登录校验 UserService类:方法 含义 modifyPwd 修改会员密码 modifyAddress 修改会员地址等信息 save 保存会员 delMem 删除会员 MemberDAO类:方法 含义 findByNameAndPwd 按用户名和密码查询用户 saveOrUpdate 保存或修改会员信息 findAll 查询所有会员 delete 删除会员 购物车模块: 同上面的会员模板,在此模块中也有两个控制类CartAction和CartJsonAction。类名 含义 CartAction 普通形式的控制器,调用相应的业务层方法 CartJsonAction Ajax提交时使用的控制器 HeadService 业务层类,包含各种相应的业务处理方法 CartDAO 包含相应的持久层方法 CartAction类:方法 含义 execute 调用业务层方法查询会员相应的购物车 update 调用业务层方法修改购物车 delete 调用业务层方法删除购物车 CartJsonAction类:方法 含义 add 添加商品到购物车 HeadService类:方法 含义 findCartByMember 依据会员查询相应的购物车 updateCart 修改购物车 deleteCart 删除购物车中的商品 addMerToCart 将商品加入购物车 CartDAO类:方法 含义 findByMember 依据会员查询相应的购物车 updateCart 修改购物车 delete 删除购物车中的商品 saveCart 将商品加入购物车 订单模块类名 含义 OrderAction 控制器调用相应的业务层方法 HeadService 业务层类,包含各种相应的业务处理方法 OrderDAO 包含相应的持久层方法 OrderAction类:方法 含义 execute 调用业务层方法显示订单 addOrder 调用业务层方法添加 historyOrder 调用业务层方查看历史订单 modifyOrder 调用业务层方法进入修改订单 deleteOrder 调用业务层方法删除订单 showOrders 调用业务层方法显示所有订单 submit 调用业务层方法确认定单、发货 HeadService类:方法 含义 addOrder 添加订单 findHistoryOrder 查寻历史订单 deleteOrde 删除订单 updateOrders 修改订单 OrderDAO类:方法 含义 findById 据编号查询订单 findHistoryOrder 查寻历史订单 delete 删除订单 saveOrUpdate 保存或修改订单 商品类别模板:类名 含义 TypesAction 控制器调用相应的业务层方法 HeadService 业务层类,包含各种相应的业务处理方法 TypesDAO 包含相应的持久层方法 TypesAction类:方法 含义 getAllType 调用业务层方法获取类别 deleteType 调用业务层方法删除 addType 调用业务层方法添加种类 updateType 调用业务层方法修改种类 recommend 调用业务层方法推荐某类商品到首页 cancelRecommend 调用业务层方法取消推荐 HeadService类:方法 含义 findByReCommend 查询推荐的商品 findAllTypes 查询所有类别 deleteType 删除类别 saveType 保存类别 updateType 修改类别 TypesDAO类:方法 含义 findByRecommend 查询被推荐的类别 findById 据编号查询所有类别 findAll 查询所有类别 saveOrUpdate 保存或修改类别 delete 删除类别 后台管理员模块:类名 含义 AdminAction 控制器调用相应的业务层方法 UserService 业务层类,包含各种相应的业务处理方法 AdminDAO 包含相应的持久层方法 AdminAction类:方法 含义 valAdmin 调用业务层方法校验用户 save 调用业务层保存管理员 update 调用业务层方法修改管理员权限 delete 调用业务层方法删除管理员 modifyPwd 调用业务层修改管理员密码 exit 注销 UserService类:方法 含义 validateAdmin 校验用户 saveAdmin 保存管理员 updateAdmin 修改管理员 delAdmin 删除管理员 AdminDAO类:方法 含义 findAdminByNameAndPwd 据用户名与密码查询用户 saveOrUpdate 保存或保存管理员 Delete 删除管理员 findById 依据编号查询管理员 时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。CREATETABLEadmin admin_idINT2AUTO_INCREMENT, admin_nameVARCHAR50NOTNULL, admin_pwdVARCHAR30NOTNULL, admin_typeINT1NOTNULL, CONSTRAINTPK_ADMIN_IDPRIMARYKEYadmin_id;#会员表CREATETABLEmember mem_idINT5AUTO_INCREMENT, mem_nameVARCHAR50NOTNULL, mem_pwdVARCHAR30NOTNULL, mem_telVARCHAR15, mem_addressVARCHAR50, mem_regist_dateVARCHAR10, mem_postVARCHAR10, mem_emailVARCHAR20, mem_cart_idINT5, CONSTRAINTPK_MEMBER_IDPRIMARYKEYmem_id;#商品种类CREATETABLEtypes type_idINT3AUTO_INCREMENT, type_nameVARCHAR30, type_descVARCHAR100, type_recommendintdefault0, CONSTRAINTPK_TYPES_IDPRIMARYKEYtype_id;#商品信息表CREATETABLEmerchantable mer_idINT6AUTO_INCREMENT, mer_nameVARCHAR50NOTNULL, mer_type_idINT3, mer_placeVARCHAR50, mer_priceDECIMAL8,2NOTNULL, mer_discountDECIMAL2,1, mer_pictureVARCHAR50, mer_descVARCHAR50, mer_producterVARCHAR60, mer_leave_dateVARCHAR10, mer_add_dateVARCHAR10, mer_numintdefault0, CONSTRAINTPK_MERCHANTABLE_IDPRIMARYKEYmer_id, CONSTRAINTFK_MERCHANTABLE_TYPE_IDFOREIGNKEYmer_type_idREFERENCEStypestype_id;#商品评价表CREATETABLEevaluate eval_idINT3AUTO_INCREMENT, eval_mem_idINT5, eval_mer_idINT6, eval_dateVARCHAR20, eval_contentVARCHAR200, CONSTRAINTPK_EVALUATE_IDPRIMARYKEYeval_id, CONSTRAINTFK_EVALUATE_MEN_IDFOREIGNKEYeval_mem_idREFERENCESmembermem_id, CONSTRAINTFK_EVALUATE_MER_IDFOREIGNKEYeval_mer_idREFERENCESmerchantablemer_id;#购物车购物车号即为会员编号CREATETABLEcart cart_idINT5AUTO_INCREMENT, cart_mem_idINT5, cart_mer_idINT6unique, cart_numINT3, CONSTRAINTPK_CART_IDPRIMARYKEYcart_id, CONSTRAINTFK_CART_IDFOREIGNKEYcart_mem_idREFERENCESmembermem_id, CONSTRAINTFK_CART_MER_IDFOREIGNKEYcart_mer_idREFERENCESmerchantablemer_id;#订单表CREATETABLEorders order_idINT6AUTO_INCREMENT, order_dateVARCHAR20, order_mem_idINT5, order_statusINT1, order_send_timevarchar60, order_remarkvarchar100, order_sumDECIMAL8,2, CONSTRAINTPK_ORDER_IDPRIMARYKEYorder_id, CONSTRAINTFK_ORDER_MEM_IDFOREIGNKEYorder_mem_idREFERENCESmembermem_id;#购物记录CREATETABLErecord record_idint6AUTO_INCREMENT, record_mer_idint6, record_mer_numint3, record_order_idint6, CONSTRAINTPK_RECORD_IDPRIMARYKEYrecord_id, CONSTRAINTFK_RECORD_MER_IDFOREIGNKEYrecord_mer_idREFERENCESmerchantablemer_id, CONSTRAINTFK_RECORD_ORDER_IDFOREIGNKEYrecord_order_idREFERENCESordersorder_id;4.2项目实现部分代码applicationContext.xml配置文件?xmlversion"1.0"encoding"GBK"?beans xmlns" xmlns:xsi" xmlns:aop" xmlns:tx" xmlns:p" xsi:schemaLocation" beanid"dataSource"class"com.mchange.v2.c3p0boPooledDataSource" destroy-method"close" !--指定连接数据库的驱动-- propertyname"driverClass"value"com.mysql.jdbc.Driver"/ !--指定连接数据库的URL-- propertyname"jdbcUrl"value"jdbc: !--指定连接数据库的用户名-- propertyname"user"value"root"/ !--指定连接数据库的密码-- propertyname"password"value"root"/ !--指定连接数据库连接池的最大连接数-- propertyname"PoolSize"value"40"/ !--指定连接数据库连接池的最小连接数-- propertyname"minPoolSize"value"1"/ !--指定连接数据库连接池的初始化连接数-- propertyname"initialPoolSize"value"1"/ !--指定连接数据库连接池的连接的最大空闲时间-- propertyname"IdleTime"value"20"/ propertyname"idleConnectionTestPeriod"value"18000"/ beanid"sessionFactory" class"org.springframework.orm.hibernate3.LocalSessionFactoryBean" propertyname"dataSource" refbean"dataSource"/ propertyname"hibernateProperties" propkey"hibernate.dialect" org.hibernate.dialect.MySQLDialect !--是否根据需要每次自动创建数据库-- propkey"hibernate.hbm2ddl.auto"update !--显示Hibernate持久化操作所生成的SQL-- propkey"hibernate.show_sql"true !--将SQL脚本进行格式化后再输出-- propkey"hibernate.format_sql"true propertyname"mappingResources" com/eshop/bean/Admin.hbm.xml com/eshop/bean/Cart.hbm.xml com/eshop/bean/Evaluate.hbm.xml com/eshop/bean/Member.hbm.xml com/eshop/bean/Merchantable.hbm.xml com/eshop/bean/Orders.hbm.xml com/eshop/bean/Record.hbm.xml com/eshop/bean/Types.hbm.xml !--****************事务管理配置***************-- beanid"transactionManager"class"org.springframework.orm.hibernate3.HibernateTransactionManager" propertyname"sessionFactory"ref"sessionFactory"/ !--****************配置切面Bean,指定事务管理器-- tx:adviceid"txAdvice"transaction-manager"transactionManager" tx:attributes tx:methodname"*"/ /tx:attributes /tx:advice !--配置一个切入点匹配指定包下所有类-- aop:config aop:pointcutid"pointcut"expression"execution*com.eshop.service.impl.*Impl.*.."/ aop:advisoradvice-ref"txAdvice"pointcut-ref"pointcut"/ /aop:config !--引进daoContext.xml配置文件-- importresource"daoContext.xml"/ !--*****************Service************************-- beanid"headService"class"com.eshop.service.impl.HeadServiceImpl" propertyname"typesDAO"ref"typesDAO"/ propertyname"merchantableDAO"ref"merchantableDAO"/ propertyname"cartDAO"ref"cartDAO"/ propertyname"evaluateDAO"ref"evaluateDAO"/ propertyname"ordersDAO"ref"ordersDAO"/ propertyname"recordDAO"ref"recordDAO"/ beanid"userService"class"com.eshop.service.impl.UserServiceImpl" propertyname"memberDAO"ref"memberDAO"/ propertyname"cartDAO"ref"cartDAO"/ propertyname"adminDAO"ref"adminDAO"/ beanid"pageService"class"com.eshop.service.impl.PageServiceImpl" propertyname"pageDAO"ref"pageDAO"/ !--*****************Action***********************-- beanid"typesAction"class"com.eshop.action.TypesAction"scope"prototype" propertyname"headService"ref"headService"/ beanid"merchantableAction"class"com.eshop.action.MerchantableAction"scope"prototype" propertyname"headService"ref"headService"/ propertyname"pageService"ref"pageService"/ !--scope注意默认为单例模式sington-- beanid"loginAction"class"com.eshop.action.LoginAction"scope"prototype" propertyname"userService"ref"userService"/ propertyname"pageService"ref"pageService"/ beanid"loginJsonAction"class"com.eshop.action.LoginJsonAction"scope"prototype" propertyname"userService"ref"userService"/ beanid"cartAction"class"com.eshop.action.CartAction"scope"prototype" propertyname"headService"ref"headService"/ beanid"cartJsonAction"class"com.eshop.action.CartJsonAction"scope"prototype" propertyname"headService"ref"headService"/ beanid"evaluateJsonAction"class"com.eshop.action.EvaluateJsonAction"scope"prototype" propertyname"headService"ref"headService"/ beanid"evalAction"class"com.eshop.action.EvaluateAction"scope"prototype" propertyname"headService"ref"headService"/ beanid"orderAction"class"com.eshop.action.OrderAction"scope"prototype" propertyname"headService"ref"headService"/ propertyname"pageService"ref"pageService"/ beanid"adminAction"class"com.eshop.action.AdminAction"scope"prototype" propertyname"userService"ref"userService"/ daoContext.xml配置文件?xmlversion"1.0"encoding"UTF-8"? !--指定Spring配置文件的DTD信息--!DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN2.0//EN" " beanid"template"abstract"true"lazy-init"true" propertyname"sessionFactory"ref"sessionFactory"/ beanid"adminDAO"class"com.eshop.dao.impl.AdminDAOImpl"parent"template"/ beanid"cartDAO"class"com.eshop.dao.impl.CartDAOImpl"parent"template"/ beanid"evaluateDAO"class"com.eshop.dao.impl.EvaluateDAOImpl"parent"template"/ beanid"memberDAO"class"com.eshop.dao.impl.MemberDAOImpl"parent"template"/ beanid"merchantableDAO"class"com.eshop.dao.impl.MerchantableDAOImpl"parent"template"/ beanid"ordersDAO"class"com.eshop.dao.impl.OrdersDAOImpl"parent"template"/ beanid"recordDAO"class"com.eshop.dao.impl.RecordDAOImpl"parent"template"/ beanid"typesDAO"class"com.eshop.dao.impl.TypesDAOImpl"parent"template"/ beanid"pageDAO"class"com.eshop.dao.impl.PageImplDao"parent"template"/struts.xml配置文件?xmlversion"1.0"encoding"GBK"?!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.1//EN"" constantname"struts.i18.encoding"value"UTF-8"/ constantname"struts.custom.i18n.resources"value"messageResource"/ packagename"head"extends"struts-default"namespace"/head" actionname"index"class"typesAction" resultname"success"index.jsp resultname"exit"type"redirect"index.action actionname"login"class"loginAction" resultname"error"index.jsp resultname"modify"member/modifyPwd.jsp resultname"modifyaddress"member/modifyAddress.jsp resultname"regist"registSucc.jsp resultname"input"member/modifyPwd.jsp actionname"merchantable"class"merchantableAction" resultname"success"showByType.jsp resultname"showone"showById.jsp resultname"research"result.jsp actionname"eval"class"evalAction" resultname"success"showById.jsp actionname"*" 1.jsp packagename"headmember"extends"struts-default"namespace"/head/member" actionname"mycart"class"cartAction" resultname"error"/head/login.jsp resultname"success"mycart.jsp actionname"order"class"orderAction" resultname"success"account.jsp resultname"finished"finish.jsp resultname"history"historyOrder.jsp resultname"modify"modifyOrder.jsp resultname"delete"modifyOrder.jsp actionname"*" 1.jsp packagename"json"extends"json-default"namespace"/head" actionname"cartJson"class"cartJsonAction" resulttype"json"/ actionname"evalJson"class"evaluateJsonAction" resulttype"json"/ actionname"addEvalJson"class"evaluateJsonAction"method"add" resulttype"json"/ actionname"loginJson"class"loginJsonAction" resulttype"json"/ packagename"back"extends"struts-default"namespace"/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程室内门合同范本
- 刑法学1期末考试复习题(带答案)
- 植物类群常考题目及答案
- 执法岗面试题目及答案
- 七月份工作计划怎么写(5篇)
- 房地产市场政策动向分析
- 2025年治安学总论考试题及答案
- 2025年山西省运城市事业单位工勤技能考试考试题库及参考答案
- CN120293712A 一种隧道管外压试验工装和试验方法 (四川润博至远科技有限公司)
- 2025年生物医生把脉题库及答案
- 百师联盟2026届高三上学期开学摸底联考数学试题
- 医疗机构睡眠门诊建设和管理专家共识(2025版)解读 3
- 2025年南阳唐河县国有企业公开招聘工作人员8名笔试备考题库及答案解析
- 中山市好小区好房子建设指引(试行)
- 2025年六年级数学培优辅潜工作计划及措施
- 2025年北京市高考语文真题之名著阅读《红楼梦》
- 2025秋人教版(2024)二年级上册数学教学计划
- 医务人员职业暴露处理流程考核试题与答案
- 2025年八年级生物秋季开学第一课课件(人教版)
- 宠物行业宠物服务连锁经营与管理方案
- 辽宁省抚顺县2025年上半年公开招聘辅警试题含答案分析
评论
0/150
提交评论