已阅读5页,还剩84页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计(论文)题目:基于J2EE的远程PLC控制 院 (系): 计算机科学与工程 专 业: 计算机科学与技术 班 级: 100602 学 生: 张蒙 学 号: 100602133 指导教师: 徐淑萍 2014年6月本科毕业设计(论文)题目:基于J2EE的远程PLC控制 院 (系): 计算机科学与工程 专 业: 计算机科学与技术 班 级: 100602 学 生: 张蒙 学 号: 100602133 指导教师: 徐淑萍 2014年6月 西安工业大学毕业设计(论文)任务书院(系) 计算机学院 专业 计算机科学与技术 班 100602 姓名 张蒙 学号 100602133 1.毕业设计(论文)题目: 基于J2EE的远程PLC控制 2.题目背景和意义:远程控制技术是为了使人们可以在远离设备的地方及时了解设备的运行状态并对其运行状态进行控制而产生的一种控制技术。在网络基本已经普及的今天,使用远程控制技术可以提高企业的劳动生产率,加强企业的竞争力。为了加快控制网络的发展步伐,使控制网络的发展组建能够充分借鉴信息网络的最新成果,在分别研究控制网络与信息网络的基础上,对比控制网络与信息网络的异同,在基于J2EE架构的信息网络中,研究控制网络与信息网络的接口技术,实现控制网络与信息网络的信息融合,使得普通信息网络的服务器建设方案可以方便的移植到控制服务器的建设方案中来。 3.设计(论文)的主要内容(理工科含技术指标):用户通过与Internet互联的标准浏览器向Web服务器发送请求时, Web服务器接收到请求,启动相应的程序,对用户的请求进行相应处理,并给予响应,返回给用户动态的监控页面,同时对予用户的请求,提取其中的控制指令通过RS232串口通信接口建立与下位机的连接,将来自远程客户端的设置参数传给下位机,并接受来自下位机的实时状态信息,从而实现对现场设备的控制。在基于J2EE的开发架构中,则是通过J2EE的web组件实现与PLC控制器的通讯。可见开发基于J2EE web组件的、能实现客户端与PLC控制器通讯的组件是实现基于web的远程控制的关键,也是实现在信息网络中嵌入控制功能的入口,研究J2EE web组件所提供的功能和可完成的任务,则是实现这一任务的必经阶段。4.设计的基本要求及进度安排(含起始时间、设计地点):(一)第一周至第二周:了解自己课题的背景,在网上和图书馆收集有关课题的资料,准备开题答辩;(二)第三周至第四周:熟悉所用到的软件;(三) 第五周至第十五周:实现整个系统的功能;(四)第十六周至第十八周:论文编写,准备答辩。 5.毕业设计(论文)的工作量要求 需要300机时的实践 实验(时数)*或实习(天数): 图纸(幅面和张数)*: 其他要求: 指导教师签名: 年 月 日 学生签名: 年 月 日 系(教研室)主任审批: 年 月 日基于J2EE的远程PLC控制摘要在网络基本普及的今天,远程控制不再是指局域网中的远程控制,而是基于信息网的远程控制。信息网与控制网相比具有更大的优势,将两者结合起来,借助信息网的优势发展远程控制系统早已受到广泛关注。远程控制技术是为了使人们可以在远离设备的地方及时了解设备的运行状态并对其运行状态进行控制而产生的一种控制技术,为了加快控制网络的发展步伐,使控制网络的发展组建能够充分借鉴信息网络的最新成果,研究控制网络与信息网络的接口技术,实现控制网络与信息网络的信息融合成为了一个研究的热点。本文是基于J2EE技术实现了远程控制PLC,前台采用了JSP、Ajax等技术实现了页面的交互,后台采用SSH搭建了整个系统的主体框架,本文从研究的意义、目的、需求分析、系统设计、模块测试和集成测试等分别展开了全面的介绍。研究的意义和目的分别从目前的世界形势做了分析,以体现了本文的研究价值。需求分析重点阐述了本文的逻辑和功能的分析,给了一个大体的实现思想,系统设计主要采取流程图等方式非常详细的阐述了系统的实现过程和操作流程。最后,对本系统做了相关的测试,以确保此系统功能基本实现并且可以正常的运行。此系统的研究将信息网引入到控制网络中,实现了基于信息网的实时远程控制,为远程控制系统的设计与实现提供了一种新的参考方法。 关键词:J2EE;Ajax;PLC;远程控制;jsp;I II J2EE-based remote PLC controlAbstract In todays network basic universal remote control is no longer refers to the LAN remote control, but based on the remote control information network. Compared with the information network and control network has more advantages, combine the two, with the help of information network advantages in the development of remote control system has been widely concerned. The remote control technology is in order to make people far away from equipment place timely understand the running status of the equipment and a control technology on its running state control and produce, in order to speed up the pace of development of control network, the development of control network to the latest achievements make full use of information network, control network and interface technology research information network, control network and information network has become a research hotsport. This paper is the J2EE technology to achieve the remote control based on PLC, the use JSP, Ajax technology to achieve a page interaction, the background using SSH to build the main framework of the whole system, this paper from the study of the meaning, purpose, requirement analysis, system design, module testing and integrated testing were carried out a comprehensive introduction. Objective and significance of the research are analyzed respectively from the current situation of the world, to reflect the value of this study. Demand analysis focuses on the analysis of logic and the function in this paper, to a general realization thought, system design mainly adopts the flow charts and a very detailed description of the implementation process and operation flow system. Finally, the system to do the relevant test, to ensure that this system basic function and can be normal operation. Research on this system will be introduced to control network and information network, realize the real-time remote control based on information network, for the design of the remote control system and provides a new reference method. Key Words: J2EE; Ajax; PLC; Remote control;jsp; 目录摘要IAbstractII1.绪论11.1课题的研究意义和目的11.1.1研究意义11.1.2研究的目的21.2课题的国内外研究动态、目前的发展水平趋势31.3论文的组织结构52 课题研究的内容、软硬件平台及相关技术62.1 课题研究的内容62.1.1 关于系统的结构62.1.2关于web服务器的环境的搭建62.1.3关于WEB服务器与RS232串口通信的研究72.1.4关于下位机的研究。72.2系统开发环境72.2.1硬件开发环境72.2.2软件开发环境72.2.3 plc仿真软件的介绍82.3 相关技术82.3.1关于J2EE技术的介绍82.3.2 关于Struts2框架的介绍102.3.3关于Struts拦截器的介绍112.3.4关于Hibernate的介绍112.3.5关于Spring的介绍122.3.6 Java串口通信的介绍132.4小结143.基于J2EE远程PLC控制系统设计153.1 需求分析153.2系统总体结构153.2.1系统结构图173.2.2系统流程图183.3 系统的详细设计203.3.1系统程序功能流程图203.4 技术框架的介绍223.4.1 Web层设计:233.4.2持久化层设计243.4.3控制层设计243.5数据库的设计243.6小结254系统的具体实现264.1实现过程264.1.1持久化层的实现264.2控制层与Web层具体的实现284.3串口通信技术的实现294.3.1串口通信程序设计294.3.2仿真软件和程序中的COM是否通信314.4串口通信消息格式334.5系统运行页面364.6小结375系统测试385.1模块测试385.2集成测试385.3测试评价395.4小结396结论406.1关于毕业设计中遇到的问题406.2毕业设计心得体会40参考文献41致 谢42毕业设计(论文)知识产权声明43毕业设计(论文)独创性声明44附录45 1 绪论1.绪论 随着网络的发展,Internet网络对于我们来说大家已经非常熟悉了,它已经在我们的生活和学习中得到了普及,就算是这样,它依旧在不断地发展和进一步的完善中。所以现在远程控制技术不再是想象,本章主要介绍了关于课题的研究意义以及国内外这方面技术研究动态的介绍。1.1课题的研究意义和目的1.1.1研究意义在网络基本已经普及的今天,使用远程控制技术可以提高企业的劳动生产率,加强企业的竞争力。为了加快控制网络的发展步伐,使控制网络的发展组建能够充分借鉴信息网络的最新成果,将控制网与信息网相结合起来可以为控制系统的发展提供更好的方向。当前,基于Web的网络控制技术是控制领域中的一个重要的前沿课题,备受各国重视。对于工业系统的过程控制来说,控制应当不仅仅局限于现场控制,也应该与网络技术相结合,通过它们对实际控制系统进行远程控制,尤其是对有危险以及污染的工作现场设备的控制更具有实际意义。而且,应用这项技术,可以实现虚拟工厂和虚拟制造等。因此,基于Web的远程控制技术将会有非常广阔的应用前景。远程控制技术,始于DOS时代,只不过当时由于技术上没有什么大的变化,网络不发达,市场没有更高的要求,所以远程控制技术没有引起更多人的注意。但是,随着网络的高度发展,电脑的管理及技术支持的需要,远程操作及控制技术越来越引起人们的关注。远程控制一般支持下面的这些网络方式:LAN、WAN、拨号方式、互联网方式。此外,有的远程控制软件还支持通过串口、并口、红外端口来对远程机进行控制(不过,这里说的远程电脑,只能是有限距离范围内的电脑了)。传统的远程控制软件一般使用NETBEUI、NETBIOS、IPX/SPX、TCP/IP等协议来实现远程控制,不过,随着网络技术的发展,目前很多远程控制软件提供通过Web页面以Java技术来控制远程一些设备,这样可以实现不同操作系统下的远程控制。远程控制PLC技术其实就是通过网络来作为传输媒介来控制PLC。关于计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。简单地说,计算机网络就是通过电缆、电话线或无线通讯将两台以上的计算机互连起来的集合。81 西安工业大学毕业设计(论文)计算机网络通俗地讲就是由多台计算机(或其它计算机网络设备)通过传输介质和软件物理(或逻辑)连接在一起组成的。总的来说计算机网络的组成基本上包括:计算机、网络操作系统、传输介质(可以是有形的,也可以是无形的,如无线网络的传输介质就是看不见的电磁波)以及相应的应用软件四部分。按网络所覆盖的地理范围的不同,计算机网络可分为局域网(LAN)、城域网(MAN)、广域网(WAN)。局域网是将较小地理区域内的计算机或数据终端设备连接在一起的通信网络。局域网覆盖的地理范围比较小,一般在几十米到几千米之间。它常用于组建一个办公室、一栋楼、一个楼群、一个校园或一个企业的计算机网络。局域网主要用于实现短距离的资源共享。如图所示的是一个由几台计算机和打印机组成的典型局域网。局域网的特点是分布距离近、传输速率高、数据传输可靠等。城域网是一种大型的LAN,它的覆盖范围介于局域网和广域网之间,一般为几千米至几万米,城域网的覆盖范围在一个城市内,它将位于一个城市之内不同地点的多个计算机局域网连接起来实现资源共享。城域网所使用的通信设备和网络设备的功能要求比局域网高,以便有效地覆盖整个城市的地理范围。一般在一个大型城市中,城域网可以将多个学校、企事业单位、公司和医院的局域网连接起来共享资源。如图所示的是不同建筑物内的局域网组成的城域网。广域网是在一个广阔的地理区域内进行数据、语音、图像信息传输的计算机网络。由于远距离数据传输的带宽有限,因此广域网的数据传输速率比局域网要慢得多。广域网可以覆盖一个城市、一个国家甚至于全球。因特网(Internet)是广域网的一种,但它不是一种具体独立性的网络,它将同类或不同类的物理网络(局域网、广域网与城域网)互联,并通过高层协议实现不同类网络间的通信。1.1.2研究的目的网络技术的发展,引发了控制领域的深刻技术变革。控制系统结构网络化、控制系统体系沿着开放性方向发展将是控制系统技术创新的大潮流,网络化、开放性是控制技术发展的方向与灵魂。远程控制技术是为了使人们可以在远离设备的地方及时了解设备的运行状态并对其运行状态进行控制而产生的一种控制技术。借助信息网络的最新成果,将控制网与信息网相结合起来可以为控制系统的发展提供更好的方向。随着Internet的发展和完善,开发基于J2EE web组件的、能实现客户端与PLC控制器通讯的组件是实现基于web的远程控制现在是我们研究的关键。对于控制技术中使用web服务器的优势是非常的多的,比如:不需要开发客户端软件,很多个用户通过浏览器可以同一时刻访问同一个服务器,浏览器作为通用交互软件,客户端只需使用与Internet相连的浏览器即可,可运行于多个个平台,Windows、Linux等均可,与所使用的操作系统无关。只需要用户在访问的时候通过一些验证,这种访问形式使得用户通过网络可以非常轻松进行远程控制PLC设备,有效地利用网络途径,大大的节省了成本和人力资源。而且,用户只需要通过浏览器就可以进行服务器端软件的升级,更新,下载,轻松方便有效简单管理和使用相应的应用程序软件。应用程序软件具有自检功能,服务器端软件能实时的进行故障检测,错误分析,同时并能通过Internet将信息反馈给远程客户端的管理者,加快了故障排除,缩短故障响应和维修时间。基于Web的远程控制对远程终端要求低,再加上互联网技术的普及,基于Web的远程控制这种方式将会广泛应用到工业设备远程控制,网络化信息家电, 远程监控系统等。基于Web的PLC远程监控为监控人员提供了一个安全和便捷的操作平台,并且可以通过网络远程管理现场设备、远程控制生产过程等。用户通过对远程监控网站的使用,达到对现场设备实时监控的目的,从而满足不断发展的自动化技术与网络技术的要求,并且可以提高化工生产设备的利用率。对于Internet在现实生活中应用很广泛。在互联网上可以聊天、玩游戏、查阅东西等。更为重要的是在互联网上还可以进行广告宣传和购物。Internet给现实生活带来很大的方便。网民在互联网上可以在数字知识库里寻找自己学业上、事业上的所需,从而帮助网民的工作与学习。所以,基于J2EE的web组件实现与PLC控制器的通讯为我们提供了对人类行为的远程实现的研究机会。1.2课题的国内外研究动态、目前的发展水平趋势借助于远程控制可以将企业内部的信息网(Intranet)与控制网有效地连接起来,实现对生产、运营情况的随时掌握,把生产运营状况同企业的经营管理策略紧密结合,从而实现企业的综合自动化,可以建立网络范围内的监控数据和网上知识资源库。通过远程控制可以获得现场控制数据,为远程故障诊断技术提供了物质基础;通过远程控制,方便地利用本地丰富的软硬件资源对远程对象进行高级过程控制,以维护设备的正常运营,从而减少值守工作人员,最终实现远端的无人或少人值守,达到减员增效的目的。目前,越来越多的企业集团呈跨地域的发展趋势,利用网络技术实现远程控制,对企业降低生产成本,提高劳动生产率,提高企业产品的科技含量,以及增强企业的综合竞争实力等方面都具有十分重要的意义。 远程控制是国内外研究的前沿课题,国内外都展开了积极的研究。1997年1月,首届基于Internet的远程控制诊断工作会议由斯坦福大学和麻省理工学院联合主办,有来自30个公司和研究机构的50多位代表到会。会议主要讨论了有关远程控制系统开放式体系、诊断信息规程、传输协议及对用户的合法限制等,并对未来技术发展作了展望。由斯坦福大学和麻省理工学院合作开发基于Internet的下一代远程控制诊断示范系统,这项工作同时也得到了制造业、计算机业和仪器仪表业的Sun、HP、Boeing、Intel、Ford等12家大公司的热情支持和通力配合。之后,由这些公司共同推出了一个实验性的系统Testbed。Testbed用嵌入式Web组网、用实时JAVA和BayesianNet初步形成在Internet范围内的信息监控和诊断推理。另外,MIMOSA(MachineryInformationManagementOpenSystemAlliance)、SMFPT(SocietyforMachineryFailurePreventionTechnology)COMADEM(ConditionMonitionandEngineeringManagement)等,也纷纷通过网络进行设备监控与故障诊断咨询和技术推广工作,并制定了一些信息交换格式和标准。许多大公司也在他们的产品中加入了Internet的功能,如Bently公司的计算机在线设备运行监测系统DataManager2000可以通过网络动态数据交换(NetDDE)的方式向远程终端发送设备运行状态信息;著名的NationalInstruments公司也在它的产品LabWindows/CVI以及LabVIEW中加入了网络通讯处理模块,因而可以通过WWW、FTP、Email方式在网络范围内进行监控数据的传送。法国ALARM研究组对生产过程的智能报警和监控系统进行了长期研究,并在多个项目中进行了应用。国内对于远程控制技术也开展了积极的研究。目前,西安交大、华中科技大学、哈尔滨工业大学、南京理工大学等高校已取得了较为先进的研究成果,如西安交通大学研制的大型旋转机械计算机状态监测系统及故障诊断系统RMMD、华中科技大学开发的汽轮机工况监测和诊断系统KBGMD、哈尔滨工业大学的微计算机化机组状态监视与故障诊断专家系统MMMDES等。计算机领域经历了一场新的革命,它结合了现代控制技术、图形技术,其目标是随时随地为人们提供无缝的、高质量的、易用的、廉价的信息资源,使其能真正进入人们的生活。计算机控制系统的技术水平也从初期的模拟信息传输与控制飞速发展到了数字化、网络化信息传输与控制。目前远程控制技术的主流是应用Internet技术,在TCP/IP协议和WWW规范的支持下,合理组织软件结构,使工作人员通过访问网络服务器来迅速获取自己权限下的所有信息并及时做出响应。将来,远程控制系统的发展会越来越迅速,越来越成熟,这项新技术迟早必将用于远程控制系统上,是控制系统未来发展方向之一。远程控制系统可以使信息实现本地化处理,改善服务器性能,可以使每一个设备具备上网与服务功能,即每一个设备都可以独立进行服务,从而大大提高监控的质量和范围。网络通信技术在测控系统中的应用还渗透到了传感器领域,将网络接口芯片与智能传感器集成起来,并把通信协议固化到智能传感器的ROM中,导致了网络传感器的产生。网络传感器继承了智能传感器的全部功能,并且能够和计算机网络进行通信,因而在现场总线控制系统中得到了广泛的应用,成为现场级数字化传感器。国外有不少仪器公司己研制出了各种各样的网络化传感器。国内在网络传感器方面的研究尚处于原理研究阶段,还没有成型的网络化传感器出现。远程控制技术的发展始终与最新技术的发展息息相关,使用者不断对远程控制的简便性及实时性提出了更高的要求。因此必须要更好地、更及时地应用最新技术,这样才能使得远程控制不断地发展,不断的满足人们的需求。1.3论文的组织结构本论文的组织结构如下:论文的第一部分简单介绍了论文的课题研究的目的和意义、国内外研究和应用现状、论文研究的主要内容;第二部分介绍了关于本次课题研究的内容,软硬件平台的情况以及系统用到的相关的技术;第三部分主要介绍了关于系统的设计,阐述了系统页面的详细实现,以及所用到的技术框架和模型的简单叙述,最后是关于数据库的设计,第四部分是对于整个系统进行了分析,阐述了整个系统的实现思路,提出了整个系统体系结构;第五部分实现了整个系统的功能,对整个系统软件实现进行了详细的阐述,并且对系统进行了测试。第六部分是全文的结尾,总结了本文工作,并对以后的研究工作进行了展望。 2 课题研究的内容、软硬件平台及相关技术 2 课题研究的内容、软硬件平台及相关技术2.1 课题研究的内容2.1.1 关于系统的结构 本论文采用B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。不需要开发客户端软件,标准浏览器即可作为通用交互软件,客户端只需使用与Internet相连的标准浏览器即可,可运行于多个个平台,Windows、Linux等均可,与所使用的操作系统无关。只需通过浏览器即可进行服务器端软件的升级,更新,下载,轻松简单的管理和使用相应的应用软件。多个用户浏览器可以同时访问同一个服务器设备,只需在访问时进行安全认证,这种访问形式使得用户通过网络轻松进行远程控制,大大节省了成本和人力。软件具有自检功能,服务器端软件能实时的进行故障检测,错误分析,同时并能通过Internet将信息反馈给远程客户端的管理者,加快了故障排除,缩短故障响应和维修时间。服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。此次论文是基于J2EE平台使用Struts2+Spring+Hibernate三大框架技术来构建服务器端系统。J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化、规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组建、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以胡同的窘境,J2EE组件和“标准的”Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。2.1.2关于web服务器的环境的搭建 Web服务器是可以向发出请求的浏览器提供文档的程序。服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。最常用的Web服务器是Apache和Microsoft的Internet信息服务器(Internet Information Services,IIS)。Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。Web服务器是指驻留 西安工业大学毕业设计(论文) 于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该 浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试程序的首选。因此本系统的web服务器选择apache-tomcat-6.0.26。 2.1.3关于WEB服务器与RS232串口通信的研究 串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。本系统主要研究的是JAVA串口通信技术,Java提供了 CommunicationAPI(包含于包中)用于通过与机器无关的方式,控制各种外部设备。2.1.4关于下位机的研究。 由于笔记本电脑没有与PLC试验箱通信的COM口,本系统采取通过PLC仿真环境来模拟PLC运行状态,然后通过虚拟串口工具在电脑上面虚拟出来的串口来实现和仿真环境的通信。2.2系统开发环境2.2.1硬件开发环境设备类型:宏碁笔记本处理器:Inter(R)Celeron(R) CPU 887 1.50GHZ 1.50GHZ内存:2G2.2.2软件开发环境操作系统:window7旗舰版操作系统 开发环境:MyEclipse 8.0web服务器:Apache Tomcat 6.0数 据 库:Mysql浏 览 器:FireFox2.2.3 plc仿真软件的介绍CXONE集成了OMRON的PLC和Components的支持软件,提供了一个基于CPS(Component and Network Profile Sheet)集成开发环境;可以在IO表内设定CPU Bus单元和特殊单元,不需要手动设定和区分地址CXOne软件的CPU Bus单元和特殊单元设定;可以在线和实际PLC的CPU Bus单元和特殊单元设定进行比较,将不符和的标出;可以以图形方式显示网络结构。我们通过CX-ONE软件中的CX-Simulator可以实现对PLC运行状态的模拟和监控。2.3 相关技术2.3.1关于J2EE技术的介绍J2EE是一个开放的、基于标准的开发和部署的平台,用于构建N层的、基于Web的、以服务端计算为核心的、模块化的企业应用。J2EE同时也是所有兼容 J2EE标准的应用服务器产品的统一标识。Sun公司领导着J2EE规范和标准的制定,但同时很多公司如IBM、BEA也为该标准的制定贡献了很多力量,所以J2EE每一个新规范的推出,都体现着整个业界对技术的共同认同。大家都遵守着“在标准上进行合作,在产品上进行竞争”的原则,从而使J2EE在技术规范上日臻完善和进步,同时又有各厂家实现J2EE规范的应用服务器产品在市场上推出,在性能上、价格上互相竞争,为最终用户提供多样化的选择。 图2.1中可以看出,J2EE技术是在J2SE的基础之上,提供了企业计算所必须的服务如事务、安全性、消息服务等。J2SE平台提供Java运行时环境的标准功能,如对跨平台开发的支持和内存管理等。J2EE应用的组件如企业JavaBean(EJB)、JSP和Servlet运行于J2EE容器之中,通过连接器访问企业信息系统,如数据库系统、ERP系统和其他应用程序系统。J2EE应用可以集成一系列的客户端,包括独立运行的台式客户端、无线客户端,以及基于Web浏览器的客户端等。J2EE平台为开发企业应用提供了高性能、高可靠性和可伸缩性的运行支撑环境。 J2EE提供了一个多层的端到端的应用系统架构,如图2.2所示。在客户端层,多种客户端可通过多种不同的协议来访问中间层的J2EE服务,在设计J2EE 应用的时候,首先需要选择的就是J2EE客户端的类型,应根据用户的使用模式及应用环境的特点来选择适合的客户端类型和通信协议,如Java Applet客户端和Java Web Start客户端适合于复杂的图形用户界面,如大量的数据录入、数据统计等应用,能满足高效的用户交互需求,根据具体应用环境的不同,可选择 HTTP(S)、RMI/IIOP或JNLP等通信协议。 图2.1 J2EE平台体系架构 在中间层,主要包括Web服务器和应用服务器。在实际部署时,它们可以运行于单一的或多个物理平台上。从可靠性和可伸缩性考虑,应该采用多个Web服务 器和应用服务器。Web服务器接受从客户端发来的请求,通过JSP和Servlet技术动态生成响应的内容,JSP或Servlet可以接着调用运行于应 用服务器EJB容器中的企业 JavaBean进行相应的业务处理和运算。而中间层通过标准的协议访问企业信息系统层来读取数据和调用服务。 图2.2 端到端的多层应用系统架构 J2EE 即Java2平台企业版,它提供了基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现: 1、客户层,运行在客户计算机上的组件。 2、Web 层,运行在J2EE服务器上的组件。 3、业务层,同样是运行在J2EE服务器上的组件。 4、企业信息系统层(EIS),是指运行在EIS服务器上的软件系统。以上层次一般也指三层应用,因分布在三个不同位置:客户计算机、J2EE服务器及后台的数据库或过去遗留下来的系统。总之,J2EE为我们提供了一个建立在开放和标准的技术之上、非常灵活的端到端的多层体系架构,从而满足各种不同企业应用的需求。本系统整体是基于B/S模式,采用J2EE中的SSH技术实现了整个系统的架构,Struts是基于webWork技术开发的全新web框架,它作为整个系统的控制器(控制器负责交互和将用户输入的数据导入模型,在javaWeb应用中,当用户提交HTML表单时,控制器接收请求并且调用相应的模型组件去处理请求,之后调用相应的视图来显示模型返回的数据),主要通过一个过滤器将Struts集成到web应用中,通过它Struts可拦截web应用中的HTTP请求,并且将这个HTTP请求转发到指定的Action处理,Action根据处理的结果返回给客户端相应的页面。Hibernate是对ORM进行了实现,是一个开放源代码的对象关系映射框架,它从业务逻辑层中分离出了持久化层,用来专门负责数据的持久化操作,使得业务逻辑层可以真正的专注于业务逻辑的开发,不需要再编写复杂的Sql语句。Spring实现了反转控制和面向方面编程。Spring框架的能实现应用的分层架构,在应用中要使用的对象可以被一个简单的XML文件连在一起,这个XML文件含有到像事务管理器、对象工厂、包含业务逻辑的服务对象、和数据存取对象这些对象的引用。2.3.2 关于Struts2框架的介绍Struts2的体系与Struts1体系的差别非常大,因为Struts2使用了WebWork的设计核心,而不是使用Struts1的设计核心。Struts2大量使用拦截器来处理用户请求,从而允许用户的业务逻辑控制器与ServletAPI分离。 图2.3 Struts2的体系结构图Struts2框架的处理流程如下:1.浏览器发送请求,例如请求/mypage.action、/reports/myreport.pdf等。2核心控制器FilterDispatcher根据请求决定调用合适的Action。3.WebWork的拦截器链自动对请求应用通用功能,例如workflow、validation或文件上传等功能。4.回调Action的execute方法,该execute方法先获取用户请求参数,然后执行某种。数据库操作,既可以是将数据保存到数据库,也可以从数据库中检索信息。实际上,因为Action只是一个控制器,它会调用业务逻辑组件来处理用户的请求。5.Action的execute方法处理结果信息将被输出到浏览器中,可以是HTML页面、图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。2.3.3关于Struts拦截器的介绍拦截器是Struts2框架中的一个重要的核心对象,它可以动态的增强Action对象的功能,在Struts中很多的功能通过拦截器实现的,通过它可以再Action执行前后处理前后处理一些相应的操作。通过这种方式,就可以把多个Action中需要重复指定的代码取出来,放在拦截器中定义,从而提供更好的代码复用。2.3.4关于Hibernate的介绍Hibernate是一种Java语言下的对象关系映射解决方案。它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。Session接口:Session接口负责执行被持久化对象的CRUD操作 (CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式,需要 注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2.3.5关于Spring的介绍Spring的核心是轻量级(Lightweight)的容器(Container),它实现了IoC容器、非侵入性(Nointrusive)的框架,并提供AOP概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVCWeb框架的实现,并对一些常用的企业服务API(ApplicationInterface)提供一致的模型封装,是一个全方位的应用程序框架(Applicationframework),另外,Spring也提供了对现有框架(Struts、JSF、Hibernate等)的整合方案。Spring结构图如图2.4: 图2.4Spring结构图Spring旨在分离体系结构的层次,因此每一层都可以修改而不会影响到其它层。每一层都不知道其上层的关注点;就其可能而言,只对所紧挨的下一层有依赖。层与层之间的依赖通常是以接口的形式表现,以确保其耦合尽可能松散。容器管理事务,容器,贯穿始终:1、对象生命周期的管理。2、容器本身具备功能,加在自己的类中。需要自己调用则为显示调用。而尽量用容器隐式调用,Spring即为隐式。Spring轻量级容器体现在:只需设置一个Jar文件到CLASSPATH,不用去调用它,但又可以拥有其强大的功能,组件的极大程度的复用。让层与层中耦合度低Loosely-Coupled 工厂类创建DAO对象。声明式编程:在xml文件中声明。基于POJO类,支持事务,事务是根本;而EJB事务由Container管理。Spring将View层与持久层,比如与Hibernate联系起来。Spring简化Hibernate的使用,还可以帮助管理Hibernate。Spring本身没有O-R_mapping,因为有Hibernate,它已经做得很好了。Spring将编译时异常(checked)转化为运行时异常(runtime)。比如,JDBC则为编译时异常,即必须写trycatch;而Hibernate程序为运行时异常。在spring-framework-2.0.5dist目录下有jar文件、dtd文件、tld文件。总之,Spring是一个轻型容器(light-weightcontainer),其核心是Bean工厂(Bea
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论