毕业设计(论文)电子拍卖系统

上传人:无*** 文档编号:42564089 上传时间:2021-11-26 格式:DOC 页数:42 大小:936.51KB
收藏 版权申诉 举报 下载
毕业设计(论文)电子拍卖系统_第1页
第1页 / 共42页
毕业设计(论文)电子拍卖系统_第2页
第2页 / 共42页
毕业设计(论文)电子拍卖系统_第3页
第3页 / 共42页
资源描述:

《毕业设计(论文)电子拍卖系统》由会员分享,可在线阅读,更多相关《毕业设计(论文)电子拍卖系统(42页珍藏版)》请在装配图网上搜索。

1、毕业论文题 目: 电子拍卖系统 英文题目: Electronic Auction System 学生姓名: 学 号: 专 业: 计算机网络技术 学 院: 国际教育学院 指导教师: 职称: 讲师 二零一零年五月东华理工大学软件学院毕业设计(论文) 摘要摘 要随着市场竞争日益激烈,传统的由生产企业定价销售的方式正面临巨大挑战:在产品同质化程度日益提高、市场信息纷繁复杂的今天,优质产品如何快速获得恰当的市场价值定位, 从而从众多同类产品中脱颖而出,成为每个企业产品销售面临的问题。在这样背景下,越来越多的企业尝试以更新、更有效的方式进开展销售工作,拍卖就是其中的一种手段。然而,传统拍卖是一项技术性很强

2、的工作,没有专业的人员、没有专门的实施部门、以及没有有效的信息传播渠道,成为传统企业实施拍卖销售的一大障碍。针对这种情况,我们吸取各种商务系统的经验,根据中国企业的实际情况,决定开发一套全新的电子拍卖系统。本文详细描述了设计和实现的一个拍卖系统,采用jsp、JavaScript、sitemesh等语言开发网站页面,用struts2、Spring、和Hibernate3.0的技术实现动态设计,用Mysql关系系统数据库。利用软件工程的原理,从问题定义,需求分析,概要设计到详细设计,编码到最后的软件测试的整个过程。友好、简单易用的Web界面,丰富实用的功能设置,方便用户参与竞价、及时发送邮件给竞价

3、最高者, 当收到用户的签字后,拍卖才成功。关键字:JSP;三大框架;SSH; B/S东华理工大学软件学院毕业设计(论文) ABSTRACTABSTRACTWith the increasingly fierce market competition, the traditional pricing by the manufacturers are facing a great way of marketing challenges: the increasing degree of product homogeneity, market information, today's com

4、plex, high-quality products to the market value of rapid access to appropriate orientation, thereby many similar products stand out, as each enterprise product sales problems. In this context, more and more companies try to newer, more effective way to launch into the sales, the auction is one of th

5、em means. However, the traditional auction is a highly technical work, no professional staff, no specific implementation of the sector, and the lack of effective information dissemination channels of traditional enterprises become a major obstacle to the auction sale. In view of this situation, we l

6、earn from the experience of various business systems, according to the actual situation of Chinese enterprises, decided to develop a new electronic auction system.This paper describes the design and implementation of an auction system, using jsp, JavaScript, sitemesh web pages such as language devel

7、opment, with struts2, Spring, and Hibernate3.0 dynamic design technology, relations with the Mysql database. Using software engineering principles, from problem definition, requirements analysis, outline design to detailed design, coding to the final software testing throughout the process. Friendly

8、, easy-to-use Web interface, rich feature set of practical, user participation in bidding, timely delivery of mail to the highest bid who, when, after receiving the user's signature, the auction was successful.Key words: JSP; three frameworks; SSH; B / S东华理工大学软件学院毕业设计(论文) 目录目 录绪 论11 程序开发的技术基础21.

9、1 Web应用的体系结构21.2 概述21.2.1 JSP脚本技术21.2.2 mvc三层架构21.2.3mysql31.2.4 Sitemesh41.2.5 Hibernate 3.x41.2.6 Spring 2.x41.2.7Struts 2.051.3 系统实现手段51.4 开发环境52 系统总体分析与设计72.1 需求分析72.2系统架构设计82.3 数据库设计93 系统功能与实现133.1用户登陆界面133.2 数据库封装技术的实现143.3 添加拍卖物品及代码实现234 测试314.1测试与调试的基本概念314.2 测试时间314.3测试范围与主要内容324.3.1所有的实体对象

