Portal简介【摘自dev2dev】

类别:Java 点击:0 评论:0 推荐:
Portal简介 什么是Portal?

Portal是一个基于web的应用程序,它主要提供个性化、单点登录、不同来源的内容整合以及存放信息系统的表示层。

什么是Portlet?

Portlet是基于java技术的web组件,它由portlet容器管理、并处理请求,并动态生成输出内容。

Portlet的输出是一个片段,即不是一个完整的页面。

Portal标准

为规范Portal,SUN于2003年底制定了JSR168,它定义了portlet标准,并给出了一个实现接口。

Portlets与Servlet的异同? 相同点

基于web应用的java技术

由特定的容器管理

动态生成内容

生命周期由容器进行管理

通过request/reponse进行交互

不同点

portlet只生成片段

portlet并不直接绑定到某一个URL上

portlet通过portal进行交互

portlet可以多次在同一个portal页面上同时出现

portlet优点

能访问到用户配置信息

能在不同的域中存储会话:应用程序级到私有级。

portlet与servlet的关系

前者能调用后者,并且能共享信息,包括:Attributes

portlet容器是servlet容器的扩展

portlet无法做到的事情

设置response的字符集编码

设置http header

获取客户端的request

Portlets实例

如果是在普通的场合下使用,即不是在分布式场合,则每个portal应用就会生成一个portlet实例。而如果是在分布式场合下使用的话,则每个jvm只有一个实例。

Portlet生命周期

Portlet接口的四个方法构成一个完整的生命周期:init, processAction,render,destroy

public void init(PortletConfig config) throws PortletException;

由portlet容器调用,在将portlet放入服务区前调用。portlet容器在初始化portlet后,直接调用这个方法。

public void processAction (ActionRequest request, ActionResponse response)

    throws PortletException, java.io.IOException;

由portlet容器调用,用来处理action request。

public void render (RenderRequest request, RenderResponse response)

    throws PortletException, java.io.IOException;

由portlet容器调用,用来生成输出。

public void destroy();

将portlet从服务区中删除。

Portlet URLs 如何生成Portlet URL

RenderResponse.createActionURL

RenderResponse.createRenderURL

调用setParameter、setParameters可以用来设置参数.

如何使用Portlet URL

开发者不可以对参数进行任何编码,它(编码)是由portlet容器进行的。见下面例子:

       PortletURL url = response.createRenderURL();

       url.setParameter(“customer”,”foo.com”);

       url.setParameter(“show”,”summary”);

       writer.print(“Summary”);

portlet URL可以包含portlet的模式及窗口的状态,见下面例子:

       PortletURL url = response.createActionURL();

       url.setParameter(“paymentMethod”,”creditCardInProfile”);

       url.setWindowState(WindowState.MAXIMIZED);

       writer.print(“ ”);

setSecure方法用来设置是否是https。

本文地址:http://com.8s8s.com/it/it14230.htm