




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要1ABSTRACT2第一章引言3第二章开发环境以及开发语言的简介521ECLIPSE集成开发环境IDE简介522WEB服务器和数据库的简介523JAVA语言的特点6第三章轮胎信息管理系统总体设计831需求概述832功能划分8第四章数据库中表的设计以及数据的维护1041数据库的设计1042数据库的维护13第五章程序设计与编码1551程序设计概述1552MVC模型和STRUTS的介绍1553数据库与WEB服务器的连接1754轮胎管理信息19541初始化19542查询20543清空2255轮胎详细信息22551新增22552修改29553删除3256XML文件的配置34第六章程序中的重点、难点总结3561系统机能模块的设置3562AJAX功能的使用36结束语37致谢38参考文献39摘要集装箱运输是指以集装箱这种大型容器为载体,将货物集合组装成集装单元,以便在现代流通领域内运用大型装卸机械和大型载运车辆进行装卸、搬运作业和完成运输任务,从而更好地实现货物“门到门”运输的一种新型、高效率和高效益的运输方式。随着它的广泛使用,给人们带来了便利,并逐渐改变了人们的运输方式。为了能更高效、快捷地管理集装箱运输的数据信息,本文设计并实现了一套基于ECLIPSE下的STRUTS开发环境及使用ECLIPSE工具来开发的集装箱运输管理系统。集装箱运输管理系统基于交互网,不受使用地点限制。即可作为单机版使用,又可联网使用。支持集团化公司具有多分公司的组织架构设置与管理要求。该系统实现了智能化管理,方便用户获得代理货物托运,可以直接网上申请托运委托,或者电话委托托运,真正实现足不出户,就能完成自己想要托运的物品按时托运到你指定的地点。根据集装箱卡车运输业务等特点,进行公司定义和管理等。提供方便的价格体系的定义公式;所有历史报价的查询。按客户要求,自定义费用名称。集装箱运输管理系统的车辆管理之轮胎管理主要实现了以下几个功能查询、新增、修改、删除等。读者只需要通过浏览器访问本系统,就可以轻松实现轮胎管理信息查询、新增等操作。同样,系统管理员也可以使用本系统方便快捷地完成轮胎信息数据管理工作。关键词集装箱运输,STRUTS开发环境,轮胎管理,ECLIPSEIDE开发工具。ABSTRACTWITHTHEPROGRESSOFSCIENCEANDTECHNOLOGY,THERAPIDDEVELOPMENTOFTHECOMPUTERINDUSTRY,IMPROVEPEOPLESWORKINGEFFICIENCYGREATLYTHEINTRODUCTIONOFCOMPUTERIZEDINFORMATIONSYSTEMSHASSHARPLYCHANGEDMANAGEMENTCONTROLINMANYCOMPANIESEVENANEIGHBORHOODSHOPKEEPERMAYNOWUSECOMPUTERSTOCONTROLSALES,BILLING,ANDOTHERACTIVITIESINLARGECOMPANIES,ELECTRONICDATAPROCESSINGSYSTEMSMONITORENTIREPROJECTSANDSETSOFOPERATIONSTHEMANAGEMENTOFBOOKSISTHEIMPORTANTPARTOFTHEADMINISTRATIONOFSCHOOLORGANIZATIONINVESTIGATIONSTHROUGHTHEMECHANISMOFMANAGEMENTTHEBOOKSSYSTEMTHISSYSTEMCONTAINSFIVEMODULES,NAMELYSYSTEMSET,READERINFORMATIONMANAGEMENT,BOOKINFORMATIONMANAGEMENT,BOOKSBORROWINGANDRETURNING,SYSTEMINFORMATIONQUERYANDPASSWORDSETTHISSYSTEMUSEJAVASERVERPAGESTECHNOLOGYCARRYONFRONTDEVELOP,THESOFTWAREDESIGNMODEOFMVCWITHOPENSOURCEFRAMEWORKTECHNOLOGYNAMELYSTRUTS,WHICHADOPTSNEWTECHNOLOGIESMOSTWHOSOFTWAREDESIGNNOWADAYSANDHASTOBEHIGHTODEVELOPEFFICIENCY,DESIGNFLEXIBLE,BEAUTIFULFRIENDSHIPINTERFACESOFTWARETHATPRODUCE,THISSYSTEMUSEJDBCDRIVERTOCONNECTTHEMYSQLDATABASESERVER,WHICHISALSOANOPENSOURCEDATABASESYSTEMINTHEWORLDITHASHIGHINTEGRITYSECURITY,ANDCONSISTENCYKEYWORDSBOOKSMANAGEMENT,READERINFORMATIONMANAGEMENT,JSP,STRUTS第一章引言(一)课题背景我国轮胎市场的变化,从目前情况看,国际,国内两大市场变化都很大,不仅有需求的变化,而且还有规格品种的变化,编号不不同。载重轮胎,2008年,客车累计生产2517万辆,同比增长401,货车累计生产163万辆,同比增长706,半挂牵引车累计生产195万辆,同比增长97,这些车辆产量增长不大,使配套轮胎相应增长也不大。2008年载货车保有量11254万辆,同比增长754,客车保有量385026万辆,同比增长2097,同此社会维修轮胎的需求量明显增加。轻载轮胎,2008年多功能乘用车累计生产1917万辆,同比下降1468,但运动型多用途成乘用车累计448万辆,同比增长244,交叉型乘用车累计生产106万辆,同比增长622,因此,轻载子午胎的配套量和维修量有较大幅度增长。而轿车轮胎,工程工业轮胎,农用轮胎等等,需求量成质的加大。(二)课题研究意义集装箱车辆管理是一种新型、高效率和高效益的管理方式,而我们研究的车辆管理含有事故管理,维修管理,保险管理,轮胎管理,油料管理,车辆费用管理等等一系列的管理方面,将车辆管理中的问题全都罗列出来。刚开始我会觉得车辆管理我所研究的是轮胎管理总觉得有点别扭,与车辆管理的关系好像并不是很大,甚至可以讲其罗列到其他管理系统当中,可是之所以罗列出来,相对而言他所承担的责任或者是存在的价值一定是巨大的,不可替代的,就像油料管理,很热门,因为他所存在的意义地球人都知道,但是轮胎却没有那么多的人注意,它的使用日期,报废日期,编号,品牌,规格,花纹,价格无疑不影响着车辆管理,翻新时间,费用这样计算着会发现同样是笔庞大的费用,这样也更加便于车辆管理,驾驶员编号,车辆编号意味着车在每个人手中所能得到最大化最合理化的使用,对于后期管理人员等方面都能够得到一定的参考价值,如何将价值最大化,相信这也是集装箱想给别人所带来的方便之处。在国内我们的优势并不是很明显,所以基于此现状,集装箱车队运输管理系统的研发和完善显得更为重要,该系统能实现智能化管理,真正实现足不出户。集装箱运输管理系统之船公司实现了船公司信息查询、新增、修改、删除等功能。读者只需要通过浏览器访问本系统,就可以轻松实现船公司信息查询、新增等操作。同样,系统管理员也可以使用本系统方便快捷地完成车辆管理中轮胎管理的信息数据管理工作。第二章开发环境以及开发语言的简介21ECLIPSE集成开发环境IDE简介ECLIPSE是一个开放源代码的、基于JAVA的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,ECLIPSE附带了一个标准的插件集,包括JAVA开发工具(JAVADEVELOPMENTTOOLS,JDT)。虽然大多数用户很乐于将ECLIPSE当作JAVAIDE来使用,但ECLIPSE的目标不仅限于此。ECLIPSE还包括插件开发环境(PLUGINDEVELOPMENTENVIRONMENT,PDE),这个组件主要针对希望扩展ECLIPSE的软件开发人员,因为它允许他们构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。22WEB服务器和数据库的简介在系统的开发过程中使用的WEB应用服务器是TOMCAT,是APACHE软件基金会(APACHESOFTWAREFOUNDATION)的JAKARTA项目中的一个核心项目,由APACHE、SUN和其他一些公司及个人共同开发而成。由于有了SUN的参与和支持,最新的SERVLET和JSP规范总是能在TOMCAT中得到体现。TOMCAT是一个小型的轻量级应用服务器,它运行时占用的系统资源小、扩展性好、支持负载平衡和邮件服务等开发应用系统常用的功能,因此在中小型系统和并发访问用户不是很多的时候,经常被使用。开发者为瑞典MYSQLAB公司。在2008年1月16号被SUN公司收购。目前MYSQL被广泛地应用在INTERNET上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MYSQL作为网站数据库。MYSQL的特性如下1使用C和C编写,并使用了多种编译器进行测试,保证源代码的可移植性。2支持AIX、FREEBSD、HPUX、LINUX、MACOS、NOVELLNETWARE、OPENBSD、OS/2WRAP、SOLARIS、WINDOWS等多种操作系统。3为多种编程语言提供了API,这些编程语言包括C、C、EIFFEL、JAVA、PERL、PHP、PYTHON、RUBY和TCL等。4支持多线程,充分利用CPU资源。5优化的SQL查询算法,有效地提高查询速度。6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB2312、BIG5,日文的SHIFT_JIS等都可以用作数据表名和数据列名。7提供TCP/IP、ODBC和JDBC等多种数据库连接途径。8提供用于管理、检查、优化数据库操作的管理工具。9可以处理拥有上千万条记录的大型数据库。23JAVA语言的特点1平台无关性JAVA引进虚拟机原理,并运行于虚拟机,实现不同平台之间的JAVA接口。JAVA的数据类型与机器无关。2安全性JAVA的编程类似C,但舍弃了C的指针对存储器地址的直接操作,程序运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供了安全管理器,防止程序的非法访问。3面向对象JAVA吸收了C面向对象的概念,将数据封装于类中,实现了程序的简洁性和便于维护性,使程序代码可以只需一次编译就可反复利用。4分布式JAVA建立在TCP/IP网络平台上,提供了用HTTP和FTP协议传送和接收信息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。5健壮性JAVA致力与检查程序在编译和运行时的错误,并自动回收内存,减少了内存出错的可能性。JAVA取消了C语言的结构、指针、DEFINE语句、多重继承、GOTO语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用的空间。第三章轮胎信息管理系统总体设计31需求概述311总体功能需求1要求能够对轮胎信息进行管理,如新增,修改,删除和查询轮胎信息以及导入图书资源信息。2要求能够对轮胎信息进行管理,经变更的轮胎信息进行修改,还可以查询轮胎的详细信息。3新增轮胎信息时,轮胎编号是根据系统自动获得的,然后再对轮胎信息进行新增。4新增或者修改轮胎信息时可以对轮胎使用车辆信息进行新增,修改,删除操作。32功能划分功能结构图如图31所示图31功能结构图第四章数据库中表的设计以及数据的维护41数据库的设计轮胎信息管理系统数据库中各个表的设计结果如下面的几个表所示。每个表表示在数据库中的一个表。表41轮胎信息表表42轮胎使用临时管理表表43轮胎使用信息表表44MASTERTABLE表42数据库的维护由于应用环境不断变化,数据库运行过和中物理存储也会不断变化,对数据库设计进行调整,修改等维护工作是设计工作的继续和提高。对数据库经常性的维护工作主要包括1数据库的转储和恢复针对不同的应用要求制定不同的转储计划,保证一旦发生故障能尽快将数据库恢复到某种一致的状态,尽可能减少对数据库的破坏。2数据库的安全性、完整性控制在数据库运行过程中由于应用环境的变化,对安全性的要求也会发生变化,如原来机密的数据现在可以公开查询了,新加入的数据又可能是机密的了。系统中用户的密级改变。这都需要根据实际情况修改原有的安全性控制,可以设置数据库密码及用户权限。同样,数据库的完整性的约束条件也会变化,需要DBA不断修正。3数据库性能的监督、分析和改造利用MYSQLGUIMANAGEA工具检测系统性能参数的工具,在数据库运行过程中,监督数据进行分析,找出改进系统性能的方法,并做适当调整。4数据库的重组及重构造数据库运行一段时间后,由于记录不断增、删、改,增添、修改的数据不能为空,否则不能保存到数据库中。使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降,这时DBA要对数据库进行重组织,或部分重组织(只对频繁增、删的表进行重组织),可以利用MYSQL专门提供的数据重组织实用程序操作,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。有些情况,如由于数据库应用环境发生变化,增加了新的应用或新的实体,取消了某些应用,有的实体与实体间的联系发生变化,则需要调整数据库的模式及内模式。第五章程序设计与编码51程序设计概述在设计的WEB层运用了著名的MVC模式,V有JSP来实现,为了业务逻辑和表示的分离它是基于WEB应用系统,它的客户端使用BROWSER,然后是WEB层的应用,业务逻辑层有EJB实现,资源管理层。客户请求浏览页面,一般WEB层的VIEW有JSP组成,并且使用了大量TAGLIB。把每个请求映射到某个HTMLACTION类来响应它。HTMLACTION类是一个标准的类,执行选择的HTMLACTION。使用MVC模式减少了代码的复制,即减少了代码的维护,由于模型返回的格式不带任何显示格式,因而模型可以直接应用于接口的使用,还因为MVC模型把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说包含了用户请求权限的概念。在设计中还应用了STRUTS框架,STRUTS跟TOMCAT、TURBINE等诸多APACHE项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。除此之外,STRUTS的优点主要集中体现在TAGLIB和页面导航。TAGLIB是STRUTS的标记库,灵活动用,能大大提高开发效率。页面导航使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着很大的好处。52MVC模型和STRUTS的介绍1MVC模型MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件模型(MODEL)、视图(VIEW)、控制器(CONTROL)。它们各自处理自己的任务。视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能够接收用户的输入数据,但是它并不进行任何实际的业务处理。模型模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。一个模型能为多个视图提供数据,提高了应用的可重用性。控制器控制器本身不输出任何东西和做任何处理,它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。2STRUTS的概念STRUTS是最早的MVC开源框架,它是APACHE组织基于MVC模式开发的开源的单点控制的WEB应用框架FRAMEWORK。在MVC模型中,将STRUTS大致分割成ASTRUTS标签库处于视图层,用来辅助JSP展现页面。BACTION对象视图层和控制层之间的接口。CACTIONSERVLET控制器组件在控制层中控制页面流转,并调用模型层,继续继承自HTTPSERVLET。DACTION对象在控制层和模型层进行交互式,该对象被ACTIONSERVLET组件调用。可以在ACTION中调用业务逻辑,并将页面回复给ACTIONSERVLET组件,它是控制层和模型层之间的桥梁。注意STRUTS是靠XML的配置来完成各层之间的流转。3、STRUTS工作流层我们主要处理的是模型层,实现业务逻辑,它们主要由ACTION,CHECK,CONSTANT,LOGIC,SQL组成。图51STRUTS流程图图53数据库与WEB服务器的连接数据库连接时采用连接池技术链接MYSQL,具体代码实现如下PUBLICCLASSDBCONNECTPRIVATESTATICLOGLOGLOGFACTORYGETLOGDBCONNECTCLASSPRIVATESTATICPOOLINGDATASOURCEPDSNULLPRIVATESTATICGENERICOBJECTPOOLGOPNULLSTATICTRYMYSQLDATASOURCEMDSNEWMYSQLDATASOURCEMDSSETURLSYSCONFIGDB_URL/获取数据库驱动MDSSETURL“JDBCMYSQL/LOCALHOST3306/BY“MDSSETUSER“ROOT“MDSSETPASSWORD“1“CONNECTIONFACTORYCFNEWDATASOURCECONNECTIONFACTORYMDSGOPNEWGENERICOBJECTPOOLGOPSETMAXACTIVESYSCONFIGDB_CON_ACTIVE_NUMGOPSETMINIDLESYSCONFIGDB_CON_MIN_NUMPOOLABLECONNECTIONFACTORYPCFNEWPOOLABLECONNECTIONFACTORYCF,GOP,NULL,NULL,FALSE,FALSEPDSNEWPOOLINGDATASOURCEGOPCATCHEXCEPTIONETHROWNEWRUNTIMEEXCEPTION“DBINITFAILEDFOR“,E/抛出异常信息/功能关闭数据库的连接/PUBLICVOIDCLOSETRYIFRSNULLRSCLOSEIFSTMTNULLSTMTCLOSEIFCONNNULLCONNCLOSECATCHEXCEPTIONEEPRINTSTACKTRACESYSTEMERR54轮胎管理信息541初始化前台JSP页面主要完成的功能是数据的输入输出等操作,其中涉及到参数从前台JSP到后台的传递、参数在JSP页面间的传递,页面的初始化。在JSP页面的标签如下在ACTION中控制页面流转(调用页面的参数P),ACTION继承了父类SUPERACTION,实现代码如下PUBLICACTIONFORWARDINITIALPCL061ACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSERETURNSETLOGICRELATIONCL0006CONSTANTINIT_LOGIC从常量类CONSTANT中调出LOGIC,代码实现如下PUBLICFINALSTATICSTRINGPCL061INITLOGIC“CNCNCSCNCBUSINESSVEHICLEMANAGELOGICCL0006PCL061INITLOGIC“执行业务逻辑,在LOGIC中实现的代码如下/BOOLEANRETURNVALUETRUESTRINGMKNOREQUESTGETPARAMETER“MKNO“IFMKNONULLCL0006CONSTANTMKNOMKNO/定义数据访问类DAODAONEWDAO/检索操做LISTLISTDAOSELECTCL0006SQLGETSELECTTYREINFOSQLCFORM,CONNIFLISTNULLELSE/【修改】【删除】按钮变为非活性REQUESTSETATTRIBUTE“NO_RESULT_FLG“,“DISABLED“STRINGMYSOURCECOMMONUTILCONVERTLISTTOJSLIST,NEWSTRING“TYRE_CODE“,“TYRE_GET_DATE“,“TYRE_END_DATE“,“TYRE_TRADERMARK“,“TYRE_TYPE“,“TYRE_PATTERN“,“TYRE_STATUS_VIEW“,“TYRE_PROCESSOR“,“TYRE_REMARK“,“RECORDER“,“RECORD_TIME“,NULLREQUESTSETATTRIBUTE“MYSOURCE“,MYSOURCE通过LOGIC中SETNEXTPAGE返回结果页面名称并从CONSTANT类中调用,定义代码如下/轮胎管理画面/PUBLICFINALSTATICSTRINGPCL061PAGE“PCL061_PAGE“542查询前台JSP页面主要完成的功能是数据的输入输出等操作,其中涉及到参数从前台JSP到后台的传递、参数在JSP页面间的传递,页面的查询。对于JSP页面的参数传递可以通过如下方法进行参数(设置参数P)传递/查询FUNCTIONSEARCHCLICKDOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMIT首先在JSP页面上用HTML代码显示查询按钮,并定义了ONCLICK这个事件,代码实现如下然后通过SUBMITFORM这个方法,定义了OBJ这个对象去匹配,代码实现如下FUNCTIONSUBMITFORMOBJINITDIVBLOCKVAROBJNAMEOBJNAME/查询按钮IFOBJNAMEQUERYQUERYCLICK在ACTION中调用页面设置的参数P,实现代码如下PUBLICACTIONFORWARDPCL061SEARCHACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSERETURNSETLOGICRELATIONCL0006CONSTANTPCL061SEARCHLOGIC从常量类CONSTANT中调用的LOGIC,代码实现如下/业务是否成功BOOLEANRETURNVALUETRUE/业务模块控制COMMONUTILBUSINESSCBNEWCOMMONUTILBUSINESSIFTHISGETTYREINFOCFORM,CONN,REQUESTTHISSETNEXTPAGECL0006CONSTANTPCL061PAGEELSETHISSETNEXTPAGECL0006CONSTANTERROR/LOG结束LOGINFO“CL0006PCL061SEARCHLOGICEXECUTEEND“RETURNRETURNVALUE/取得车辆轮胎信息/PRIVATEBOOLEANGETTYREINFOACTIONFORMFORM,CONNECTIONCONN,HTTPSERVLETREQUESTREQUESTTHROWSEXCEPTION/取得当前检索条件COMMONFORMCFORMCOMMONFORMFORM/定义数据访问类DAODAONEWDAO/检索操做LISTLISTDAOSELECTCL0006SQLGETSELECTTYREINFOSQLCFORM,CONNIFLISTNULLELSE/【修改】【删除】按钮变为非活性REQUESTSETATTRIBUTE“NO_RESULT_FLG“,“DISABLED“STRINGMYSOURCECOMMONUTILCONVERTLISTTOJSLIST,NEWSTRING“TYRE_CODE“,“TYRE_GET_DATE“,“TYRE_END_DATE“,“TYRE_TRADERMARK“,“TYRE_TYPE“,“TYRE_PATTERN“,“TYRE_STATUS_VIEW“,“TYRE_PROCESSOR“,“TYRE_REMARK“,“RECORDER“,“RECORD_TIME“,NULLREQUESTSETATTRIBUTE“MYSOURCE“,MYSOURCE/REQUESTSETATTRIBUTE“VEHICLESTATUSLIST“,COMMONMASTERGETMASTERDATA“VEHICLESTATE“,CONN/REQUESTSETATTRIBUTE“OPERATIONTYPELIST“,COMMONMASTERGETMASTERDATA“OPERATIONTYPE“,CONN通过LOGIC中SETNEXTPAGE返回结果页面名称并从CONSTANT类中调用,定义代码如下/轮胎详细画面/PUBLICFINALSTATICSTRINGPCL062PAGE“PCL062_PAGE“543清空在JSP页面,运用HTML代码编写,显示清空按钮,并定义了ONCLICK这个事件,实现代码如下然后通过CLEARCLICK这个方法,实现清空这个操作,实现代码如下/清空FUNCTIONCLEARCLICKDOCUMENTFORMS0VALUESEL_TYRECODEVALUE“DOCUMENTFORMS0VALUESEL_TYRE_TRADERMARKVALUE“DOCUMENTFORMS0VALUESEL_TYRE_TYPEVALUE“55轮胎详细信息551新增新增按钮代码实现如下/新增FUNCTIONADDCLICKVARURLPOPWINDOW450,700,URLPOPWINDOW方法是在当前页面弹出一个窗口,可以设置弹出窗口的高和宽,具体代码如下/弹出画面FUNCTIONPOPWINDOWW_HEIGHT,W_WIDTH,URLVARW_FEATURES“WIDTH“W_WIDTH“,HEIGHT“W_HEIGHTW_FEATURESW_FEATURES“,TOP“SCREENAVAILHEIGHTW_HEIGHT/2W_FEATURESW_FEATURES“,LEFT“SCREENAVAILWIDTHW_WIDTH/2W_FEATURESW_FEATURES“,SCROLLBARSYES“URLENCODEURIURLVARPOPUPWINDOWWINDOWOPENURL,“SESSIONSCOPEUSERINFOSESSIONID“GETRANDOM,W_FEATURESPOPUPWINDOWFOCUS/画面刷新的时候关闭子画面WINDOWONUNLOADFUNCTIONPOPUPWINDOWCLOSE判断是否执行新增操作,代码实现如下FUNCTIONFIRSTIF111MODIFYKEYVARRCONFIRM“新增成功,继续新增吗“IFRFALSEDOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMITELSEDOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMITELSEIF121MODIFYKEYALERT“新增失败“ELSEIF131MODIFYKEYALERT“修改成功“DOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMITELSEIF141MODIFYKEYALERT“修改失败“ELSEIF131MODIFYKEYALERT“修改成功“CLOSEWINDOWCLOSEWINDOW关闭窗口时在刷新一览画面,具体方法代码如下/关闭子页面FUNCTIONCLOSEWINDOWWINDOWCLOSETOPOPENERINITDIVBLOCKNONETOPOPENERDOCUMENTFORMS0“QUERY“CLICK/在窗口关闭之前WINDOWONBEFOREUNLOADFUNCTIONIFEVENTCLIENTXDOCUMENTBODYCLIENTWIDTH在新增页面点击保存按钮,判断是否是新增保存,代码实现如下/确定按钮IF121MODIFYKEYALERT“新增失败“ELSEIF131MODIFYKEYALERT“修改成功“DOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMITELSEIF141MODIFYKEYALERT“修改失败“在新增页面点击取消按钮,判断是否是取消功能,代码实现如下/取消按钮IFDOCUMENTPCL062_FORMVALUEISMODIFYVALUE“1“MSG“新增操作不实行了吗“ELSEMSG“修改操作不实行了吗“IFCONFIRMMSGDOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMIT新增保存操作时因为业务逻辑需要在保存时检查输入的数据是否符合CHECK条件的约束,在ACTION中要加入CHECK的检查然后再处理相关的LOGIC。在ACTION中调用,代码如下PUBLICACTIONFORWARDPCL062SAVEACTIONMAPPINGMAPPING,ACTIONFORMFORM,HTTPSERVLETREQUESTREQUEST,HTTPSERVLETRESPONSERESPONSERETURNSETLOGICRELATIONCL0006CONSTANTPCL062SAVE_CHECK,CL0006CONSTANTPCL062SAVELOGIC,TRUE在LOGIC中,保存时CHECK检索,实现代码如下ITEMCHECKITEMCHECKNEWITEMCHECKMESSAGES,REQUEST/第一次翻新时间(年月日)ERRORNUMITEMCHECKCHECKDATENEWMESSAGEFEILDDETAIL“FIRST_RETREAD_TIME“,“第一次翻新时间“,CFORMGETVALUE“FIRST_RETREAD_TIME“,FALSE,10/第二次翻新时间(年月日)ERRORNUMITEMCHECKCHECKDATENEWMESSAGEFEILDDETAIL“SECOND_RETREAD_TIME“,“第二次翻新时间“,CFORMGETVALUE“SECOND_RETREAD_TIME“,FALSE,10/轮胎领用日期(年月日)ERRORNUMITEMCHECKCHECKDATENEWMESSAGEFEILDDETAIL“TYRE_GET_DATE“,“轮胎领用日期“,CFORMGETVALUE“TYRE_GET_DATE“,TRUE,10/轮胎报废日期(年月日)ERRORNUMITEMCHECKCHECKDATENEWMESSAGEFEILDDETAIL“TYRE_END_DATE“,“轮胎报废日期“,CFORMGETVALUE“TYRE_END_DATE“,FALSE,10/轮胎价格ERRORNUMITEMCHECKCHECKFLOATNEWMESSAGEFEILDDETAIL“TYRE_PRICE“,“轮胎价格“,CFORMGETVALUE“TYRE_PRICE“,TRUE,9,2/第一次翻新费用ERRORNUMITEMCHECKCHECKFLOATNEWMESSAGEFEILDDETAIL“FIRST_RETREAD_COST“,“第一次翻新费用“,CFORMGETVALUE“FIRST_RETREAD_COST“,FALSE,9,2/第二次翻新费用ERRORNUMITEMCHECKCHECKFLOATNEWMESSAGEFEILDDETAIL“SECOND_RETREAD_COST“,“第二次翻新费用“,CFORMGETVALUE“SECOND_RETREAD_COST“,FALSE,9,2/轮胎品牌ERRORNUMITEMCHECKCOMMONCHECKNEWMESSAGEFEILDDETAIL“TYRE_TRADERMARK“,“轮胎品牌“,CFORMGETVALUE“TYRE_TRADERMARK“,FALSE,FALSE,15/轮胎规格ERRORNUMITEMCHECKCOMMONCHECKNEWMESSAGEFEILDDETAIL“TYRE_TYPE“,“轮胎规格“,CFORMGETVALUE“TYRE_TYPE“,FALSE,FALSE,15/轮胎花纹ERRORNUMITEMCHECKCOMMONCHECKNEWMESSAGEFEILDDETAIL“TYRE_PATTERN“,“轮胎花纹“,CFORMGETVALUE“TYRE_PATTERN“,FALSE,FALSE,15/备注ERRORNUMITEMCHECKCOMMONCHECKNEWMESSAGEFEILDDETAIL“TYRE_REMARK“,“备注“,CFORMGETVALUE“TYRE_REMARK“,FALSE,FALSE,100IFERRORNUM0/MESSAGE保存(必须执行,否则看不到MESSAGE)ITEMCHECKSAVECHECKRETURNVALUEFALSEIFRETURNVALUE/LOG结束LOGINFO“CL0006PCL062SAVECHECKBUSINESSCHECKEND“RETURNRETURNVALUERETURNRETURNVALUE/比较两个日期的大小PARAMDATE1PARAMDATE2RETURNTHROWSPARSEEXCEPTION/PRIVATEINTCOMPAREDATESTRINGDATE1,STRINGDATE2THROWSPARSEEXCEPTIONIFDATE1NULL|DATE1LENGTH0|DATE2NULL|DATE2LENGTH0RETURN0ELSE/日期格式化SIMPLEDATEFORMATSDTNEWSIMPLEDATEFORMAT“YYYYMMDD“DATEDT1SDTPARSEDATE1DATEDT2SDTPARSEDATE2RETURNDT1COMPARETODT2新增保存时的LOGIC,代码如下/轮胎信息设置详细画面新增保存LOGIC类AUTHORYANGSLCNCSYSCOMCNVERSION/业务是否成功BOOLEANRETURNVALUETRUE/将ACTIONFORM转换成COMMONFORMCOMMONFORMCFORMCOMMONFORMFORM/定义数据访问类DAODAONEWDAO/取得USER_IDSTRINGUSERIDTHISGETUSERINFOGETUSERIDUSERIDNEWSTRINGUSERIDGETBYTES“ISO88591“,“UTF8“CFORMSETVALUE“USER_ID“,USERID/取得SQL文STRINGSTRSQLJC0002SQLINSERTREADERINFOCFORM/插入数据RETURNVALUEDAOINSERTSTRSQL,CONN/设置消息KEYREQUESTSETATTRIBUTE“MODIFYKEY“,“1“/设定下一页THISSETNEXTPAGEJC0002CONSTANTPJC022_INIT页面的下拉列表用LIST取得相应的数据JSP页面代码所属系别取得下拉框的值有两种方法一种是直接从数据库取得然后当到LIST里,还是一种方式就是直接写到共同的常量类里。例如第一种情况实现代码如下/设置车牌号下拉框LISTLIST1DAOSELECTCL0004SQLSELECTVEHICLECODE,CONNREQUESTSETATTRIBUTE“VEHICLELIST“,LIST1第二种情况实现代码如下/取得所属系别LISTDEPT_NAME_LISTCOMMONMASTERGETMASTERDATACOMMONCONSTANTDEPART,CONN/设置所属系别下拉框REQUESTSETATTRIBUTE“DEPT_NAME_LIST“,DEPT_NAME_LIST在新增字段时,要注意,有时不可能所有的字段都填写,所以我们根据数据库中有的字段可以为空,我们可以直接在SQL语句中直接付给它一个NULL值,这样的话,有些字段就不必填写了,有两种写法,代码实现如下第一种写法IF“EQUALSCFORMGETVALUE“REMARK“RETURNVALUEAPPEND“,NULL“ELSERETURNVALUEAPPEND“,“CFORMGETVALUE“REMARK“第二种写法IFCOMMONUTILISEMPTYCFORMGETVALUE“REPAIR_FACTORY_NAME“RETURNVALUEAPPEND“REPAIR_FACTORY_NAME“CFORMGETVALUE“REPAIR_FACTORY_NAME“,“ELSERETURNVALUEAPPEND“REPAIR_FACTORY_NAME“NULL“,“552修改在JSP页面上,用HTML定义修改按钮,并定义了按钮的ONCLICK事件和按钮的活性,代码如下修改按钮的实现有两种方式一是通过鼠标双击,点击选中的记录。二是通过选中一条记录(每次只能修改一条记录),再点击修改按钮来实现。代码如下第一种方法FUNCTIONSUBMITFORMOBJVAROBJNAMEOBJNAMEELSEIFOBJNAMEBTNMODIFYMODIFYCLICK第二种方法FUNCTIONDOUBLECLICKPOPINITDIVBLOCKIFALLARGSNULL|OBJTABLENULLALERT“请选择轮胎信息“INITDIVBLOCKNONERETURNVARORECORDOBJTABLEGETRECORDALLARGSTARGETIFORECORDNULLALERT“请选择轮胎信息“INITDIVBLOCKNONERETURNVARSELTROBJTABLEGETSELECTEDTRELSIFSELTRLENGTH1ALERT“一次只能修改一条轮胎信息“INITDIVBLOCKNONERETURNIFSELTRLENGTH0ALERT“请选择轮胎信息“INITDIVBLOCKNONERETURNVARREADER_IDOBJTABLEGETRECORDSELTR0GETDATA“READER_ID“VARURL“URLENCODEURIURLPOPWINDOW450,700,URL点击修改按钮进入详细画面时,点击保存或者取消时,需要判断是否是修改保存,代码实现如下FUNCTIONSUBMITFORMOBJINITDIVBLOCKVAROBJNAMEOBJNAME/确定按钮IFOBJNAMECONFIRMIFDOCUMENTPJC021_FORMVALUEISMODIFYVALUE“1“DOCUMENTFORMS0ACTIONELSEDOCUMENTFORMS0ACTIONDOCUMENTFORMS0TARGET“_SELF“DOCUMENTFORMS0SUBMIT/取消按钮ELSEIFOBJNAMECANCELVARMSG“IFDOCUMENTPJC021_FORMVALUEISMODIFYVALUE“1“MSG“修改操作不实行了吗“ELSEMSG“新增操作不实行了吗“IFCONFIRMMSGCLOSEWINDOWELSEINITDIVBLOCKNONE修改时初始化的LOGIC,代码如下/取得轮胎的IDSTRINGREADER_IDREQUESTGETPARAMETER“READER_ID“CFORMSETVALUE“READER_ID“,READER_ID/取得SQL文STRINGSTRSQLJC0002SQLGETSELECTREADERINFOREADER_ID/定义数据访问类DAODAONEWDAO/取得轮胎信息LISTRETURNLISTDAOSELECTSTRSQL,CONNIFRETURNLISTNULLMAPNMAPCFORMGETVALUEMAPCOLLECTIONUTILCOPYMAPALLVALUEMAP,NMAP/取得所属系别LISTDEPT_NAME_LISTCOMMONMASTERGETMASTERDATACOMMONCONSTANTDEPART,CONN/设置所属系别下拉框REQUESTSETATTRIBUTE“DEPT_NAME_LIST“,DEPT_NAME_LIST/设置修改的标志CFORMSETVALUE“ISMODIFY“,“1“修改时,需要设置修改标志,代码如下/设置新增,修改标志,“1”为修改CFORMSETVALUE“ISMODIFY“,“1“修改时,是需要根据主键来修改页面数据的(主键不能重复),在JSP页面设置好主键,然后在后台取得前台参数的值,在LOGIC中调用,代码如下VARREADER_IDOBJTABLEGETRECORDSELTR0GETDATA“READER_ID“VARURL“在后台取得实现代码如下/取得读者的IDSTRINGREADER_IDREQUESTGETPARAMETER“READER_ID“553删除删除按钮功能,这里运用了AJAX处理JSP页面,在JSP页面实现代码如下FUNCTIONDELETECLICKIFALLARGSNULL|OBJTABLENULLALERT“请选择轮胎信息“INITDIVBLOCKNONERETURNVARORECORDOBJTABLEGETRECORDALLARGSTARGETIFORECORDNULLALERT“请选择轮胎信息“INITDIVBLOCKNONERETURNVARREADER_ID“VARSELTROBJTABLEGETSELECTEDTRELSIFSELTRLENGTH0ALERT“请选择轮胎信息“INITDIVBLOCKNONERETURNIFCONFIRM确认删除所选轮胎信息吗INITDIVBLOCKNONERETURNFORVARPROPINSELTRVARSELRECORDOBJTABLEGETRECORDSELTRPRO
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 政审考试题库及答案解析
- 矿山电子高级考试题库及答案
- 征信考试题库及答案
- 商业合作市场调研分析报告合同
- 企业合同管理模板及风险提示
- 2025年新疆农作物制种质量保障合同
- 2025年贵州公需科目之乡村振兴试题(含答案)
- 祁阳历史中考试卷及答案
- 技校政治考试题目及答案
- 唐山单招十类考试题及答案
- 2025定制衣柜安装承揽合同范本
- 2025年MicroLED行业研究报告及未来行业发展趋势预测
- 6.1 初步认识分数(课件 )数学青岛五四版三年级上册(新教材)
- GPS的课件教学课件
- 肺栓塞考试题及答案
- 2024法考主观题真题及答案
- 综合实践 探索年月日的秘密(教案)北师大版数学三年级上册
- 2025年医师三基考试试题及答案(上半年)
- 《彩虹》课件 部编版语文二年级上册
- 基孔肯雅热主题班会课件
- 2025年全国企业员工全面质量管理知识竞赛试题及答案
评论
0/150
提交评论