10、与数据库一一对映的测试324.3.2 业务逻辑层的测试表4-2334.3.3 综合测试表4-3344.4测试阶段心得34结 论36致 谢37参 考 文 献38东华理工大学软件学院毕业设计(论文) 绪论绪 论从接受毕业设计任务到设计完成用了二个月的时间。整个设计要求对Mysql数据库应用系统的基本实现方法以及实现技术、工具有一定的了解。而且,在设计员工培训教材管理子系统时,需要对功能需求考虑完善。虽然我以前也做过类似应用系统的设计开发,但通过本次设计还是受益匪浅。在整个设计过程中,系统的整体构架很早就完成了,接下来的细节问题却使我颇伤脑筋。随着设计程度的不断深入,又遇到了一些早期没有想到的问题。

11、为了解决这些问题,有时还要对几个模块进行大幅度的修改。在设计中,还需要进行细致的测试工作,以发现程序的错误和功能上的不足。由于时间和个人技术关系,本系统还有一些不足和值得改进的地方,比如说查询功能,可以进行多关键字的匹配功能,这样查询的灵活性就会有明显的提高,同时系统的多个地方还可以应用AJAX技术来减轻系统的负担。通过这次毕业设计,提高了我在系统整体设计上的能力,增长了分析、解决问题的经验,对一些知识有了更深一步的掌握。可以说,这次毕业设计既锻炼了我动脑分析问题的能力,又锻炼了我动手解决实际问题的能力,这将对我以后的学习起到不可估量的作用。通过毕业设计这次磨砺,我的能力也提高了。所以它对于我

12、们来说有着十分重要的意义。我会运用从中得到的宝贵经验来指导我今后的学习和工作,不断的实践,不断地学习,让自己变得更加充实自己,更适合于软件行业发展的需要。1东华理工大学软件学院毕业设计(论文) 程序开发的基础设计1 程序开发的技术基础1.1 Web应用的体系结构Web是基于客户机/服务器的体系结构,客户机向服务器发送请求,要求执行某项任务,而服务器执行此项任务,并向客户机返回响应。要构造这种结构时,具体工作包括设计静态HTML页面、JSP页面、action、配置文件、其他对象(如JavaBean)及相互之间的交互关系等。1.2 概述1.2.1 JSP脚本技术Java Server Page简称

13、JSP,它是运行在服务器端的脚本语言之一。与其他服务器端脚本语言一样,是用来开发动态网站的一种技术。JSP页面是由传统的HTML代码和嵌入到其中的Java代码组成的。服务器在接收到客户端发来的一个JSP页请求时,由JSP代码转换成Servlet代码,然后由JSP引擎调用服务器端的Java编译器对Servlet代码编译,把它编译成字节码文件(.class),再由JVM(Java虚拟机)执行此字节码文件,最后将执行结果以HTML格式返回给客户端。JSP可以在大多数的Web Server上运行,符合“一次编写,多平台运行”的JAVA原则,实现了程序与服务器平台的独立性。它具有以下的优点:(1) 内容

14、生成与显示分离;(2) 可重用的组件;(3) 采用标识简化页面开发;(4) 适应更广泛的平台;(5) 易于连接数据库。1.2.2 mvc三层架构在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。微软推荐的分层式结构一般分为三层,从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层。3个层次中,系统主要功能和业务逻辑都在业务逻辑层进行处理。所谓三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一

15、台机器上。2三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互。位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。例如Martin Fowler在

16、Patterns of Enterprise Application Architecture一书中,将整个架构分为三个主要的层:表示层、领域层和数据源层。作为领域驱动设计的先驱Eric Evans,对业务逻辑层作了更细致地划分,细分为应用层与领域层,通过分层进一步将领域逻辑与领域逻辑的解决方案分离。业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一

17、种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。对于数据访问层而言,它是调用者;对于表示层而言,它却是被调用者。依赖与被依赖的关系都纠结在业务逻辑层上,如何实现依赖关系的解耦,则是除了实现业务逻辑之外留给设计师的任务。数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。如果要加入ORM的元素

18、,那么就会包括对象和数据表之间的mapping,以及对象实体的持久化。31.2.3mysqlMySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracal收购.对于Mysql的前途,没有任何人抱乐观的态度.目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库1.2.4 Sitemesh Sitemesh是由一个基于Web页面布局、装饰及与现存Web应用整合的框架。它

