Portlet 开发指南
1
Portlet 开发指南
Portlet 开发指南
2
目录
Portlet 开发指南............................................................................................................................... 1
第一章节 入门介绍 ......................................................................................................................... 7
一、 Portlet 简介 ............................................................................................................... 8
什么是 Portal .................................................................................................................... 9
什么是 Portlet ................................................................................................................... 9
什么是 Portlet 容器 .......................................................................................................... 9
三者关系 ......................................................................................................................... 10
版本兼容性 ..................................................................................................................... 10
JSR286 的主要新特性 .................................................................................................... 10
与 J2EE 的版本对应 ....................................................................................................... 10
二、 Portlet 与 servlet 的关系 ........................................................................................ 11
Portlet 与 servlet/jsp 中的桥梁 ...................................................................................... 12
用 servlet 生命周期事件 ................................................................................................ 12
Servlet 容器与 Portlet 容器之间的关系........................................................................ 12
三、 开发环境搭建 ......................................................................................................... 13
IBM WebSphere Portal 环境搭建 ................................................................................... 13
Apache Pluto Portal 环境搭建 ........................................................................................ 24
快速入门 ......................................................................................................................... 29
第二章节 独有概念 ....................................................................................................................... 36
四、 Portlet 概念 ............................................................................................................. 37
Portlet 定义 ..................................................................................................................... 37
Portlet 是 Portal 页面中的一个区域 ............................................................................. 37
Portlet 和 Web 框架 ....................................................................................................... 38
五、 Portlet URLs ............................................................................................................. 39
BaseURL 接口 ................................................................................................................. 39
包含 Portlet Mode 和 Window State 信息 ................................................................... 40
Portlet URL 安全性 ......................................................................................................... 40
总结 ................................................................................................................................. 40
六、 Portlet Modes .......................................................................................................... 42
查看 Portlet Mode ......................................................................................................... 42
编辑 Portlet Mode ......................................................................................................... 42
帮助 Portlet Mode ......................................................................................................... 42
自定义 Portlet Modes ................................................................................................... 42
受支持的 Portlet Modes................................................................................................ 43
七、 Window States ........................................................................................................ 44
正常 Window State ........................................................................................................ 44
最大化 Window State .................................................................................................... 44
最小化 Window State .................................................................................................... 44
Portlet 开发指南
3
自定义 Window States .................................................................................................. 44
支持的 Window State .................................................................................................... 44
八、 Portlet Preferences .................................................................................................. 45
PortletPreferences 接口 ................................................................................................ 45
Preference Attributes 范围 ............................................................................................ 45
Preference Attributes 定义 ............................................................................................ 46
第三章节 基础概念 ....................................................................................................................... 47
九、 Portlet 生命周期接口 ............................................................................................. 48
Portlet 实例的数量 ........................................................................................................ 48
Portlet 生命周期............................................................................................................. 48
Portlet 的个性化 ............................................................................................................ 49
Request 请求处理 ........................................................................................................... 50
总结 ................................................................................................................................. 54
十、 Portlet Config .......................................................................................................... 55
初始化参数 ..................................................................................................................... 55
Portlet Resource Bundle .................................................................................................. 55
默认事件命名空间 ......................................................................................................... 56
公告展现参数 ................................................................................................................. 56
发布事件 ......................................................................................................................... 56
处理事件 ......................................................................................................................... 56
支持的国际化 ................................................................................................................. 56
支持的运行时选项 ......................................................................................................... 56
总结 ................................................................................................................................. 57
十一、 Portlet Context ................................................................................................ 58
Portlet Context 范围 ....................................................................................................... 58
Portlet Context 功能 ...................................................................................................... 58
与 Servlet Context 关系 ................................................................................................. 58
总结 ................................................................................................................................. 59
十二、 Portlet Requests .............................................................................................. 60
PortletRequest 接口 ...................................................................................................... 60
ClientDataRequest 接口 ................................................................................................. 64
ActionRequest 接口 ....................................................................................................... 64
ResourceRequest 接口 .................................................................................................. 64
EventRequest 接口 ........................................................................................................ 65
RenderRequest 接口 ...................................................................................................... 65
Request 对象的时间范围 .............................................................................................. 65
总结 ................................................................................................................................. 65
十三、 Portlet Response ............................................................................................. 66
PortletResponse 接口 .................................................................................................... 66
StateAwareResponse 接口 ............................................................................................ 68
ActionResponse 接口 ..................................................................................................... 68
EventResponse 接口 ...................................................................................................... 68
MimeResponse 接口 ...................................................................................................... 69
RenderResponse 接口 ................................................................................................... 69
Portlet 开发指南
4
ResourceResponse 接口 ................................................................................................ 70
Response 对象的时间范围 ........................................................................................... 70
十四、 Sessions ........................................................................................................... 71
创建 Session .................................................................................................................... 71
Session 范围 ................................................................................................................... 71
Session 中设置属性 ........................................................................................................ 71
与 Web Application HttpSession 关系 ............................................................................ 71
写入 Portlet Session ........................................................................................................ 72
Session Timeouts............................................................................................................. 73
最后访问时间 ................................................................................................................. 73
重要的 Session 语义 ..................................................................................................... 73
总结 ................................................................................................................................. 73
十五、 请求分发给 Servlets 和 JSPs ....................................................................... 74
获取 PortletRequestDispatcher ..................................................................................... 74
使用 Dispatcher .............................................................................................................. 74
Include 方法 ................................................................................................................... 74
forward 方法 .................................................................................................................. 75
Servlet filters ................................................................................................................... 76
改变默认的 Included Forwarded Session 范围 ............................................................ 76
总结 ................................................................................................................................. 76
十六、 Portlet 标签库 ................................................................................................ 77
defineObjects 标签 ........................................................................................................ 77
actionURL 标签 .............................................................................................................. 79
renderURL 标签 ............................................................................................................. 79
resourceURL 标签 ........................................................................................................... 80
namespace 标签 ............................................................................................................. 81
param 标签 ..................................................................................................................... 81
总结 ................................................................................................................................. 81
十七、 Portlet 应用 .................................................................................................... 82
与 Web Applications 的关系 .......................................................................................... 82
与 PortletContext 的关系 ............................................................................................... 82
Portlet Application 中的元素 ......................................................................................... 82
目录结构 ......................................................................................................................... 82
Portlet Application Classloader ....................................................................................... 82
Portlet Application 存档文件 ........................................................................................ 82
Portlet application 部署描述符 ..................................................................................... 83
更新 Portlet Application ................................................................................................. 83
十八、 打包和部署描述符 ......................................................................................... 84
Portlet 和部署描述符 ..................................................................................................... 84
打包 ................................................................................................................................. 84
Portlet 部署描述符元素 ................................................................................................. 84
处理 Portlet 部署描述符规则 ....................................................................................... 85
Portlet.xml 中唯一的值 .................................................................................................. 85
第四章节 高级特性 ....................................................................................................................... 86
Portlet 开发指南
5
十九、 资源服务 ......................................................................................................... 87
ResourceServingPortlet 接口 ......................................................................................... 87
访问 Render 参数、 Portlet Mode、 Window State ................................................. 88
访问 Request 和 Response Headers ............................................................................. 88
获取 HTTP 方法 ............................................................................................................ 89
访问 Resource ID ............................................................................................................ 89
Resource URLs ................................................................................................................. 89
Generic Portlet 支持 ...................................................................................................... 89
Ajax 请求 ......................................................................................................................... 89
二十、 Portlet 协作 ..................................................................................................... 91
Public Render Parameters ............................................................................................... 91
Portlet Events .................................................................................................................. 92
Events 传送复杂对象 ..................................................................................................... 96
总结 ................................................................................................................................. 96
二十一、 Portlet Filter .................................................................................................... 98
什么是 Portlet filter ....................................................................................................... 98
主要概念 ......................................................................................................................... 99
总结 ............................................................................................................................... 101
第五章节 可选概念 ..................................................................................................................... 102
二十二、 缓存 ............................................................................................................... 103
缓存过期 ....................................................................................................................... 103
验证缓存 ....................................................................................................................... 103
总结 ............................................................................................................................... 104
二十三、 用户信息 ....................................................................................................... 105
定义用户属性 ............................................................................................................... 105
访问用户属性 ............................................................................................................... 105
重要注意事项 ............................................................................................................... 106
总结 ............................................................................................................................... 106
二十四、 安全性 ........................................................................................................... 107
介绍 ............................................................................................................................... 107
角色 ............................................................................................................................... 107
安全性代码开发 ........................................................................................................... 107
总结 ............................................................................................................................... 107
二十五、 Portal Context ................................................................................................ 108
二十六、 Portlet 容器运行时 ...................................................................................... 109
动态修改 Portlet 标题 .................................................................................................. 109
二十七、 使用注释的方法 ........................................................................................... 111
GenericPortlet Render Handling ................................................................................... 111
二十八、 Setting next possible Portlet Modes ............................................................. 112
二十九、 Struts2 开发 Portlet 实例 ............................................................................. 113
三十、 Spring mvc 开发 Portlet 实例 ....................................................................... 114
三十一、 附录 ............................................................................................................... 115
修改记录 ....................................................................................................................... 115
名词解释 ....................................................................................................................... 115