企业进销存信息管理系统的设计与实现毕业论文.doc_第1页
企业进销存信息管理系统的设计与实现毕业论文.doc_第2页
企业进销存信息管理系统的设计与实现毕业论文.doc_第3页
企业进销存信息管理系统的设计与实现毕业论文.doc_第4页
企业进销存信息管理系统的设计与实现毕业论文.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

郑州大学西亚斯国际学院软件工程毕业论文企业进销存信息管理系统的设计与实现毕业论文目 录摘 要IABSTRACTII1 绪 论- 1 -1.1 设计背景- 1 -1.2 开发环境- 1 -1.3 系统涉及技术概述- 2 -1.3.1 MYSQL概述- 2 -1.3.2 MyEclipse简介- 2 -1.3.3 Struts2.0简介- 3 -1.3.4 Spring简介- 3 -1.3.5 Hibernate简介- 4 -2 系统可行性研究- 5 -2.1 技术可行性研究- 5 -2.2 经济可行性研究- 5 -3 系统需求分析- 6 -3.1 用户工作流程- 6 -3.2 用户业务需求- 6 -3.3 功能需求- 7 -3.4 性能需求- 7 -4 系统概要设计- 9 -4.1 设计思想- 9 -4.2 设计原则- 9 -4.3系统功能- 10 -4.4 系统结构- 10 -4.5 业务流程分析- 12 -4.6 系统数据流分析- 13 -4.7 运行环境- 19 -5 系统详细设计- 19 -5.1 用户登录与删除的设计及实现- 19 -5.2 Spring配置文件的创建- 23 -5.3 Database Driver的配置- 23 -5.4 Struts配置文件的创建- 24 -5.4.1 struts.xml的配置- 25 -5.5 web.xml的配置- 28 -6 系统测试与维护- 30 -6.1 系统的测试- 30 -6.2 系统的维护- 31 -致 谢- 32 -参考文献- 33 -1 绪 论1.1 设计背景在我国,很多商业企业是通过一套人工单据流转程序,来实现信息流对商品流的跟踪,通过财务库存资金账来控制进销过程;通过仓库账来核查物流过程;通过定期盘点对账来调整账目和商品的损益。由此造成物流、款流、票据流分离,财务信息滞后实际业务,所以只有通过盘点才能较准确的了解经营情况。而对各类票据、供销单位、应收、应付款等信息查找困难,易出差错,商品进、销、存数量及金额记录统计工作量大,不准确,各类经营统计数据严重滞后实际业务需要。现代商业的迅猛发展,对手工管理模式提出了严峻挑战。商品品种日益丰富,流行周期越来越短,企业活动节奏加快,调价、削价、移库各种情况,信息量大、变化加快,赊销、代销、折让、退换等方式频繁应用,这些都增加经营管理中的结算和统计难度,手工管理难以完全胜任。在现代化大工业、大生产的组织原则应用于流通领域,更需要用现代化的手段使其管理思想真正得以实现。近几年来,随着计算机的发展与完善,其在商品流通领域中的应用越来越广泛。因而,用计算机建立一种准确、及时、高效、方便、易于掌握的商品进销存数据管理系统是非常必要的。国际社会建设信息高速公路的热潮和中国以“金”字号工程为代表的国家信息工程项目的开展,使中国企业信息化面临新的形势。我国信息化的主要任务,就是要实现计划经济体制向社会主义市场经济体制的历史性转变,经济增长方式由粗放型向集约型转变,同时改变我国经济领域管理落后、技术落后、生产效率低下的状况。为了实现这个目标,大力加强我国推进信息化的工作,特别是推进作为基础工作的企业信息化就显得更加迫切和突出。实现企业信息化管理是现代社会中小企业稳步发展的必要条件,它可以提高企业的管理水平和工作效率,最大限度地减少手工操作带来的失误。进销存管系统正是一个信息化管理软件,可以实现企业的进货、销售、库存管理。1.2 开发环境l Web服务器:Tomcat v 5.5l 数据库服务器:MySQL v 5.0.22l 开发平台:MyEclipse SDK v 7.01.3 系统涉及技术概述1.3.1 MYSQL概述MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是:1.3.2 MyEclipse简介 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:1. J2EE模型2. WEB开发工具3. EJB开发工具4. 应用程序服务器的连接器5. J2EE项目部署服务6. 数据库服务7. MyEclipse整合帮助对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。1.3.3 Struts2.0简介虽然Struts2号称是一个全新的框架,但这仅仅是相对Struts 1而言。Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。或者说,WebWork衍生出了Struts2,而不是Struts 1衍生了Struts2。因为Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势,因此,是一个非常值得期待的框架。Apache Struts2是一个优雅的,可扩展的JAVA EE web框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Apache Struts 2即是之前大家所熟知的WebWork 2。在经历了几年的各自发展后,WebWork和Struts社区决定合二为一,也即是Struts 21.3.4 Spring简介Spring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务()管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。1.3.5 Hibernate简介Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。2 系统可行性研究2.1 技术可行性研究在IT行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,熟悉IT产品。因为,有的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。2.2 经济可行性研究因为通过网络传递销售信息可以不受距离的限制,因此可以借阅许多的人力和物力,方便管理,由此可以减少不必要的开支,同时该系统可以提高超市的销售效率,即提高了超市的经济效益,所以从经济上完全是可行的。(1)超市有能力承担系统开发费用开发新系统的工作是一项间距复杂的工作,它的投资主要是人力和物力的投资。对于本系统的开发者来说,其主要投资还是在人力和物力两个方面。如果是企业自己安排人手开发系统的话,其主要的投资还是在人力资源上,从系统的业务需求调查到系统的分析编码制作都是需要巨大的人力投入的。软件企业作为一个简短的高科技产业,其员工要求都比一般企业的要求要高,而且对系统开发及软件产业了解比较多,所以在自我开发管理系统的过程中,企业自己比较容易安排人手,这样就可以为企业借阅大部分的额外开支。同时软件就其它产品来说,属于高端行业,无论是产品的价格还是质量都比较高,而经营产品的经销商或者是商家都要求有雄厚的资金支持。所以,在系统的开发过程中,企业完全有能力承担开发费用。(2)新系统将为企业带来经济效益管理系统是一个信息化、智能化和先进管理理念的集合体。而管理是一个动态过程,在其运行过程中要采取多项措施。所以在管理中获得经济效益是一个综合效益,要对它进行直接定量的分析是比较困难的。一般新系统带来的经济效益是简介的,其最主要的表现就是减少了企业管理费用和人力开支。而其它一些繁琐的食物都通过新系统来加以分析解决,不仅节省了大量的时间,还为企业的各项决策提供了宝贵的资料,为企业带来巨大的经济效益。3 系统需求分析3.1 用户工作流程进货或销售商品时,用户要对进货单或销售单进行核对审查,并进行登记;用户要获得进货、销售、库存信息时,要对进货情况、销售情况、库存情况进行查询并打印。3.2 用户业务需求(1)该管理软件将对库存商品进行资料管理和统计,对产品的进货单和产品的销售单进行录入管理和统计;(2)该管理软件将根据用户的需要对进货、销售、库存情况进行查询,并能打印详细信息;(3)该管理软件将为用户提供账号管理工具,以便用户对账号进行管理,具体为添加用户、删除用户、修改用户密码;(4)该管理软件提供企业人员管理,能够对企业员工的分类管理,新员工的加入以及员工删除,修改进本信息等功能。整个管理系统的业务功能结构如图3-1所示:进销存管理系统人事管理模块进货管理模块销售管理模块库存管理模块图3-1 系统功能结构图该系统将分为四个模块,分别为:人事管理模块、进货管理模块、销售管理模块、库存管理模块。3.3 功能需求本系统采用自定向下方法开发,其功能模块主要有如下几个部分:进货管理模块、库存管理模块、销售管理模块和员工管理模块。具体的功能描述如下: 进货管理:其功能是对手机供应商信息进行管理,并根据企业情况制定进货计划,实施产品采购,并进行进货查询。库存管理:其功能是对采购来的产品进行企业内部编码入库,产品分类等活动,同时能够根据销售清单进行出货管理,以及库存统计。销售管理:其功能是提供一般的销售管理,能够进行销售明细查询和打印销售报表。人事管理:其功能是对超市的员工和供货商信息进行管理,包括查询,更新等。3.4 性能需求(1)数据精确度产品的进货单和销售单中,单价、金额采用浮点数,保留至小数点后两位。(2)时间特性该管理系统软件从启动到进入系统登录界面的时间正常情况下应少于5秒,录入并更新数据的时间正常情况下少于2秒。(3)适用性该管理系统软件采用B/S体系结构,而且用Java语言编写的代码,适用于各种操作系统上。4 系统概要设计4.1 设计思想(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。4.2 设计原则为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循了如下原则:(1)合法性原则:依据产品核算系统的工作规定以及要求,参照核算实际的工作情况,进行诸如产品进货、销售等工作。(2)实用性原则:适合产品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3)准确性原则:对输入的相关资料建立检错机制,及时报错,使用户能够及时准确的输入合法资料(如:类型匹配,长度不超限等)。(4)易操作原则:要求设计的系统功能齐全,界面友好,操作方便,必要的地方进行提示。 (5)源程序可读性原则:为了便于其他设计,维护人员读懂代码或以后的代码修改,软件升级维护,即可能做好代码注释工作。(6)优化原则:为了达到优化的目的,合理的运用窗口,菜单,对象等的继承,自定义用户对象,事件,函数,减少不必要的重复性代码,使程序简介明了,也方便了将来的维护。(7)安全性原则:可以为该系统的用户设置用户权限。4.3系统功能本系统的用例图:图4-1 系统用例图系统管理员可以进行前台销售系统和后台管理系统,前台管理系统管理着商品的录入,以及进货商品的付款;后台管理系统主要进行商品的进货、库存以及部分的销售(例如商品的折扣率),此外人员的管理也是由后台管理系统掌管。4.4 系统结构系统总体结构进销存管理系统前台销售系统后台管理系统商品录入收银业务进货管理销售管理库存管理人员管理 退出系统图4-2 系统总体设计该系统分为两大部分:前台销售系统和后台管理系统。其中前台管理系统又分为:商品的录入和收银业务。商品的录入是销售人员将顾客所购买的物品进行的统计;收银业务是将顾客购买的物品进行统计并进行价格统计。该子系统还必须具有以下功能:安全性:OS登陆、退出、换班与操作锁定等权限验证保护;断电自动保护最大限度防止意外及恶意非法操作。 独立作业:有的断网收银即在网络服务器断开或网络不通的情况下,收银机仍能正常作业后台管理系统分为:进货管理、销售管理、库存管理以及人员管理。进货管理的功能是对所需要引进的商品向供应商求购,以及更新供应商的信息等;销售管理将查询各种销售明细记录、各地收银员收银记录以及交结账情况等;库存管理是综合查询库存明细记录,商品的库存量、移库出库情况等;人员管理对人员的更换以及权限等进行管理。4.5 业务流程分析超市管理系统主要是是以先进的管理理念和科学的计算机技术来取代原始的手工操作。在新系统开发前,我们对这个超市管理系统业务流程进行了系统的调查,得出了下面的业务流程图,如图4-3所示:新系统主要业务分析:(1)进货业务进货管理是企业生产经营活动中及其重要的一环,它关系到产品质量能否得到保证,生产是否能够顺利进行,采购成本能否得到有效控制等问题。企业现代管理理念中对企业的进货管理提出新的要求;企业进货时对供货商的选择更见慎重,双方不再是讨价还价的买卖关系,而是一种相互依存的合作伙伴关系,并且还需要认识到企业产品质量要从采购抓起,这就关系到供方的供货、服务质量。下面是进货业务程序的主要内容:供货商的情况调查:在实施采购之前,超市首先就要对市场上各大商品供货商进行详细的调查,了解公司的具体情况,评定企业的信誉级别和公司的市场口碑,做到准确无误,采购顺利。采购计划的编制:超市根据自身的资金条件和销售状况,综合分析市场规律,拟定采购计划表。实施进货计划:根据供货商档案及评审结果,选定供货商;生成订货单给选定的供货商;双方就价格、数量、质量等方面洽谈磋商,直至签订合同;跟踪合同执行,安排供货进度和货物运输,做好验收入库工作。(2)库存业务:库存管理是指在上产经营中为销售和耗用而存储的各种资产。企业存货不当都会增加不必要的费用:存货过多将导致物资的积压、存储费用增加、流动资金周转不利,并且过量的库存会掩盖管理不善的问题。存货不足则影响企业的正常销售活动。库存管理的目标是需求最佳存货数量,使库存的成本总额最小化。其主要业务如下:产品入库、出库、盘库等日常处理。科学合理地确定某库存物资的库存控制参数。如:最佳订货批量、最大库存量、最佳缺货量、最佳订购周期等,进行严格的库存控制工作。汇总统计各类库存数据,反应和监督储备资金占用及采购资金使用情况。(3)销售业务销售对一个企业的生存和发展是至关重要的,它不再是传统意义上的“卖东西”,它对外关系到企业产品、服务和企业形象等多方面因素,对内涉及到销售、库存、财务等信息。此外信息化的高速发展为企业的销售工作提出了新的挑战,封闭意味着落后,超市要抓住时机,引入现代化的销售管理模式,实施企业的信息化、智能化销售管理,才能使超市在激烈的市场竞争中立于不败之地。4.6 系统数据流分析业务流程分析可以帮助了解某项业务的具体处理过程,发现和处理系统调查工作中的错误和疏漏,修改和删除原系统中不合理部分,在新系统基础上优化业务处理流程。采用系统流程图的部分图形工具来规范说明该系统的业务活动。业务流程图中的符号说明如下图4-4所示:系统内人员 系统外实体 单据、报表、帐目 处理 数据流向 存储图4-4 业务流程图图例根据了解的超市的一些进货、销售和库存等相关信息。我们给出了超市进销存的顶层流层图如图4-5所示:供货商进销存管理系统采购订单商品入库单操作人员各类表单操作人员各类报表各类表单客户全检报告出货单销售订单图4-5 管理系统顶层图客户向进销存管理系统提交销售订单,管理系统由用户提供的销售订单和仓库的库存情况生成出货单给客户检查。客户检查后再向管理系统提供一份全检报告。管理系统确定无误后交给发货人员。由发货人员进行发货。推销人员在外地推销超市的商品,然后向管理系统提交各类相关的表单,这些表单由系统处理后,生成各种报表交给发货人员。由发货人员统筹发货。采购人员从管理系统拿到采购订单,根据采购订单的内容进行对商品进行采购,采购人员对采购回来的商品进行录入,向系统提供商品入库单。这样的顶层流层图只能描述出系统和外界使用者的关系,而在系统的内部还要进行细分。于是该系统0层图如下图4-6所示:销售系统1仓库系统2采购系统3采购订单盘点报表商品入库单请购单商品进货单商品动态出货通知单出货单商品动态全检报告销售订单出货装箱单报关资料单物控系统4财务系统5各类统计报表采购文件商品库存文件订单图4-6 管理系统第0层图销售系统:用户向系统提交了销售订单和全检报告后,销售系统向仓库系统提交出货通知单,经过仓库系统的处理后,返回出货单和商品动态。销售系统再根据系统拿到的信息进行处理生成报表资料单和出货装箱单,由客户确定后,销售系统给销售人员确定的信息。库存系统:采购人员向库存系统提交了商品入库单之后,进行处理去修改商品库存文件。采购系统再根据商品入库单和采购文件对商品进行汇总,从而生成盘点报表。采购系统:采购人员向系统提供采购信息,采购系统生成采购文件。库存系统从采购文件中取出信息处理后向采购系统提交请购单和商品进货单。采购系统根据信息产生采购订单。物控系统:它由销售系统的销售订单和商品库存文件的信息对商品进行汇总,统筹调度商品的流通。财务系统:它根据物控系统的分析信息、商品库存文件和采购文件对系统金额进行汇总计算,从而生成各种统计汇表。订单处理系统:它在接收到客户发送的销售订单和全检报告后,根据商品清单的信息判断是否需要向物控系统发送内部订单,向库存系统发送样品通知单以及是否向报关系统发送内部订单消息以及向一些相关的操作人员发送消息。报关:这部分对小型的超市来说没有必要设计,但是当超市发展到一定规模后,甚至达到了全国连锁后,我们应该考虑到这部分的设计。在这里只做简要说明。报关系统根据订单处理系统发送的内部订单以及仓库系统发送的出货通知单并根据报关资料的相关信息产生出货单进行相应的操作。出货处理:它根据出货文件情况和商品库存情况的信息判断是否出货,若可以则将出货通知单发送到仓库系统和报关系统。出货处理1.3订单处理系统1.1报关1.2全检报告销售订单内部订单出货通知单报关资料单商品清单出货文件商品库存情况出货通知单出货单出货通知单样品通知单内部订单图4-7 库存管理部分第1层图商品管理系统进行商品的进货、销售以及对库存的操作,在库存管理中我们进行了细化管理库存商品得到如图4-8所示的流程图:库存商品管理向采购系统发送请购单、商品通知单和商品的动态请求进货。库存商品管理根据供应商发送来的商品入库单,向商品入库文件、原库存文件以及采购文件写入相关信息,若要进行盘点操作则向操作员发送商品盘点报表。库存商品管理2.1商品入库单商品盘点报表商品动态请购单商品通知单采购文件原库存文件商品入库文件图4-8 商品管理部分第2层图我们对入库商品再继续进行细化,得到了如下图4-9所示的流程图:商品库存文件入库商品管理2.2商品入库商品盘点表出货单商品动态出货通知单图4-9 商品管理部分第2层图入库商品管理根据供应商发送的商品入库消息进行相应的操作,对商品库存文件进行更新,同时向销售系统发出出货单和商品的动态消息以及向报关发送出货通知单消息,若要进行盘点操作则向操作员发送商品盘点表。4.7 运行环境l Intel Pentium 2级以上处理器,512M以上内存l Microsoft Windows XP操作系统l 800*600或以上的屏幕分辨率5 系统详细设计5.1 用户登录与删除的设计及实现该管理系统用户登录界面如下图5-1所示:图5-1用户登录源代码如下:public String login()tryif (this.ok.equalsIgnoreCase(登陆)List tem=this.userDAO.findByNamePw(s.getName(),s.getPw(); if (tem!=null&tem.size()!=0) return success_main; else return fail; else return success;catch (RuntimeException e) throw e; 该管理系统用户删除界面如下图5-2所示:图5-2用户删除源代码如下:public String del()tryobjUser=this.userservice.getByid(this.id);/System.out.println(-sadfasdad-+objUser.getId()+-);this.userservice.delUser(objUser);/System.out.print(objUser.getName();/this.userDAO.getHibernateTemplate().clear(); /this.userDAO.getHibernateTemplate().saveOrUpdate(objUser); /this.userDAO.getHibernateTemplate().delete(s);/this.userDAO.getHibernateTemplate().flush();this.users=this.userservice.getAllUsers();return Sdel;catch(Exception e)e.printStackTrace();this.setActionMessage(fail);return S2;public String doDelUser()tryobjUser=this.userservice.getByid(s.getId();objUser=s;this.userservice. delUser(objUser);/System.out.print(-first-+s.getId();this.setActionMessage(success!); this.users=this.userservice.getAllUsers();return S1;catch(Exception e)e.printStackTrace();this.setActionMessage(FAIL);return S2;操作流程如下:一切配置完成以后,部署所建立的工程,然后编译,成功启动Tomcat后,在IE浏览器里输入http:/localhost:8080/ensshsys 将显示系统登录窗口输入用户名和密码后点击“登陆”按钮,系统将自动检验所输入的用户名和密码是否正确,若正确则进入系统主界面,否则显示错误信息;点击“取消”按钮则将用户名和密码框中的内容清空,等待下次输入。登陆成功后跳转到系统的主界面:图6-25.2 Spring配置文件的创建Spring有分层的体系结构,这意味着能选择使用它孤立的任何部分,它的架构仍然是内在稳定的。可以选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象,从底部编写易于测试的代码。通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。有了Spring,不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。在“Web Root”“WEB-INF”下创建“applicationContext.xml”文件,由于将Hibernate托管于Spring了,故在该文件里面配置与数据库连接的Bean,其内容如下:5.3 Database Driver的配置在MyEclipse7.0主界面的右上角选择“MyEclipse Database Explorer perspective”,在弹出的界面中右击“MyEclipse Derby”“New”,新建一个Database Driver,配置如下图5-2所示:图5-2继续操作下去就完成了名为“com.mysql.jdbc.Driver”的配置,打开该驱动即将数据库连接上了。5.4 Struts配置文件的创建Struts2本身提供了大量的可重用的拦截器,比如类型转换拦截器,很多时候我们从页面取得参数,这个时候它是String类型的,我们需要手动的把它转成Long型的或是Integer型的再使用,在Struts2中不必这样做,Struts2中已经帮你做了这些事情了。同时Struts2更加的模块化,可以轻松将配置信息按功能界限拆分成多个文件,便于管理和团队协作开发。它与Spring的集成中,不必再自己编写singleton,进一步的降低了程序间的耦合性,就它内部本身而言,降低了框架本身的偶合性。在左侧的窗口中,选中“ensshsys”右击“New”“File”,创建“struts.xml”初始化信息如下:index.jsp 5.4.1 struts.xml的配置在struts.xml里里面的内容为拦截器,在此引用了默认的拦截器堆栈。其内容如下:在index.jsp登陆页面中配置需要的Action类,如下所示:然后在validate类下添加login()方法:public String login()tryif (this.ok.equalsIgnoreCase(登陆)List tem=this.userDAO.findByNamePw(s.getName(),s.getPw(); if (tem!=null&tem.size()!=0) return success_main; else return fail; else return success;catch (RuntimeException e) throw e; main.jspfail.jsp在struts.xml里面设置validateAction以及它在登陆页面所返回的值指向的文件:在main.jsp文件中用到了“jsp_userMan_*”,因此需要在struts.xml文件里配置jsp_userMan_*.action。该Action的作用是将主界面上的“用户管理”转向它所指的页面,在主界面里面显示出来。在struts.xml文件中1位置的内容是指定页的名称。当点击主界面上相应的按钮,Struts按照在此文件路径的配置搜索文件夹下相应的文件,将其显示出来。WEB-INF/jsp/userMan/1.jsp在“用户管理”里面的用户添加需要的validateAction类以及其所返回的值所指向的文件:DoubleNameError.jsp fail.jspWEB-INF/jsp/UserMan/S1.ftlWEB-INF/jsp/userMan/S2.jsp用户修改的validateAction类以及其所返回的值所指向的文件:WEB-INF/jsp/UserMan/S1.ftlWEB-INF/jsp/userMan/S2.jspWEB-INF/jsp/UserMan/Sedit.ftl用户删除的validateAction类以及其所返回的值所指向的文件:WEB-INF/jsp/UserMan/S1.ftlWEB-INF/jsp/userMan/S2.jspWEB-INF/jsp/UserMan/Sdel.ftl5.5 web.xml的配置当启动一个WEB项目的时候,容器会去读它的配置文件web.xml。读两个节点: 和 ,紧接着容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文。容器将转化为键值对,并交给ServletContext。在“Web Root”“WEB-INF”下的web.xml里,将Spring交与Struts管理,有两个Spring配置文件,故要包含他们,其内容如下:contextConfigLocation/WEB-INF/applicationContext.xml,/WEB-INF/applicationContext1.xml其中的的内容是对Spring的配置。然后容器创建中的类实例,即创建监听。而该系统中的中的类实例为:org.springframework.web.context.ContextLoaderL

温馨提示

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

评论

0/150

提交评论