19、能帮助我们再由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条、一致的banner、一致的版权等。它不仅能处理动态的内容,如JSP、PHP、ASP、CGI等产生的内容,还能处理静态的内容,比如HTML的内容,使得它的内容也符合你的页面结构的要求。甚至它能像include那样将HTML文件作为一个面板的形式嵌入到别的文件中去。所有的这些,都是GOF的Decorator模式的最生动的实现。装饰模式是在不必改变原类文件和使用集成的情况下,动态地扩展一个对象的功能。它能通过创建一个包装对象,也就是装饰来包裹的对象。尽管它是由Java语言来实现的,但是它能与其他Web应用很好的集成。1.2.

20、5 Hibernate 3.xHibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。Configurat

21、ion接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。1.2.6 Spring 2.xSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:

22、使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用41.2.7Struts 2.0服务器启动后,根据web.xml加载Struts2.0的配置文件Struts.xml;struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。struts清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序过程的。1.3 系统实现手段系统采用四层结构:(1)客户端,只需要中文浏览器,不需要JAVA虚拟机,也不需要前台脚本语言。(2)表示层,即客户端,使用JSP(Java Server Page)文档实现动态页面以创建、操作业务对象。

23、符合JSP1.2和HTML4规范。由Apache Tomcat6.0提供Web容器运行。(3)连接层,采用hibernate框架进行应用和测试。(4)资源层,即数据库服务器。作为底层数据资源,提供业务对象数据的存储和管理。目前采用的是MYSQL,数据库设计独立于应用开发语言和工具。1.4 开发环境网络操作系统对网络的性能有着至关重要的影响。选择了一个合适的网络操作系统,既省钱,省力,又能大大地提高系统的效率,而盲目地选择一个网络操作系统,往往事倍功半,甚至会破坏原有的数据库和文件等。通过对现有系统的了解和未来系统的规划,以及对当前流行的几种网络操作系统安全性,可扩展性等方面的分析,采用Wind

24、ows XP。系统采用Sun公司JSP(Java Server Pages)做为系统的开发工具。JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。随着越来越

25、多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与Java2平台,企业版(J2EE)和Enterprise JavaBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。此外,系统还采用JavaBean技术来封装数据库,执行SQL语句等功能。JavaBean6东华理工大学软件学院毕业设计(论文) 系统总体分析与设计是一种基于Java的可重复使用的软件组件,有点类似于Microsoft的COM组件概念。JSP结合JavaBean 技术能扩展网页中程序的功能,它不仅缩短了开发周期

26、,避免重复开发,也为JSP应用带来更多的伸缩性。在JSP程序JavaBean常用来封装事务逻辑、数据库操作等,可以很好地实现业务逻辑和前台程序的分离,使得系统具有更好的健壮型和灵活性。数据库服务器采用了MySQL。与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。6东华理工大学软件学院毕业设计(论文)

27、 系统总体分析与设计2 系统总体分析与设计2.1 需求分析电子拍卖系统旨在以先进的计算机软件技术以及互联网技术为依托,融合传统拍卖和在线销售业务,使广大传统企业不需要专业的人员就可以通过互联网开展在线拍卖销售工作,使得原本成本很高而遥不可及的事情变得简单易行。一个标准的电子拍卖系统应该包括以下几大功能,如图所示电子拍卖系统用户登录卖场模块竞拍模块图2-1 系统总结构图添加拍卖物品登录用户浏览他人的拍卖物品浏览赢取物品图2-2用户与物品用例添加竞价登录用户浏览赢取物品图2-3 用户和竞价之间的用例72.2系统架构设计本系统采用java EE的三层结构,分为表现层,业务逻辑层和数据服务层。三层体系

28、将业务规则,数据访问等工作放到中间处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。表现层禁止jsp内嵌java脚本,因而比较简单,jsp页面使用struts2标签来显示数据,生成页面显示效果。中间层采用struts2+Spring+Hibernate , 为了分离控制层与业务逻辑层,又可细分为:Web层,就是MVC模式里面的“C”(Controller), 负责表现层与业务逻辑层的交互,调用业务逻辑,并将业务逻辑返回给变现层来显示mvc框架菜用流行的Struts2.8Service层(业务逻辑),负责实现业务逻辑,对DAO对象进行正面模式的封装。DAO层

