Portal的简单使用
. Portal安装和删除
删除portal软件方法:
1) 删除注册表HKEY_LOCAL_MACHINE->Software->IBM->Websphere Portal Server
2) 把C:\Program Files\IBM\Websphere\PortalServer删除就可以了
l 安装时还提示删除C:\IBM下的一些软件,让安装软件自动处理就可以了
2. Portlet概念
与servlets类似,portlets是部署在容器内用来生成动态内容的web组件。从技术角度讲portlet是一个实现了javax.portlet.Portlet接口的类,它被打包成war文件格式部署到portlet容器里。
Portlets在以下方面与servlets相似:
1. portlets由特定的容器管理。
2. portlets生成动态内容。
3. portlet的生命周期由容器管理。
4. portlets通过请求/响应模式与web客户端交互。
Portlets在以下方面与servlets相异:
1. portlets只能生成标记段,而不是整个文档。
2. portlets没有可供直接访问的URL地址。不过你还是能够让别人通过URL访问到portlet,你可以把包含该portlet的页面的URL发给他。
3. portlets不能随意地生成内容,这是因为portlet生成的内容最终要成为portal页面的一部分。如果portal服务器要求的是html/text类型,那么所有的portlets都应生成html/text类型的内容。再比方说,如果portal服务器要求的是WML类型,那么所有的portlets都应生成WML类型的内容。
portlets还提供了一些附加的功能:
1. 设置参数的持久化存储:portlets提供了一个PortletPreferences对象用来保存用户的设置参数。这些参数被存入一个持久化数据库,这样服务器重启后数据依然有效。开发者不必关心这些数据存储的具体实现机制。
2. 请求处理:portlets提供了更为细粒度的请求处理。对于用户在portlet上动作时向该portlet发出的请求(一种称为活跃期的状态),或者因用户在其它portlet上动作而引发的刷新页面请求,Portal服务器提供了两种不同的回调方法来处理。
3. Portlet模式:portlets用模式的概念来表示用户在做什么。在使用mail应用的时候,你可能会用它来读信、写信或检查信件――这些都是mail应用的预定功能,Portlets通常以VIEW模式提供这些功能。但还有一些活动,像指定刷新时间或(重新)设置用户名和密码,这些活动允许用户定制应用的行为,因此它们用的是EDIT模式。Mail应用的帮助功能用的是HELP模式。
1. portlets由特定的容器管理。
2. portlets生成动态内容。
3. portlet的生命周期由容器管理。
4. portlets通过请求/响应模式与web客户端交互。
Portlets在以下方面与servlets相异:
1. portlets只能生成标记段,而不是整个文档。
2. portlets没有可供直接访问的URL地址。不过你还是能够让别人通过URL访问到portlet,你可以把包含该portlet的页面的URL发给他。
3. portlets不能随意地生成内容,这是因为portlet生成的内容最终要成为portal页面的一部分。如果portal服务器要求的是html/text类型,那么所有的portlets都应生成html/text类型的内容。再比方说,如果portal服务器要求的是WML类型,那么所有的portlets都应生成WML类型的内容。
portlets还提供了一些附加的功能:
1. 设置参数的持久化存储:portlets提供了一个PortletPreferences对象用来保存用户的设置参数。这些参数被存入一个持久化数据库,这样服务器重启后数据依然有效。开发者不必关心这些数据存储的具体实现机制。
2. 请求处理:portlets提供了更为细粒度的请求处理。对于用户在portlet上动作时向该portlet发出的请求(一种称为活跃期的状态),或者因用户在其它portlet上动作而引发的刷新页面请求,Portal服务器提供了两种不同的回调方法来处理。
3. Portlet模式:portlets用模式的概念来表示用户在做什么。在使用mail应用的时候,你可能会用它来读信、写信或检查信件――这些都是mail应用的预定功能,Portlets通常以VIEW模式提供这些功能。但还有一些活动,像指定刷新时间或(重新)设置用户名和密码,这些活动允许用户定制应用的行为,因此它们用的是EDIT模式。Mail应用的帮助功能用的是HELP模式。
3. RAD工具使用
RAD在线运行使用方法:
1) 创建服务器:指向安装的portal。若portal非本机,就要填portal的IP地址。
2) 启动服务器:不要在RAD外面启动portal。
3) 添加项目:右键portal服务器,选择”添加和除去项目”
4) 启动项目:右键项目,选择“启动”
5) 察看portlet: 右键portal服务器,选择”打开门户网站”
4. 简单开发
4.1.项目目录结构
/ 根目录
/images 图像文件
/WEB-INF最重要目录,包括:lib子目录、classes子目录、web.xml、portlet.xml
/META-INF 存储meta文件manifest.mf 和java2安全文件was.policy(可选)
/jsp JSP文件目录。该目录可以任意指定。IBM RAS自动分配的目录名:/WebContent/$JSP_FOLDER/jsp/$Markup/ 下
4.2.打包和部署
IBM RAD会自动打包的。在生成portlet项目同时生成EAR项目,WAR文件就在EAR项目下。
手工打包方法如下:
1) 生成WAR
jar -cf HelloWorld.war images WEB-INF
把images和WEB-INF目录打包成一个文件(HelloWorld.war)
2) 更新WAR
jar -uf HelloWorld.war WEB-INF/portlet.xml
只有portlet.xml修改了
4.3.Portlet视图
Portlet共有四种视图,view、edit、configure和help,开发人员可以设计分别在这四个页面中实现不同的功能,自然view是主要的显示页面,用户看到最多的就是这个视图中的内容,help顾名思义当然最好往里面添加的是帮助信息,edit和configure可以对portlet中自定义的一些参数进行设置,决定view视图中的显示内容和效果,这些都是需要开发人员设计的。
4.4.简单的Portlet例子
4.4.1. 标准Portlet (JSR 168)类
HelloWorld.java文件内容如下:
import java.io.*;
public class HelloWorld extends PortletAdapter {
public void init (PortletConfig portletConfig)
throws UnavailableException
{ super.init(portletConfig); }
public void doView(PortletRequest request, PortletResponse response)
throws PortletException, IOException
{
response.setContentType("text/html"); PortletContext context = getPortletConfig().getPortletContext();
context.getRequestDispatcher("/jsp/View.jsp").include( request, response);
}
}
这里,/jsp/View.jsp就是该portlet的页面。
DoView()处理页面显示。
该类没用到IBM Portlet,是一个标准portlet (JSR 168).
4.4.2. IBM Portlet类
package com.ibm.wps.samples.v4;
import org.apache.jetspeed.portlet.*;
import java.io.*;
public class HelloJSP extends PortletAdapter {
public void init(PortletConfig portletConfig) throws UnavailableException { super.init(portletConfig); }
public void doView(PortletRequest request, PortletResponse response)
throws PortletException, IOException
{
PortletContext context = getPortletConfig().getContext();
context.include("/jsp/View.jsp", request, response);
}
}
4.5.Portlet认证
4.6.一个页面多个Portlet
4.7.Portlet之间的协作
5. 问题:
1.PortletPageListener 功能是什么?
可以调用javascript