由于Portlet与Servlet存在若干不同之处,所以在编写基于Portlet应用时要注意以下几个问题:
Servlet是与表现层无关的,所以一个完整的Web应用可以只有一个Servlet作为Controller。但是Portlet是与表现层相关的,表现层的多个Portlet将对应多个Concrete Portlet。
对于Web应用,我们可以将操作请求的处理流程分为两步,处理请求和展示结果。在传统Servlet/JSP应用中,请求和展示总是一起被执行的。但是在Portlet应用中,情况发生了改变:当doView或doEdit被调用的时候,仅展示部分被调用。这造成了在Portlet应用中处理与展示两个部分的执行频率并不相同,也就造成了Portlet应用的两阶段处理模式。
在Portlet应用中URL是动态生成的(Portlet提供一套API来完成)。
Portlet不支持forward和redirect。