29、(数据访问对象层),负责与持久化对象交互,封装了数据的增、 删 、查、 改原子操作。、PO层(持久化对象层),通过实体/关系映射工具将关系型数据的数据映射成对象,实现以面向对象方式操作数据库,这个系统采用Hibernate作为O/Rmapping框架。通过使用Struts2,提供了良好MVC模式,所有的用户请求都由Struts2的Action负责拦截,然后通过Spring提供的自动装配功能,定位Spring容器中的业务逻辑组件,调用与无逻辑组件方法来处理用户请求。除此之外,本系统还使用了SiteMesh页面装饰,从而提供更统一的整体效果。数据服务层使用Mysql数据库存放数据。系统的总体架构如

30、图用户界面负责业务数据的收集和表示客户端MVC架构的控制业务逻辑层与表现层的交互业务逻辑层的实现层数据访问对象-关系映射由数据库表得来的对象存放数据Mysql图2-4系统架构设计2.3 数据库设计对于数据库,规划工作是十分必要的。规划的好坏将直接影响到整个系统的成功与否,数据库设计中的规划阶段的主要任务是建立数据库的必要性及可行性分析,确定数据库在整个系统的地位。数据库设计要遵循一些规则,一个好的数据库满足一些严格的约束和要求。针对电子拍卖系统的需求,通过对整个过程的内容和数据流程分析,根据上面的设计规划出的实体主要有:用户实体、物品实体等,设计如下面所示的数据E- R图:9 N11N1N1I

31、SBN编号物品实体对应状态实体物品种类实体竞价实体图书名赢取用户实体包含竞价物品_id物品_id状态_id状态名用户id用户名用户邮件物品描述种类_id种类名种类描述竞价结束时间作者竞价时间竞价价格物品标记物品添加时间竞价_id拥有N1竞价NN1用户密码图2-5数据库设计E-R图在创建数据库的逻辑表结构之前,首先需要创建数据库。创建数据库有两种方法,可以在企业管理器的数据库服务器组中直接添加,也可以在查询分析器中编写创建数据库的脚本。本次设计选择利用hibernate正向生成数据库。按照分析,本系统一共需要建立设置商品订单信息表和商品订单详细信息表两张表来保存系统中的订单管理中的有关数据,对于

32、系统中的物品状态而言,它仅和物品存在一对多关系。这种一对多的关联关系,可以通过外键约束来实现,而外键是保存在多的一端的数据表里的。故物品的状态的数据表非常简单,仅需要两个字段,状态ID和状态名。10表2-1 物品表FieldtypeNULLKeyDefaultExtraState_idInt(11)NOPRINULLAuto_incrementState_nameVarchar(10)YESNULL与物品状态实体相似的是,系统中的物品类似也只和物品存在一对多的关联关系,这关联关系也是通过在物品保存外键进行约束的。而物品种类表中只需要保存物品种类名。种类描述两个字段。表2-2物品种类表Field

33、typeNULLKeyDefaultExtraKind_idInt(11)NOPRINULLAuto_incrementkind_nameVarchar(50)NONULLKind_descVarchar(50)NONULL系统中的用户实体和物品实体,竞价实体存在一对多的关联关系,甚至和物品之间存在两种一对多的关联关系(一种是所属,一种是赢取),但因为用户都是一的那端,故无需保存外键,只需要保存用户自身属性即可。表2-3 用户表FieldtypeNULLKeyDefaultExtraUser_idInt(11)NOPRINULLAuto_incrementUser_nameVarchar(50

34、)NONULLUserpassVarchar(50)NONULLemailVbarchar(100)NONULL系统核心就是拍卖,拍卖物品和用户之间存在两种多对一的关联关系,这两种多对一的关联关系都需要物品表中保存外键。除此之外,拍卖物品好和武平记录之间存在一对多的关联关系,但是这种关联关系通过在竞价记录表中保留外键实现,故拍卖物品表利只需要保存物品属性,以及两个与拍卖用户关联的外键。拍卖物品还和物品种类实体,物品状态实体之间存在多对一的关联关系,这种关联关系都是通过在物品表增加外键来实现的11表2-4拍卖表FieldtypeNULLKeyDefaultExtraitem_idInt(11)N

