Java EE容器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dingji_ping/article/details/52244472

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之间的
这里写图片描述

一个请求/响应的例子:

  1. 客户端(浏览器)对Web服务器发送请求;
  2. Web服务器接收到请求,将请求转到Web容器处理,Web容器将请求处理为各种组件(HttpServletRequest、HttpServletResponse、HttpSession等);
  3. Web容器根据请求的URL来决定由哪个Servlet处理该请求;
  4. Servlet根据组件(HttpServletRequest)来决定如何处理该请求,然后根据组件(HttpServletResponse)来建立相关的响应;
  5. 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插件组成。
阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页