JavaWeb 容器与组件

来源:互联网 发布:尚学堂java马士兵全套 编辑:程序博客网 时间:2024/05/06 20:14
容器是Java EE体系结构中的重要部分。本章一开始曾谈到,正如房屋为居民提供了水管和电力一样,Java EE也为应用程序提供了基础设施。那么,容器就像这所房子的房间。房间里有人或者其他物品,并且通过预先布置好的接口同基础设施进行交互。而在应用服务器中,则是Web组件和业务组件位于容器里,并且通过预先定义好的接口和Java EE基础平台进行交互。

Java EE的设计者把基础平台分成了若干层,同样,应用的开发者也可以按照特定的功能把应用逻辑分成多个层次。目前为止,Java EE的设计者们已经很好地实现了这些基础结构,包括安全性、数据访问、事务处理、命名、资源定位,服务器端和客户端互连的网络通信核心等,所以我们自己没有必要再去实现它们。Java EE为此提供了一套接口,允许把应用逻辑插入到基础平台中来访问这些服务。

容器的作用,就像视频游戏机上插的那种游戏卡一样。如图1ˉ6所示,游戏机上有一个游戏接口,用户可以通过这个接口访问游戏和进行交互。游戏卡只需关注游戏本身,它不需要关心游戏是如何显示出来的以及应该用哪种操作柄,甚至不用关心家里的电压是120V还是220V。这种游戏机就像一个容器,它对游戏的输入输出进行了抽象,这样编写游戏的人不用担心基础平台的问题,而只需要关注游戏本身就足够了。




如果你编写过applet,那么已经对容器的概念有所了解。大多数的Web浏览器都为applet提供了一个容器,如图1ˉ7所示。浏览器的applet容器为applet提供了一个运行环境。由于所有  的applet都实现了java.applet.Applet类接口,所以浏览器及其容器都知道如何与applet进行交互。当我们开发applet时,就不必考虑与Web浏览器的交互了,可以把主要的时间和精力都放在applet的逻辑实现上,而根本不需要关心应用程序如何在Web浏览器中显示的问题。

Java EE的服务端容器也有同样的目的:提供明确定义的接口和服务,让应用开发者不必担心“水管和电线”这样的基础结构,可以集中精力解决业务问题。容器主要处理服务器端的服务的启动、应用逻辑的执行,以及组件的清理等。

Java EE和Java平台包含了Web组件和业务组件的容器。这些容器就像本章前面提到的游戏机一样,为组件提供了运行的环境和接口。Java EE中定义的容器包含了可以运行Servlet、JSP和EJB的容器。

0 0
原创粉丝点击