35、OPRINULLAuto_incrementitem_nameVarchar(255)NOUnlNULLItem_remarkVarchar(255)NONULLItem_descVbarchar(255)yesNULLKind_idInt(11)noMULNULLaddtimedatenoNULLendtimedatenoNULLInit_pricedoublenoNullMax_pricedoublenonullOwner_idInt(11)noMULnullWiner_idInt(11)YesMULnullState_idInt(11)NOMULNULL系统的竞价记录实体则和拍卖物品,系

36、统用户存在多对一的关联关系,故需要在竞价记录表中增加两列外键。表2-5竞价表FieldtypeNULLKeyDefaultExtrabid_idInt(11)NOPRINULLAuto_incrementUser_idInt(11)NOMULNULLItem_idInt(11)NOMULNULLBid_pricedoubleNONULLBid_datedatenonull有了上面的表结构后,已经可以大致了解系统中po持久化对象的结构了。12东华理工大学软件学院毕业设计(论文) 系统功能与实现3 系统功能与实现3.1用户登陆界面 用户通过主界面来到用户登入界面后,要输入帐户、密码、验证码才能进行

37、下一步的操作。首先判断用户输入用户名是否为空,然后判断输入的密码是否为空,然后再根据用户输入用户名和密码构造SQL语句在数据库中查询记录,如果找到相符的则可正常登录系统,否则提示帐号或密码错误,重复以上步骤。13如管理员后台登陆效果如图3-1所示:程序流程图如图3-2所示图3-1用户登陆图3-2用户登陆流程图3.2 数据库封装技术的实现利用Spring的配置文件ApplicationContent.Xml建立数据源,并且配置事务管理<?xml version="1.0" encoding="UTF-8"?><beans xmlns=&q

38、uot;http:/www.springframework.org/schema/beans" xmlns:xsi="http:/www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http:/www.springframework.org/schema/beans http:/www.springframework.org/schema/beans/spring-beans.xsd">14<!- 定义数据源Bean,使用C3P0数据源实现 -><bean id

39、="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"><!- 指定连接数据库的驱动 -><property name="driverClass" value="com.mysql.jdbc.Driver"/><!- 指定连接数据库的URL -><property name="jdbcUrl" value=&qu

40、ot;jdbc:mysql:/localhost:3306/auction?useUnicode=true&amp;characterEncoding=UTF-8"/><!- 指定连接数据库的用户名 -><property name="user" value="root"/><!- 指定连接数据库的密码 -><property name="password" value="123456"/><!- 指定连接数据库连接池的最大连接数 -&g

41、t;<property name="maxPoolSize" value="20"/><!- 指定连接数据库连接池的最小连接数 -><property name="minPoolSize" value="1"/><!- 指定连接数据库连接池的初始化连接数 -><property name="initialPoolSize" value="1"/><!- 指定连接数据库连接池的连接的最大空闲时间 -><

42、;property name="maxIdleTime" value="20"/></bean> <!-定义了Hibernate的SessionFactory -> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource" ref="dataSource&

43、quot;/> <property name="mappingResources"> <list><value>AuctionUser.hbm.xml</value><value>Bid.hbm.xml</value><value>Item.hbm.xml</value><value>Kind.hbm.xml</value><value>State.hbm.xml</value> </list> </prop

44、erty> <property name="hibernateProperties">15 <props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> &l

45、t;prop key="hibernate.jdbc.batch_size">20</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="se

46、ssionFactory"/> </bean> <bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionInterceptor"> <!- 事务拦截器bean需要依赖注入一个事务管理器 -> <property name="transactionManager" ref="transactionManager"/> &

47、lt;property name="transactionAttributes"> <!- 下面定义事务传播属性-> <props> <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop> <prop key="*">PROPAGATION_REQUIRED</prop> </props> </property></bean>16 <!- 定义BeanNameAut

48、oProxyCreator-> <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <!- 指定对满足哪些bean name的bean自动生成业务代理 -> <property name="beanNames"> <!- 下面是所有需要自动创建事务代理的bean-> <list> <value>mgr</value> </list> <

49、;!- 此处可增加其他需要自动创建事务代理的bean-> </property> <!- 下面定义BeanNameAutoProxyCreator所需的事务拦截器-> <property name="interceptorNames"> <list> <!- 此处可增加其他新的Interceptor -> <value>transactionInterceptor</value> </list> </property> </bean><bean

