使用WebSphere Portal开发多区域设置网站
2010-09-27 08:17:29 来源:WEB开发网您的业务逻辑还可能涉及到从用户的概要读取首选区域设置。您需要考虑这种可能性,因为您要将门户配置为在处理经过身份验证的请求时不会从用户概要检索首选区域设置。
我们需要对匿名请求和经过身份验证的请求均使用此筛选器,且要在其他门户 Servlet 筛选器前调用。
编辑门户的 web.xml。WebSphere Portal 是运行于 WebSphere Application Server 的 Web 容器中的 Web 应用程序。web.xml 文件位于以下目录中:
<App Server Root>/cells/<cell name>/applications/wps.ear/deployments/wps/wps.war/WEB-INF
将以下 <filter> 和 <filter-mapping> 元素添加到 web.xml 相应的部分中。请确保将该 <filter-mapping> 添加到其他 <filter-mapping> 元素之前,以便先于任何其他门户 Servlet 筛选器调用此筛选器。
清单 5. LocaleServletFilter 的 <filter> 和 <filter-mapping> 元素
<filter>
<filter-name>Locale Filter</filter-name>
<filter-class>com.foo.bar.LocaleServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>Locale Filter</filter-name>
<url-pattern>/myportal/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>Locale Filter</filter-name>
<url-pattern>/portal/*</url-pattern>
</filter-mapping>
将包含筛选器和请求包装的 jar 文件放入位于类路径中的目录,如 <Portal root>/shared/app 目录。
配置门户
最后,您需要对门户进行配置,以使其不会从用户概要检索首选区域设置。
编辑位于以下目录中的 wmmLDAPServerAttributes.xml 文件:<Portal root>/wmm/
删除 preferredLanguage 的整个 <attributeMap> 元素。
清单 6. 删除以下 <attributeMap> 元素
<attributeMap wmmAttributeName="preferredLanguage"
pluginAttributeName="preferredLanguage"
applicableMemberTypes="Person"
dataType="String"
valueLength="128"
multiValued="false"/>
进行此更改将强制 WebSphere Portal 使用在请求 Header 中设置的区域设置作为请求的区域设置。
重要:在集群环境中,您需要修改部署管理器的 wmmLDAPServerAttributes.xml 副本(通常位于 <Deployment Manager root>/config/wmm 目录中),然后与所有集群成员同步这些更改。
结束语
在本文中,您了解了 WebSphere Portal 用于确定请求的区域设置的算法。然后,您了解了如何使用 Servlet 筛选器来基于业务规则确定区域设置。您使用了请求包装来在 Accept-Language 请求 Header 中设置此区域设置。最后,您强制 WebSphere Portal 对经过身份验证的请求使用请求 Header 中的区域设置。
编缉推荐阅读以下文章
- 扩展WebSphere Portal V6个性化功能
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››WebSphere 反向投资者: 解决 WebSphere Applicati...
- ››WebSphere sMash 的创新应用,第 2 部分: 借助包装...
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
更多精彩
赞助商链接