摘自牛客网:
J2EE中容器充当中间件的角色,主要的容器包括:
WEB容器:给处于其中的应用程序组件(jsp,servlet)提供一个环境,使jsp,servlet直接与容器中的环境变量接***互,不必关注其它系统问题。主要由WEB服务器来实现。 例如:tomcat,weblogic,websphere等
EJB容器:Enterprise java bean容器。供给运行在其中的组件EJB各种管理功能,满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理,并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。
WEB容器更多的是跟基于HTTP的请求打交道。而EJB容器更多的和数据库、其它服务打交道。但他们都是把与外界的交互实现从而减轻应用程序的负担。例如SERVLET不用关心HTTP的细节,直接引用环境变量session,request,response就行、EJB不用关心数据库连接速度、各种事务控制,直接由容器来完成。