本文共 1358 字,大约阅读时间需要 4 分钟。
Java EE容器
对于开发人员需要引入复杂的代码解决事务以及状态管理问题,处理多线程、资源的调度等待底层细节,很多业务逻辑可以封装在可重用的组件中去,此外,Java EE为每一种组件都提供了基于容器的底层服务。
什么是Java EE容器(Container)
容器是组件与底层平台功能间的接口,在Web组件、企业bean或应用程序客户端运行之前,必须将其装配至Java EE 模块中,并部署至其容器中。
在Java语言中,你或许以为容器就是指List,Set,Map等这些集合的概念,容器也就是保持、持有组件的群集,但是在Java EE中,这种概念更为宽泛,容器不仅仅是持有组件,还负责组件的生命周期以及与它相关的一些服务。
如同Java代码只能编译运行于JVM上一样,你的Servlet/JSP仅运行于Web容器之上,只要你写的Servlet/JSP符合Web容器的标准,你就可以在不同厂商实现的Web容器上运行你的Servlet/JSP,而不用关心底层的Web服务器是什么。
在实际应用中,Web容器是介于Web服务器于Servlet之间的
一个请求/响应的例子:
客户端(浏览器)对Web服务器发送请求;
Web服务器接收到请求,将请求转到Web容器处理,Web容器将请求处理为各种组件(HttpServletRequest、HttpServletResponse、HttpSession等);
Web容器根据请求的URL来决定由哪个Servlet处理该请求;
Servlet根据组件(HttpServletRequest)来决定如何处理该请求,然后根据组件(HttpServletResponse)来建立相关的响应;
Web容器于Web服务器建立沟通,将处理完的响应转化为Http响应给客户端。
容器服务
Java EE中的容器可以提供很多的服务,如安全服务、事务管理、JNDI(Java Name and Directory Interface)、API查询及远程连接等等。其中比较重要的几项:
Java EE安全模型可用于配置Web组件或企业bean,从而使企业资源仅被授权用户使用。
事务模型指定一个事务的多个过程之间的关系,使得一次事务中所有过程能够被认作同一处理单元。
JNDI查询服务为企业中的不同命名和目录服务提供统一的接口,从而使得应用程序组件可以轻松地访问这些服务。
Java EE远程连接模型管理客户端与企业bean之间的底层通信服务,当一个企业bean创建以后,客户端可以调用bean中的方法。
容器还提供一些不可配置的服务,如企业bean与Servlet的生命周期、数据库连接池、数据持久性以及对Java EE平台API的访问。
容器类型
Java EE服务器 Java EE产品的运行环境。Java EE服务器提供EJB和Web容器。
EJB(Enterprise JavaBeans)容器 为Java EE程序提供企业bean运行的管理 。企业bean及EJB容器运行在Java EE服务器上。
应用程序客户端容器 管理应用程序客户端组件的运行。应用程序客户端及其容器运行yu于客户端。
applet容器 管理applet运行,由运行于客户端的Web浏览器以及Java插件组成。
转载地址:http://uqjdv.baihongyu.com/