首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
中国IT教育
Google
首页 资讯动态 认证考试 新手入门 核心技术 高级技术 J2EE J2ME Java&XML 开源技术 其他技术 RSS订阅 论坛 专题
您现在的位置: 中国IT实验室 >> Java >> J2EE >> J2ee核心 >> 正文

编写JSR-168 Portlet指南

6. 不要从Portlet发送Cookie

  根据JSR-168 portlet规范,在HttpServletResponse上调用addCookie()实际上不会设置一个cookie。允许设置cookie的portlet容器被打破。不要调用此方法。

  如果您喜欢在用户使用门户的时候基于每位用户持久存储信息,那么可以将信息存储为portlet会话中的一个属性。如果您喜欢在用户退出后持久存储信息,那么可以将信息存储到数据存储库(文件系统、数据库、LDAP等)中。

7. 将业务逻辑从表示中分离出来

  有经验的开发人员都知道模型查看器控制器框架类似于Struts或Beehive,可以使开发富Web应用程序变得更容易。这同样也适用于portlet。JSR-168并不是适用于平台独立portlet的惟一理想规范。WSRP portlet在实现标准的门户(包括非Java门户)之间移动很方便。WebLogic Portal 可以通过WSRP公开Beehive和Struts portlet。

  如果需要将portlet部署为JSR-168 WAR,您仍然有一些选择。将业务逻辑从JSR-168 portlet的表示逻辑中分离出来的最简单方法是指派一个JavaServer Page (JSP)。portlet处理呈现方法(比如render()和doView())中的业务逻辑。portlet使用应用程序级作用域或portlet作用域将信息传递给JSP。下面的示例将一个portlet请求指派给JSP,并传递portlet作用域中的一个字符串:

public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
 response.setContentType("text/html");
 request.setAttribute("foo","bar");
 String jsp = "/pages/portal.jsp";  
 PortletContext ctx = getPortletContext();
 PortletRequestDispatcher dispatcher = ctx.getRequestDispatcher(jsp);  
 dispatcher.include(request, response);
}

  到达JSP(上述示例中的jsp)的路径值并不包括portlet的Web归档文件(WAR)的上下文路径。

  JSR-168的指派方法允许将业务逻辑与表示分离。不过,它们缺乏MVC框架的成熟度。

  适用于JSR-168开发的框架包括:

  • Spring Portlet MVC
  • WebWork
  • Struts Action 2

Struts Action 2是Struts和WebWork的组合,因此portlet代码库对现在而言几乎是一样的。这些框架简化了复杂portlet的开发和维护。

结束语

  遵守这些指导原则会使您的portlet符合JSR-168规范。遵守规范会使您的portlet在Java门户服务器之间移动变得更容易。还会使利用WSRP联合门户内容变得更容易。

参考资料

 作者简介
icon
Drew Varner
Drew Varner 是一名在BEA Federal Professional Services方面具有丰富实践经验的高级首席顾问。在过去两年中,他的工作是处理实现方面的防御和智能代理,包括JSR-168和WSRP门户技术。

上一页  [1] [2] [3] 

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 ·Java入门 Tomcat的配置技巧精华专题…
 ·Oracle RMAN物理备份技术详解…
 今日更新
 社区讨论
 博客论点
 频道精选
 Java 频道导航