1. portlet container
在portal page上面的一个portlet就是portlet container中的一个portlet实例。 portlet container的职责包括管理portlet的实例和将portlet产生的代码片段发送给portal server,让portal server对这些片段代码进行整合。
生命周期的管理:portlet container的职责就是调用portlet实例的生命周期的方法,并提供给他们必要的运行环境,portlet container 是servlet container的扩展, 它提供了servlet container所提供的一些东西, 并且它还可以管理portlet实例。 portlet 通过PortletContext对象去访问它的运行环境,就类似于setvlet通过ServletContext对象去访问它的运行环境, portlet container 允许portlet和其他的portlet分享数据。 分析如下图:
2. portal server
portal server的职责就是将来自于portal page中的请求提交给portlet container, portal server还会整合来自于portlet container的响应,将其渲染到portal page中。portal server就是负责产生portal page。 你可以把portal server想象成一个组件,这个组件位于用于用户提交的portal page和portlet container之间。
portlet container并不负责去产生portal page,它负责的是传送portlet产生的内容给portal server,portal server会将这些内容整合然后展示在portal page上。 如下图所示: