工业制造企业合同管理系统.docx
工业制造企业合同管理系统课题名称工业制造企业合同管理信息系统计算机学院专业班级毕业设计(论文)的要紧内容:分析工业制造企业合同管理的业务需求,进行需求分析。2 .分析、给出工业制造企业的合同管理业务模型,设计软件系统的工作流程3 .根据需求分析与建立的业务模型完成课题的设计、编码、测试等工作。4 .完成毕业设计说明书(毕业论文)一份。5 .完成5000字的与设计内容有关的外文资料翻译。起止时间:2008年5月3日至2008年5月23日共3周指导教师系主任院长签字签字签字填写说明:任务书“封面请用鼠标点中各栏目横线后将信息填入,字体设定为楷体一GB2312、四号字;在填写毕业设计(论文)内容时字体设定为楷体一GB2312、小四号字.随着科技进展与社会进步,特别是计算机大范围的普及,计算机应用逐步由大规模科学计算的海量数据处理转向大规模的事务处理与对工作流的管理,这就产生了以台式计算机为核心,以数据库管理系统为开发环境的管理信息系统在大规模的事务处理与对工作流的管理等方面的应用,特别是在各类项目处理管理之中的应用日益收到人们的关注。近年来我国信息产业进展迅速,手工处理数据管理的方式已于时代不相习惯,使用IT技术提高服务质量与管理水平势在必行。目前,计算机已经走进家庭用户,能够说是相当的普及了,而个人理财管理还不成熟。因此,家庭用户要提高其工作效率,改善其理财理念。这样,理财管理的信息化是势在必行的.此系统是为现代化企业设计的一个工业制造企业合同管理系统,随着经济的进展,企业正向着大型化、规模化进展,而关于大中型企业,产品的多样化,所签仃的合同也随之急剧增加,在这种情况下单靠人工来处理,计算机这些合同不但显得力不从心,而且极容易出错。具体任务就是设计一个工业制造企业合同的数据管理系统,由计算机机来代替人工执行一系列诸如增加新合同、删除旧合同、修改、查询的操作。设计的指导思想是一切为了用户着想,界面要美观大方,操作尽量简单明了,而且作为一个有用的操作系统要有良好的容错性,在用户出现误操作时能够及时给出警告,以便用户及时地改正。计算机的资源是受到限制的,因此要充分利用jsp的功能,设计出功能强大的软件,同时要尽可能地减少对系统资源的占用。关键字:合同管理,jsp,sturts,hibemate.mysql.AbstractDuringthisinformationtimes,combiningcomputerswithenterpriseusualeventsmanagementhasbecomeanemergenttaskthateveryenterprisemustaccomplishassoonaspossible.TheMlS(managementinformationsystem)ofContractsbasedonSingle-Layerstructuremode,whichissuitableformediumandsmallenterprisesisdevelopedanddesignedinthisarticle.Thenintroducessoftwareandhardwareconfigurationandimplementofthesystem.Thesystemadoptseclipseandmyeclipseasdevelopingtool,MySqlasDBMS(DatabaseManagementSystem).ThenmakesaconcisedescriptionofprogrammableenvironmentanddatabasetechniqueofVB6.0.Basedonfeasibilityanalyzingandsystemdemandanalyzing,emphaticallyexpoundsdesign-project>functionalmodel、interfacedesigningdatabasesystemdesigning、securitydesigninthispaper.TheMISofContractsstrictlyfollowsthedesignprincipleofsecurity,economy,efficiencyreliability,andeasyoperating,maintainingandexpanding.Finally,theauthormakesasubjectiveestimateofhisdesign,andputsforwardimprovingmethodsandnewplanstoovercometheshortcomingsoftheexistingsystem.Attheendofthisarticle,referencesarelisted.KeyWords:contractmanager,jsp,sturts,hibernate.mysql.摘要1目录41绪论62开发环境及开发工具的介绍72.1 JDK,服务器,数据库的安装与配置72.1.1 JDK.TOMCAT服务器安装与配置72.1.2 Mysql的安装与配置72.2 Eclipse与IiyEClipse的安装与配置83开发技术介绍103.1 Java103.1.1 Java概述1()3.1.2 JaVa的特点1()3.2 Servlet技术113.2.1 SerVIetS:工作原理及概述113.2.2 特点及应用123.3 JSP技术介绍121.1.1 Ijsp概述121.1.2 Jsp与servlet的比较13333JSP的工作原理:131.1.4 Jsp的环境配置133.4 Struts技术133.4.1 StrUtSMVC框架133.4.2 基于struts的web应用的开发步骤143.4.3 Struts的Token(令牌)机制163.5 Hibernate173.5.1 Hibernate数据持久化组件173.5.2 使用hibernate编程步骤173.5.3 Hibernate操纵的事务17184系统设计4.1 需求分析184.1.1 功能分析184.1.2 角色分析:194.1.3 数据库分析:204.3 数据库设计254.4 系统总体设计264.4.1 设计思想:264.4.2 框架设计:264.4.3 系统界面要求274.4.4 系统模块的划分:284.4.5 要紧系统模块的具体实现:29(1):职工或者管理员的登录模块29(2):添加职工模块32(3):职工或者管理员的修改与删除模块35(4):查询客户信息38(5):合同信息的录入41(6):合同信息的签署434.5.3系统的测试455总结与体会46致谢47参考文献48附录一:英文资料原文49附录二:英文资料翻译561绪论随着信息时代到来,电脑信息管理技术越来越受到各企业的高度重视,逐步成为企业在现代化进展中不可缺少的一部分.在当今IT技术日新月异,而企业市场化进程加快的时刻,电脑信息管理技术几乎涉及到每一家优秀企业的整个经营活动.对公司经营,效率甚至策略的变化都有直接而深远的影响.工业制造合同管理系统是一套针对企业产品工业制造合同方面的电脑信息管理系统,它包含了企业在产品销售合同上的各方面内容.而销售方面对一个企业在市场化经营中是重中之重的部分.因此用电脑信息技术进行管理也是各企业的实际需求.随着社会经济的迅速进展与科学技术的全面进步,计算机事业的飞速进展,以计算机与通信技术为基础的信息系统正处于蓬勃进展的时期,信息管理系统领域正在经历一场重大的变革。计算机在企业管理中应用的普及,利用计算机实现企业合同及文档资料的管理势在必行。随着企业间竞争的日益加强,企业对管理系统的要求也越来越高,工业制造企业合同管理系统基于商业运作,根据逻辑统筹运算思维,将销售业务的合同、销售发货、结款与历史数据紧密衔接在一起。本系统结合企业实际的合同文档管理制度,通过实际的需求分析,使用功能强大的Eclipse作为开发工具而开发出来的企业合同管理系统。2开发环境及开发工具的介绍2.1 JDK,服务器,数据库的安装与配置2.1.1 JDK.TOMCAT服务器安装与配置一、安装JDK二、安装TOmCat三、设置JDK与TOmCat在Windows下:a配置jdk先设置JDk的路径(Path):开始-设置-操纵面板-系统-高级-环境变量-系统变量。然后单击“新建”按钮。变量名="CLASSPATH"变量值二"CJDK;C:JDKBIN;”同理新建:PATH=',C:JDKLIBTOOLS.JAR;C:JDKLIBST.JAR;"b、配置Tomcat先设置TomCat的路径(Path):开始-设置-操纵面板-系统-高级-环境变量-用户变量。然后单击“新建”按钮。同上输入:TOMCAT_HOME=C:TOMCAT再在“系统变量”承击“新建”按钮。输入:Javajome=C:jdk;完成以上配亶就算大工告成。测试:进入dos输入javac如若显示可选项信息,即可。双击C:Tomcatbinstartup.bat使虚拟服务器运行,然后打开IE浏览器,输入(注意:通常用户目录在:C:tomcatwebappsexampIes下,通常用户可在其下建一用户目录以便储存JSP文件,而JavaBean通常放在C:tomcatwebappsexampIesweb-infcIasses目录下。另外注意:没有IP地址的电脑是不能运行JVM的。)2.1.2 Mysql的安装与配置Mysql的简单介绍MySQL作为一种开放源码数据库,以其简单易用的特点广泛被广大用户使用,MySQL尽管是免费的,但同Oracle,Sybase,Informix,Db2等商业数据库一样,具有数据库系统的通用性:1)数据库管理系统。我们明白,所谓的数据库就是一些结构化的数据的联合体,要提供对这些数据的存取、增加、修改、删除或者更加复杂的数据抽取等操作,需要有一个支撑系统,这就是数据库管理系统(DBMS),MySQL完全具有这方面的功能。2)关系型数据库管理系统。在数据库的进展历程中,曾出现过多种不一致形式的数据库系统,但关系型数据库管理系统(RDBMS)以其优越性而被广为使用,象现在几种广泛使用的数据库全为关系型数据库。同样,MySQL也是关系型的数据库系统,支持标准的结构化查询语言(StrUCtUredQueryLanguage)O3)开放源码数据库。同商业性的数据库相比,这是MySQL最大的特点。MySQL的源码是公开的,这就意味着任何人,只要遵守GPL的规则都能够对MySQL的源码使用、修改以符合自己特殊的需求。4)技术特点。MySQL是C/S架构的服务器,服务器端是多线程的,为客户端提供了不一致的程序接口与链接库,如C、C+、Java、PerlPHP、TeI等,也提供了简单的管理工具,如IlIySqIadmin,IlIySqI等。MySQL有如此多的特点,又由于其免费的特点,这就给许多的中小应用提供了不错的选择。特别是对一些中小企业,不管是从降低成本,还是从性能方面,使用MySQL作为其数据支撑系统,都是一种可行的方案。但也应当注意,使用MySQL作为应用数据库,就意味着所有的问题都需要自己解决,要承担一定的风险。安装与配置:安装:1 .解压mysql-5.0.18-win32.zip后得到SeUIP.exe,双击进行安装,安装过程非常简单,最后有一项PaSSPOrt的选择页面,选择跳过即可。2 .之后会自动启动MySqI配置程序(EXE文件目录:SMYSQL_HOME$binMySQLInstanceConfig.exe)。如之前安奏过会首先进入选择界面:选择你想要配置的mysql服务即可,点击下一步假如之前没有安装过任何版本的Mysql,会直接进入下图界面:之后是一些配置选项,按照你的用途选择就能够了,只是请注意下面这个界面:这是选择InnoDBDatafiles的一步,请记住你选择的盘符与路径(原因后面再说)最后需要设定密码,默认的用户名为root。安装完后它会自动编写$MYSQL_H0ME$my.ini并启动Mysql服务。在命令行模式下输入mysql,能够进入mysql提示符说明mysql启动成功2. 2Eclipse与MyEcIipse的安装与配置1 .简单介绍Eclipse与MyEclipseEclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架与一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包含Java开发工具(JaVaDevelopmentTools,JDT)o这种平等与一致性并不仅限于Java开发工具。尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;比如,支持诸如CC+>COBOL与Eiffel等编程语言的插件已经可用,或者估计会推出。Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。简单而言,MyEclipse是ECliPSe的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试与除错。Genuitec公布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更简单与更便宜的J2EE工具的新版本的诞生。它的价格关于个人与企业开发人员来说都是非常有吸引力的。这是J2EEIDE市场一个重量级的选手。通过增加UML双向建模工具、WYSlWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring与Webservices支持,与新的Oracle数据库开发,MyEclipse5.0继续为业界提供全面的产品。Genuitec总裁MaherMasri说,今天,MyEclipse已经提供了意料之外的价值。其中的每个功能在市场上单独的价格都比MyEclipse要高。但是,我们承诺为顾客提供全面同时能够买得起的解决方案。按照这个传统,我们的顾客将继续享受年度订购活动的好处,该活动提供了所有公布功能的入口与伴随MyECliPSe5.0一起的专业技术支持。2 .安装Eclipse与MyEclipse将eclipse-SDK-3.1.2-win32.zip直接解压到要安装的目录即可。然后安装MyECIiPSe,注意在安装的时候妻正确选择Eclipse的安装路径。3 .运行环境的配置指定Eclipse+MyEclipse的JRE、Tomcat服务器与编码方式1)通常情况下,ECIiPSe能够自动找到JRE,我们不用进行过多的设置。2)配置Tomcat启动Eclipse,菜单栏中选择“窗口(WindOw)""首选项(PreferenCe)”“MyEclipse''"ApplicationServers*Tomcat5”将TomcatServer设置为“Enable”,并将“TomcatHomeDireCtory''设置为Tomcat5.5.9的安装目录,其他目录选项将会自动生成3)配置默认编码仍然是菜单栏中的“窗口(Window)""首选项(PreferenCe)”“常规(Genera1)”“内容类型(ContentTypes)”“文本(text)”然后在“缺省编码(DefaUltencoding)”中输入“UTF8”,点击“更新(UPdate)”将“Java类文件(JaVaPropertiesFiIe)”及其他字符编码均“更新(UPdate)”为“UTF-8”3开发技术介绍3.1 Java3.1.1 Java概述1991年,SUNMiCrOSyStem公司的JanIeGoSIing、BillJOe等人,为在电视、操纵烤面包箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件(即一种橡树的名字),但当时并没有引起人们的注意,直到1994年下半年,IrIternCt的迅猛进展,环球信息网WW的快速增长,促进了Java语言研制的进展,使得它逐步成为Internet上受欢迎的开发与编程语言,一些著名的计算机公司纷纷购买了JaVa语言的使用权,如MiCrOSOft、IBM>Netscape>Novel1>Apple.DEC、SGI等,因此,Java语言被美国的著名杂志PCMagazine评为1995年十大优秀科技产品,(计算机类就此一项入选),随之大量出现了用Java编写的软件产品,受到工业界的重视与好评,认为JaVa是八十年代以来计算机界的一件大事,微软总裁比尔*盖茨在悄悄地观察了一段时间后,不无感慨地说:JaVa是长时间以来最卓著的程序设计语言,并确定微软整个软件开发的战略从PC单机时代向着以网络为中心的计算时代转移,而购买Java则是他的重大战略决策的实施部署。因此,Java的诞生必将对整个计算机产业发生深远的影响,对传统的计算模型提出了新的挑战。SUNMicroSystem公司的总裁ScottMcNealy认为JaVa为Internet与WwW开辟了一个崭新的时代。环球信息网WwW的创始人Berners-Lee说:计算机事业进展的下一个浪潮就是Java,同时将很快会发生的。3.1.2 Java的特点JaVa是一个广泛使用的网络编程语言,它是一种新的计算概念。首先,作为一种程序设计语言,它简单、面向对象、不依靠于机器的结构、具有可移植性、鲁棒性、安全性、同时提供了并发的机制、具有很高的性能。其次,它最大限度地利用了网络,Java的小应用程序(applet)可在网络上传输而不受CPU与环境的限制。另外,Java还提供了丰富的类库,使程序设计者能够很方便地建立自己的系统。JaVa语言有面一些特点:简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程与动态性。1 .简单性Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就能够用它编写出适合于各类情况的应用程序。JaVa略去了运算符重载、多重继承等模糊的概念,同时通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。另外,Java也适合于在小型机上运行,它的基本解释器及类的支持只有40KB左右,加上标准类库与线程的支持也只有215KB左右。库与线程的支持也只有215KB左右。2 .面向对象Java语言的设计集中于对象及其接口,它提供了简单的类机制与动态的接口模型。对象中封装了它的状态变量与相应的方法,实现了模块化与信息隐藏;而类则提供了一类对象的原型,同时通过继承机制,子类能够使用父类所提供的方法,实现了代码的复用。3 .分布性Java是面向网络的语言。通过它提供的类库能够处理TCP/IP协议,用户能够通过URL地址在网络上很方便地访问其它对象。4 .鲁棒性Java在编译与运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。通过集成的面向对象的例外处理机制,在编译时,Java提示出可能出现但未被处理的例外,帮助程序员正确地进行选择以防止系统的崩溃。另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。5 .安全性用于网络、分布环境下的Java务必要防止病毒的入侵。Java不支持指针,一切对内存的访问都务必通过对象的实例变量来实现,这样就防止程序员使用特洛伊木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。3. 2Servlet技术3.1.1 SerVletS:工作原理及概述SerVletS是用JaVa语言实现的独立于协议与平台的服务器端组件,它动态扩展了支持Java的服务器,它能够被插入到支持Java的Web服务器中以提供定制服务,包含: 增加新的特性服务 页面内容的动态改变(RUmimeChangeS) 页面显示的动态改变(RUmimeChangeS) 对新的标准协议的支持(比如FTP) 对用户定制协议的支持如图所示,Servlets在服务器内部工作,它们不需要图形用户接口,作为JaVa程序组件,它们根据需要在服务器内部被部署。而使用SerVIetS的客户多种多样,既有简单的HTML表单,也有复杂的JaVaAPPletSoSerVletS被设计在请求/应答(RequesUResponse)处理模式下工作,在该模式下,客户向服务器发送请求消息,服务器则通过发送应答消息予以回复。请求消息能够使用如下格式:URL FTP 用户定制协议在通常情况下,请求与其有关应答能够反映请求时刻客户与服务器的状态,而客户与服务器之间连接的状态无法在多个请求/应答之间储存,而Servlet所提供的会话(SeSSiOn)机制则能够在多次请求/应答之间储存会话信息。SerVIetS有效地扩展了基于请求/应答的服务器(比如Web服务器)的功能,下图显示了一个最简单的应用实例,一个SerVIet负责获取来自客户的HTML格式的定单项(order-entity)数据,然后实施商业逻辑(businesslogic)处理,以便最终更新用户的定单数据库。JavaServletAPI包含若干JaVa接口(Javainterfaces),全面定义了主机服务器与SerVletS之间的连接。SerVIetAPl属于标准JaVa开发包(JDK)扩展,被包含在如下Java包中:javax.servletSerVIetSAPl包含了很多有用的特性,如会话跟踪(SeSSiontraeking)、表单数据采集(Formdataparsing)共享数据(Shareddata)国际化字符I/O,初始化参数、请求代理(Requestdelegation)等。3.1.2 特点及应用SerVIetS是对JaVa环境的一个功能强大的补充,具有快速、安全、可靠与100%纯JaVa的优点。由于SerVletS被插入到已经存在的服务器中运行,能够有效利用大量现成代码与技术,所有有关网络连接、协议协商、类装载等等工作都能够由服务器代劳,极大地减少了重复工作。SMTPPOPFTP 由于使用了不一致的处理模型与处理机制,SerVlet3在速度与效率上高于CGL在功能与实现灵活性上也要强于CGL有取代CGI的趋势。 Servlets使用了被许多Web服务器产品支持的标准API,具有较强通用性。Servlets具有JaVa编程语言的所有优点,包含易于开发、平立性等。 SerVIetS能够访问基于JaVa平台与JaVa技术的大量APL能很好地与目前主流体系结构(如J2EE)融合,具有高灵活性与高扩展性,适用于构造大型复杂的应用系统。3. 3JSP技术介绍3.1.1 jsp概述JavaServerPages(JSP)是一种实现普通静态HTML与动态HTML混合编码的技术,有关JSP基础概念的说明请参见JSP技术简介。许多由CGI程序生成的页面大部分仍旧是静态HTML,动态内容只在页面中有限的几个部分出现。但是包含SerVlet在内的大多数CGl技术及其变种,总是通过程序生成整个页面。JSP使得我们能够分别创建这两个部分3.1.2 Jsp与servlet的比较1) JSP以文本为主,要紧用于画界面2) JSP能够人工扩充,而SerVlet是固定的4)由HTML(Css、xml)、javacode、JSP标签构成5) JSP有自定义标签(ASP没有)6) CGl与SerVlet以代码为主,代码中嵌文本;JSP中文本中嵌代码7) JSP擅长于表现,而短于逻辑;而SerVlet通常用作COntOrler与diapatch(操纵与流转);因此在JSP中写界面元素,而逻辑方面由SerVlet完成。8) JSP不需要写java文件、不需要编译与配置,它被封装到了容器内部9) JSP代码不可重用10) .3Jsp的工作原理:(1)翻译(转换)阶段:*.jsp>*.java(2)编译阶段:*.java一>*.class(3)运行阶段:运行编译后生成的*.class文件。以上三个阶段均由JSP引擎来执行;JSP引擎由Web服务器所提供,它实际上就是一个Servlet(该Servlet在conf/web.xml中配置)jsp的特点(1) JSP里面能够嵌入JAVA代码(2)在运行的时候,JSP被容器翻译成为一个servlet,放在apache-tomcat-5.5.20÷work÷Catalina-÷localhost目录下面(3)不需要再在配置文件里面配置(4)文件被修改之后,自动进行重新编译11) .4Jsp的环境配置向MyEclipse插入jsp-api.jarjstl.jar与Stantdardjar到WEB应用程序的WEB-INFZlib下便可使用jsp了。3.4Struts技术3.4.1 StrutsMVC框架web应用的分层交互层,表现数据,收集数据,也就是视图层,同意请求,通过处理层完成相应的响应。(V,C)处理层,完成数据的处理,也就是业务层(M)。MVC设计模式(应用观察者模式的框架模式)Mmodel,模型,操作数据的业务处理层。Vview,示图,采集与显示数据,为业务层提供数据,表现业务层输出的数据,只关心数据的类型,不管新数据的来源。CCtrl,操纵器,也就是视图层与模型层桥梁,操纵数据的流向,同意视图层发出的事件,并重绘视图。MVC框架的实现模型StrutsMVC框架Struts是使用MVC的实现模式二来实现的,也就是以操纵器为核心。Struts提供了一些组件使用MVC开发应用程序:Model:StrUtS没有提供model类。这个商业逻辑务必由Web应用程序的开发者以JavaBean或者EJB的形式提供View:Struts提供了actionform创建formbean,用于在controller与view间传输数据。此外,StnltS提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量与错误消息,可转变为其它语言,可用于JSP中。Controller:Struts提供了一个核心的操纵器ActionServlet,通过这个核心的操纵器来调用其他用户注册了的自定义的操纵器Action,自定义Action需要符合Struts的自定义Action规范,还需要在struts-config.xml的特定配置文件中进行配置,接收JSP输入字段形成ACtiOnfOnrb然后调用一个ACtiOn操纵器。Action操纵器中提供了model的逻辑接口。Struts使用Model2架构,它的ACtionSerVIet操纵导航流,其他StrUtS类,比如ACtiOr1,用来访问业务逻辑类。当ActionServlet从容器接收到一个请求,它使用URl(或者者路径“path”)来决定那个ACtiOn将用来处理请求。一个ACtiOrl能够校验输入,同时访问业务层以从数据库或者其他数据服务中检索信息。为校验输入或者者使用输入来更新数据库,Action需要明白什么指被提交上来。并不是强制每个ACtiOn从请求中抓取这些值,而是由ActionServlet将输入绑定JaVaBean中。输3.4.2 基于struts的web应用的开发步骤1,对应用环境进行配置2,创建Web应用的结构,需要将StnHS应用的jar文件进行部署。3,在web服务器部署struts4,配置struts-config.xml文件,配置Actoin5,写自定义ACtion,实体,与业务类写一个基于Struts的web应用1,创建一个符合标准的Web应用的结构,也就是一个有WEB-INF文件夹的应用文件夹,在应用中需要使用到StrUtS的一些jar文件,要放到WEB-INF的Iib文件夹下,这些jar文件都在struts的zip文件中的/struts-1.2.9-bin/lib下还有struts-1.2.9-bincontribstruts-ellib下的Standardjar>jstl.jar与struts-el.jaro2,在web.xml中配置Struts的核心操纵器ActionServlet,并指明Struts的配置文件的所在位置WEB-INF下,在struts的文件中有一个样板的web.xml文件,使用这个web.xml文件来部署应用就能够了,这个样板在struts的zip文件中的struts-1.2.9-src.zip文件中的web/exampIes/WEB-INF/web.xml就是样板文件O部署应用看struts是否公布成功。<servlet><servlet-name>action<servlet-name><servlet-class>org.apache.struts.action.ActionServlet<servlet-class><init-param><param-name>config<param-name><param-value>WEB-INFstruts-config.xml<param-value><init-param><servlet><servlet-mapping><servlet-name>action<servlet-name><url-pattern>*.do<url-pattern><servlet-mapping>3,写jsp页面与业务,实体,与自定义操纵器类ACtiOn,自定义ACtion是要继承于Action类ActionForm是能够自动将表单中的数据封装成对象,当然,一个自定义ActionForm也是要遵守StnltS规范的,也就是要继承于ACtionFOrm,并在以上的struts-config.xml进行配置。ServletController(ActionServlet与自定义的Action),配置Ctrler需要配置struts-config.xml,通过客户端form的action来查找调用相应的action,自定义action中的mapping对应的是配置文件中的forward标签,通过forward的path属性来跳转到相应的路径。Struts预定义的Action类注意:在使用继承StrUtS预定义的ACtion类,一定不要覆盖execute方法,否则会导致无法调用自定义Action相应方法。DispatchAction(org.apache.struts.actions.DispatchAction)DispatchAction类是Action类的子类,他提供了有实现的execute方法。我们写的自定义Action类,能够继承DispatchAction类,但不要覆盖execute方法,能够在自定义类中写反回值与参数表都与execute方法相同的方法,能够通过在struts-congfig.xml中为这个action的配置中添加一个参数,来推断调哪一个方法,实际上DispatchAction类就是通过反射机制,通过form中参数调用了自定义AetiOn中的方法,当然这些方法的定义要符合规范,使用继承DiSPatChACtion类的自定义的Action类,也就会共享同一的Action路径。注意:使用继承DispatchAction类的自定义的Action,只会匹配一个action路径,只能共享一个ACtiOnFOrm,假如加上校验,会产生form表单的参数不一致的情况,会导致校验无法通过。MappingDispatchAction(org.apache.struts.actions.MappingDispatchAction)M叩PingDiSPatChACtiOn类是DispatchAction的子类,他与DispatchAction不一致点就是能够去匹配多个action路径,这样也就是结决了共用ActoinForm的校验问题了,多个AetiOn的路径使用同一的自定义ACtion类,这样就不用共享同一个ActionForm,也就不可能有校验问题了。在JSP页面中也不用在使用隐藏域传递参数,直接在form中的action中就能够直接使用xxx.do匹配了。1.ookupDispatchAction(org.apache.struts.actions.LookupDispatchAction)1.ookupDispatchAction类也是DispatchAction类的子类,他所实现的功能是解决一个表单多种提交问题的,他是通过使用资源文件,用SUbmit按钮的Vahle来作为资源文件中的key所对应的值,通过这个值来找到对用的key,在使用这个key来获得指定M叩中所对应的值,这个值就是要调用的方法名。submit的value>MessageResource.properties中的key>Map中key对相应的值>action注意:在继承LOOkUPDiSPatChACtion时,要覆盖getKeyMethodMap()方法,并定义Map,向Map中施入指定的键值对。自定义的Action类的一些规则1,尽量不要在AetiOn类中使用(静态)成员变量,假如使用要加上同步。2,尽量使各模块间的耦合性降低,最大限度的针对接口编程。3,能够将共代码方在覆盖父类的方法中,最后能够用SUPer.xxx(xxx)来调用父类的方法,使用父类的实现,并加上了自定义的功能。3.4.3 Struts的Token(令牌)机制StrUtS使用TOken机制,来防止恶意的破坏与重复提交问题,也就是点击后退后在再提交,这是StrUtS无法发现的,在form中生成一个token码,在SeSSion中也报村有一个同样的token码,当表单提交后,推断两个token码向等后,就会改变session中的这个token码,当然在用回退后,form的token码是不可能变的,在提交,还会推断两个token码是否相等,假如不等就会抛出特殊,证明这是过时的垃圾数据。Struts的特殊处理Struts只处理action的特殊,配置struts的特殊处理全局的特殊处理<global-exceptions><exceptionkey=errorpath=',xxxxxx,'type="xxx.xxx.Xxxx><global-exceptions><actionpath=,xxxxxxntype="xxx.xxx.Xxxx',><except