APP下载

基于J2EE开发技术研究

2014-04-29陈杰

电脑迷 2014年21期
关键词:组件架构

陈杰

摘 要 随着进入信息社会,计算机已经成为人们生活中必不可少的工具,基于B/S模式的应用软件的使用也越来越流行。而J2EE就是众多架构中最流行的一种开发架构,其目的就是为了能够使企业开发者大幅缩短开发周期以及方便维护管理的一种体系结构。SUN的J2EE是一种运用java2平台简化企业解决方案的开发、部署,维护和管理相关的复杂问题的架构。

关键词 J2EE 架构 组件

中图分类号:TP3 文献标识码:A

J2EE是java2平台的企业版,是一个基于组件-容器模型的系统平台,其核心概念是容器。容器底层是J2EE服务器,它为容器提供J2EE中定义的各种服务和API。一个J2EE服务器可以支持一种或多种容器。服务是组件和容器之间,以及容器和J2EE服务器之间的接口,在实现层面上它就是一系列API和协议,J2EE平台定义了一组标准的服务。J2EE的技术核心是EJB的模型、角色及与其他技术的关系。同时,Java语言的跨平台特性,使得其在企业的Web应用上得到广泛的部署。J2EE平台已经成为使用最广泛的WEB架构,其最终目的是成为使企业开发者能够大幅缩短投放市场时间的架构。

本文的研究是基于作者通过在项目开发中,对所运用到的Servlet技术的学习以及自己总结所得的。

servlet容器是一个Web Server或application server的一部分,它提供网络服务(请求和响应基于网络服务来发送),解码基于MIME的请求,格式化基于MIME的响应。一个servlet容器也通过servlet的生命周期来包含并管理servlet。

所有的servlet容器必须支持 HTTP 作为请求/响应协议,但是也可以支持其它的基于请求/响应的协议,比如HTTPS。

Servlets相对于 server extension机制有如下优点:

(1)它们比CGI脚本要快的多,因为它们使用了一个不同的处理模型。

(2)它们使用一个标准的许多web servers都支持的API。

(3)它们具有Java编程语言所有的优点,包括开发简单以及平台独立。

(4)它们可以利用Java平台上的大量的API。

一个servlet通过一个明确定义的生命周期来管理,该生命周期定义了servlet是如何被加载并实例化的,如何初始化的,如何处理来自客户端的请求,以及如何停止服务。该生命周期通过API中的javax.servlet.Servlet接口的init, service, and destroy方法来描述,所以的servlet必须直接地或者间接地实现该接口,间接实现时可以借助GenericServlet或HttpServlet抽象类来实现。

加载和实例化,servlet容器负责加载并实例化servlets。加载和实例化的动作可以在容器启动的时候执行,或者延迟到容器认为需要用该servlet来服务一个请求的时候再执行。当servlet引擎启动后,该servlet容器必须定位所需要的servlet类。在Servlet类被加载之后,该容器实例化之,以供使用。

初始化,在servlet对象被实例化之后,容器必须首先初始化该servlet 才能让它处理来自客户端的请求。提供初始化动作,以便一个serlvet能够读取持久化配置数据,初始化珍贵(costly)资源,以及执行其它一次性(one-time)动作。容器通过调用Servlet接口的init方法来初始化该servlet,初始化时会使用一个实现了ServletConfig接口的唯一的对象。

处理客户端请求,在一个servlet被正确初始化之后,该servlet容器就可以用它来处理客户端请求了。客户端请求由ServletRequest类型的对象来表示。该servlet 通过调用一个ServletResponse类型的对象的方法来对请求作出响应。这些对象被作为参数传递给 Servlet接口的 service方法。如果是一个HTTP请求,容器提供的对象是HttpServletRequest and HttpServletResponse类型的。

销毁,当servlet容器判定一个servlet应该被从服务中删除时,它调用Servlet接口的destroy方法,以便让servlet释放其占有的所有资源并保存任意持久状态。一旦一个servlet实例的destroy方法被调用,容器不再把其它请求转给该servlet的实例了。如果容器需要再次使用该servlet,那么它必须使用这个servlet的新的实例上。在destroy方法调用完毕之后,servlet容器必须释放该servlet实例,以便它可以被垃圾回收。

参考文献

[1] Dustin R.Callaway. Inside Servlets: Server-Side Programming for the Java(TM) Platform (2nd Edition).Addison Wesley/Pearson, 2002,2-1.

猜你喜欢

组件架构
基于FPGA的RNN硬件加速架构
无人机智能巡检在光伏电站组件诊断中的应用
功能架构在电子电气架构开发中的应用和实践
新型碎边剪刀盘组件
U盾外壳组件注塑模具设计
LSN DCI EVPN VxLAN组网架构研究及实现
风起新一代光伏组件膜层:SSG纳米自清洁膜层
一种基于FPGA+ARM架构的μPMU实现