用WebLogic Portal 8.1 开发 JSR 168 Portlets
来源:互联网 发布:外国人入籍民族知乎 编辑:程序博客网 时间:2024/05/13 20:30
用WebLogic Portal 8.1 开发 JSR 168 Portlets
作为一名应用程序开发人员您应当分析在 WebLogic Portal 8.1 中提供的各种不同类型的 portlet,找到最适合完成你当前任务的类型portlet。例如,如果您正在为连接 Java 控件、利用基于 Struts Java Page Flow(Java页面流) portlet。如果您想寻找一种简单的 portlet 或想把现有的 JSP 页面转化为 portlet 时,可以考虑使用 JSP portlet。如果您是为一个独立软件公司或其他关注跨多个 portlet 容器进行移植的企业工作的话,那么您可以选择使用与 JSR 168 兼容的 Java portlet。下面的表格可以帮助您决定在构建 portlet 时应该使用哪种工具:
Portlet 类型 优点 缺点 基于 JSP 或 HTML 的 portlet · 易于实施和部署
· 提供不太复杂的基本功能 · 业务逻辑和表示层可以合并到 JSP
· 不太适合高级 portlet 导航 基于JSR 168 的 portlet · 适用于跨平台 portlet 的可移植性
· 无需使用特定于门户服务器的 JSP 标签
· 行为类似于 Servlet · 不利用 BEA 高级 portlet 特性
· 需要对 J2EE 编程模型有深入了解 基于 Java Page Flow的 portlet · 允许您从导航控制和其他业务逻辑中分离用户界面代码
· 提供构建简单和高级 portlet 导航模型的能力
· 允许快速利用 Java 控件、Web 服务和业务流程
· 为构建大量基于 Struts 的应用提供可视化环境 · 高级页面流特性,对静态、简单的或单视图的 portlet 不是必需的
规范中的组件
有两个与 JSR 168 相关联的主要组件 -- portlet 和 portlet 容器。
1. Portlet:portlet 是一个基于 Java 技术的 Web 组件,它由负责处理请求和生成动态内容的 portlet 容器管理。Portlet 被门户用作可插入用户界面组件,用户界面组件用于在信息系统中提供表示层。
2. Portlet 容器:portlet 容器为 portlet提供所需的运行时环境,为 portlet 首选项管理生命周期和持久性存储。
Java Portlets
JSR 168 中定义的 Portlet API 与 servlet API 有许多公共的概念:
1. Portlet 是基于 Java 技术的 web 组件。
2. 专门的容器管理 Portlet 以及 portlet 生命周期。
3. Portlet用于生成动态内容。
以下几个方面是 Portlet 与 servlet 的不同之处:
1. Portlet 只生成标记片段,并不产生完整的文档。门户将 portlet 标记片段汇聚合为完整的门户页面。
2. Portlet 不直接绑定到 URL。
3. Web 客户机通过门户系统和 portlet 进行交互。
4. Portlet 有许多细化的请求处理、操作请求、交付请求。
5. Portlet 具有预定义的 portlet 模式和窗口状态。 .
Portlet 还能拥有以下额外的 servlet 不提供的功能:
1. Portlet 具有访问及存储持久性配置和自定义数据的方法。
2. Portlet可以访问用户概要信息。
3. Portlet 拥有URL重写功能,可以用来生成超链接,以允许门户服务器在页面片段中创建未知链接及操作。
Java Portlet 容器
Portlet 容器是 Servlet 容器的扩展。Portlet API v1.0 基于 J2EE (Java 2 Platform, Enterprise Edition) v1.3。Portlet 容器和 portlet 符合 J2EE 规范所描述的运行环境的需求。Portlet 容器必须使用与 servlet 容器用于Web 应用程序资源相同的类加载器,以加载 portlet 应用程序内的 portlet 及相关资源。Portlet 容器负责提醒用户角色的 portlet ,但是portlet不会处理用户的身份验证。
BEA 实现概述
BEA 实现了完全兼容 JSR 168 的 portlet ,BEA 实现完全利用了 WebLogic Application Server 在 portlet的容错性、伸缩性、安全性以及热部署方面的能力。Portlet 容器将管理 portlet 生命周期的各个阶段。实现本身由若干 jar 文件组成,这些可添加到门户 Web 应用中。
图 1:与 Portlet 容器交互的请求的典型流程图
portlet 容器支持 Portlet 首选项概念。这就允许一个简洁的 portlet 实例可作为逻辑实例用于几个用户,同样的道理,也可使多个实例用于单个用户,而这些用户反过来又可以定制与其逻辑实例相关联的行为和外观(look and feel)。这些基础特性在 WebLogic Portal 8.1 中已存在,并且它可应用于非 JSR168 的portlet上。
JSR168 Hello World Portlet
下边是一个完全兼容 JSR 168 的 "Hello World" portlet 实例:
package examples.helloworld;
import java.io.IOException;
import javax.portlet.PortletException;
import javax.portlet.GenericPortlet;
import javax.portlet.RenderResponse;
import javax.portlet.RenderRequest;
public class HelloWorld extends GenericPortlet
{
public void render(RenderRequest request, RenderResponse response)
throws PortletException, IOException
{
response.getWriter().write("<p>Hello World</p>");
}
}
下边是 Hello World portlet 的 portlet.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<portlet-app version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/portlet" xmlns="http://java.sun.com/xml/ns/portlet">
<portlet>
<portlet-name>helloWorld</portlet-name>
<portlet-class>examples.helloworld.HelloWorld</portlet-class>
<portlet-info>
<title>Hello World</title>
</portlet-info>
</portlet>
</portlet-app>
结束语
BEA WebLogic Portal 团队积极投身于研究 JSR 168 的专家组。 您可以下载使用 Weblogic Portal 8.1 SP2 的 JSR168 完整实现过程。
有关 JSR 168 和 BEA WebLogic Portal 8.1 的更多信息,请参见:
dev2dev 上关于 BEA WebLogic Portal 的页面:
http://dev2dev.bea.com/products/wlportal81/index.jsp
BEA WebLogic Portal 的文档站点:
http://edocs.bea.com/wlp/docs81/index.html
BEA WebLogic Portal 新闻组:
http://newsgroups.bea.com/cgi-bin/dnewsweb?cmd=xover&group=WebLogic.developer.interest.portal&utag=
BEA WebLogic Portal 产品页:
http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/portal
JSR 168 主页:
http://www.jcp.org/en/jsr/detail?id=168
- 用WebLogic Portal 8.1 开发 JSR 168 Portlets
- BEA Weblogic Portal 8.1内容管理的几点开发经验
- WorkShop + WebLogic Portal 开发和配置
- WebLogic Portal
- JSR 168 翻译01(What is a Portal& portlet?)
- JSR 168 翻译01(What is a Portal& portlet?)
- 利用BEA WebLogic Portal 8.1进行内容管理
- BEA Weblogic Portal内容管理的几点开发经验
- Weblogic portal cache
- pointbase--Oracle WebLogic Portal
- 使用 WebSphere Portal V5.1 在 JSR 168 Portlet 中缓存数据
- WebLogic Portal:第一次亲密接触
- weblogic portal 11g 集群
- citrix与weblogic portal开发门户网站,实现bs与cs结构的单点登录。
- 在Websphere Portal 7 Client Side Aggregation下运行Spring MVC3 Portlets
- 应用JSF、Ajax和Seam开发Portlets(1/3)
- 使用JSF、Ajax和Seam开发Portlets(2/3)
- 使用JSF、Ajax和Seam开发Portlets(3/3)
- ---基础的控件开发例子---
- AD1986A在linux下的配置
- C#的6种常用集合类大比拼
- 存储过程中可用相关
- struts的工作流程图
- 用WebLogic Portal 8.1 开发 JSR 168 Portlets
- Protel转PADS
- 常用SQL语句书写技巧
- suspend/resume
- 内存的问题和管理
- 我的Transact_SQL小手册
- asp.net控件开发基础系列
- ScriptEngine
- filter