Portlet和Servlet的相似之处:
@Portlet 也是JAVA技术的web组件。
@Portlet也是有特定的container在管理。
@Portlet可以动态产生各种内容。
@Portlet的生命周期由container所管理。
@Portlet和客户端的互动通过request/response的机制。
Portlet和Servlet的不同之处:
@Portlet只产生markup信息片段,不是完整的网页文件。而Portlet会将所有的Portlet markup信息片段放到一个完整的Portlet网页。
@Portlet不会和URL有直接关系。
@客户端必须通过portal系统才能和Portlet互动。
@Portlet默认定义Portlet modes及窗口状态可以指出网页中该Portlet的哪个功能正在执行及现在的状态。
@Portlet可以在同一个portal网页中存在多个。
Portlet有一些附加功能是Serlvet所没有的:
@Portlet能够存取及存储永久配置文件及定制资料。
@Portlet可以存取使用者数据。
@Portlet具有URL的重写功能在文件中去动态建立连接,允许portal server不用去知道如何在网页的片段之中建立连接及动作。
@Portlet可以存储临时性的数据在Portal Session之中,拥有两个不同的范围:application_wide scope和Porlet private scope.
Portlet不具有一些功能,而Servlet具有的功能:
@Servlet具有设置输出的文字编码的方式
@Servlet可以设置HTTP输入的header
@Servlet才能够接收到客户对于Portal发出的HTTP请求