Portlet是基于java的web组件,由portlet容器管理,并由容器处理请求,生产动态内容。Portal使用portlet作为可插拔用户接口组件,提供信息系统的表示层。作为利用servlets进行web应用编程的下一步,portlets实现了web应用的模块化和用户中心化。portlet规范,即jsr(Java Standardization Request )168,是为了实现portal和portlet的互操作。它定义了portlet和portlet容器之间的合约,让portlet实现个性化、表示和安全的api集。规范还定义了怎样在portlets应用中打包portlets。
jsr168的目标是:
定义portlet的运行时环境,即portlet容器
定义portlet和portlet容器之间的api集
提供portlet存储易失数据和持久数据的机制
提供portlet包含servlet和jsp的机制
定义方便部署的portlet打包方法
提供jsr168规范下的portal的二进制portlet便携性
通过WSRP(web service for remote portlet)协议运行符合jsr168规范的远程portlet
将复杂的页面代码交给程序开发人员进行处理,以降低网页设计的难度。
假设我是一个intranet网站的管理员,我的公司买了一个能显示新闻信息的第三方portlet应用,该应用允许用户指定跟踪新 闻更新的URL地址,我想借助它为用户显示公司的内部新闻。另一个需求是我不想让用户通过该应用来跟踪任何其它的新闻信息来源。作为管理员,我可以为所有 的用户指定一个用于内部新闻更新的URL地址,同时通过改变portlet应用的部署描述符来取消其它人修改该地址的权限。
Portlet就能实现这一需求,Portlet是由Portlet容器聚合的,用户看到的是一个单一和完整的页面,他并不了解页面中的一个个portlet栏目到底来自何方。
Portlet页面组装过程:
Portlets 和servlets有很多相似性:
Portlets也是基于web组件的java技术
Portlets由专门的容器管理。
Portlets产生动态内容。
Portlets生命周期由容器管理。
Portlets请求/返回模式和客户端交互。
Portlets 和servlets不同的地方:
Portlets只产生标记片断,而不是完整的文档。Portal把这些整合到portal页面中去。
Portlets不是直接和url绑定。
web客户端通过portal系统和portlets作用。
Portlets有更精确的请求处理,action请求,render请求。
Portlets有预先定义的portlet模式和窗口状态,这些指出portlet的功能,和portal页面中实时状态的数量。
Portlets在1个portal页面中能存在好几次。
Portlets有servlets不包含的功能:
Portlets有访问和储存持久化参数和用户化数据的方法。
Portlets能访问用户profile信息。
Portlets有url改写的功能去产生新的链接,这使得portal server可以在不知道的情况下,在页面片断中创建链接和动作。
Portlets能保存瞬时信息在不同范围的portlet session中:应用程序宽度的范围,和portlet私有的范围。
portlet没有而servlet有的功能:
设置返回字符的编码
设置返回的http头
向portal请求的客户端 URL。
Portlet页面展示的构成:
转载自原文链接, 如需删除请联系管理员。
原文链接:Portlet,转载请注明来源!