WEB开发网
开发学院操作系统Linux/Unix 扩展WebSphere Portal V6个性化功能 阅读

扩展WebSphere Portal V6个性化功能

 2010-09-27 08:17:35 来源:WEB开发网   
核心提示: 在 J2EE 环境中,Web 应用程序之间不能共享会话;因此,扩展WebSphere Portal V6个性化功能(4),会话无法用于在 Portlet、Web 应用程序、或者甚至 Portlet 和控制页面可见性的规则之间进行信息通信,教程中的代码还在 init 方法中将应用程序对象(&quo

在 J2EE 环境中,Web 应用程序之间不能共享会话;因此,会话无法用于在 Portlet、Web 应用程序、或者甚至 Portlet 和控制页面可见性的规则之间进行信息通信。

教程中的代码还在 init 方法中将应用程序对象("this")存储到会话中。将应用程序对象存储到会话或请求中,这样做可以允许规则引擎稍后查找对象,而无需创建一个新的实例。在会话或请求中存储对象时所使用的键应该与在 Personalization Portlet 中定义该应用程序对象时所分配的会话键相匹配。可以不将对象存储到会话中,但在大多数情况下,这样做将提高性能。放到会话中的对象应该是线程安全的和可序列化的。如果将对象放到请求中,那么可序列化和线程安全并不是必需的,但是您需要在每次请求中创建这个类的一个新的实例,这可能会降低性能。

即时可用的应用程序对象

规则编辑器中的 Action Bean、Action Count、Browser Capability、Category Bean、Category Count、Date、Portlet Attributes、Request 和 Session 对象都实现为应用程序对象,并且它们使用了本文中所介绍的相同的公共接口。在安装的过程中,在一个隐藏目录中对这些对象进行了定义,但是它们与您编写的其他应用程序对象没有什么区别。

使用应用程序对象的最佳实践

实现 SelfInitializingApplicationObject 和 Serializable 接口。

在 init 方法中调用 context.setSessionAttribute(myKey, this); 将您的应用程序对象存储在会话中,其中的 "myKey" 是您在为 Personalization 定义应用程序对象时使用的键。

在 init 方法中,使用应用程序对象中的实例变量或 WebSphere Dynamic Cache 映射来存储 getter 方法所使用的信息(比如用户名)。

编缉推荐阅读以下文章

  • 使用WebSphere Portal开发多区域设置网站

上一页  1 2 3 4 5 6 7  下一页

Tags:扩展 WebSphere Portal

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接