50、 id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"><property name="host" value=""/><property name="javaMailProperties"><props> <prop key="mail.smtp.auth">true</prop><prop key=&q

51、uot;mail.smtp.timeout">25000</prop></props></property><property name="username" value="spring_test"/><property name="password" value="123456"/></bean><bean id="mailMessage" class="org.springframewor

52、k.mail.SimpleMailMessage"><property name="from" value="spring_test"/><property name="subject" value="竞价通知"/></bean> <bean id="mgr" class="org.yeeku.service.impl.AuctionManagerImpl"> <property name="us

53、erDao" ref="auctionUserDao"/> <property name="bidDao" ref="bidDao"/> <property name="itemDao" ref="itemDao"/>17 <property name="kindDao" ref="kindDao"/> <property name="stateDao" ref="st

54、ateDao"/><property name="mailSender" ref="mailSender"/><property name="message" ref="mailMessage"/> </bean> <bean id="daoTemplate" abstract="true"><property name="sessionFactory" ref="sessio

55、nFactory"/></bean><bean id="stateDao" class="org.yeeku.dao.impl.StateDaoHibernate"parent="daoTemplate"/><bean id="kindDao" class="org.yeeku.dao.impl.KindDaoHibernate" parent="daoTemplate"/><bean id="auction

56、UserDao" class="org.yeeku.dao.impl.AuctionUserDaoHibernate"parent="daoTemplate"/><bean id="bidDao" class="org.yeeku.dao.impl.BidDaoHibernate"parent="daoTemplate"/><bean id="itemDao" class="org.yeeku.dao.impl.ItemDaoHib

57、ernate"parent="daoTemplate"/><bean id="checkWiner" class="org.yeeku.schedule.CheckWiner"><property name="mgr" ref="mgr"/></bean><bean id="scheduledTask" class="org.springframework.scheduling.timer.Scheduled

58、TimerTask"><property name="delay" value="0"/>18<property name="period" value="86400000"/><property name="timerTask" ref="checkWiner"/></bean><bean id="timerFactory" class="org.springframewor

59、k.scheduling.timer.TimerFactoryBean"><property name="scheduledTimerTasks"><list><ref bean="scheduledTask"/></list></property></bean>19</beans>图3-3 spring的运行原理程图 Spring在三大架构中处于中间层,起这着连接作用,但也是应用的核心层。Struts 的配置文件Struts.xml,用户处理由页面发来的

60、请求的响应Action的相应方法<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC "-/Apache Software Foundation/DTD Struts Configuration 2.0/EN" "http:/struts.apache.org/dtds/struts-2.0.dtd"><struts><constant name="struts.custom.i18n.reso

61、urces" value="messageResource"/><constant name="struts.i18n.encoding" value="UTF-8"/> <package name="lee" extends="struts-default"><interceptors> <interceptor name="authority" class="org.yeeku.action.interc

62、eptor.AuthorityInterceptor"/> <interceptor-stack name="auctionStack"> <interceptor-ref name="defaultStack"/> <interceptor-ref name="authority"/></interceptor-stack>为lee包设置默认拦截器auctionStack</interceptors><default-interceptor-ref n

63、ame="auctionStack"/><global-results><!- 下面定义的结果对所有的Action都有效 -><result name="login">/WEB-INF/jsp/login.jsp</result><result name="exception">/WEB-INF/jsp/error.jsp</result></global-results><global-exception-mappings><

64、!- 指Action抛出AuctionException异常时,转入名为exception的结果。 -><exception-mapping exception="org.yeeku.exception.AuctionException" result="exception"/><!- 指Action抛出Exception异常时,转入名为exception的结果。 -><exception-mapping exception="java.lang.Exception" result="ex

65、ception"/></global-exception-mappings><action name="index"> <result name="success">/WEB-INF/jsp/main.jsp</result>20 </action><action name="viewItemSu" class="org.yeeku.action.ViewSuAction"> <result name="success">/WEB-INF/jsp/viewSuccess.jsp</result> </action> <action name="viewFailItem" class="org.yeeku.action.ViewFailAction"> <result name="success">/WEB-INF/jsp/viewFail.jsp</result> </action> <action

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!