JSR286Portlet.docx

上传人:b****5 文档编号:8005041 上传时间:2023-01-27 格式:DOCX 页数:23 大小:523.24KB
下载 相关 举报
JSR286Portlet.docx_第1页
第1页 / 共23页
JSR286Portlet.docx_第2页
第2页 / 共23页
JSR286Portlet.docx_第3页
第3页 / 共23页
JSR286Portlet.docx_第4页
第4页 / 共23页
JSR286Portlet.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

JSR286Portlet.docx

《JSR286Portlet.docx》由会员分享,可在线阅读,更多相关《JSR286Portlet.docx(23页珍藏版)》请在冰豆网上搜索。

JSR286Portlet.docx

JSR286Portlet

JSR286Portlet配置

首先介绍JSR286Portlet实现ApachePluto2.0.3平台的构建过程,然后通过在ApachePluto2.0平台上开发和部署JSR286Portlet应用程序。

准备工作

ApachePluto2.0是JSR286的参考实现,是实现了Portlet2.0API的Portlet容器,充当Portlet的运行时环境,与web应用服务器的Servlet容器的运行时环境支持Servlet的情形非常相似。

Pluto2.0目前支持的JSR286Portlet新特性有资源服务、事件、Portlet过滤器、共享呈现参数、Portlet窗口。

1:

构建JSR286Portlet运行环境ApachePluto2.0.3

1:

安装jdk1.6.0_10并设置环境变量

2:

安装apache-maven-3.0.4下载并解压,设定Maven安装路径为${M2_HOME}.

将${M2_HOME}\bin目录加到系统的PATH环境变量中。

3:

安装tomcat6下载并解压,设定安装路径为${TOMCAT_HOME}

4:

获取pluto-2.0.3-source-release.zip源码

5:

使用Maven构建Pluto

编译${M2_HOME}\conf目录下的setting.xml文件,增加元素:

Setting.xml文件:

org.apache.portals.pluto

Pom.xml文件:

2.1.9

pluto2.0.3的相关文件就被安装到tomcat相应目录下:

D:

\>cdpluto2

D:

\pluto2>mvninstall

D:

\pluto2>mvnPluto:

install–DinstallDir=${TOMCAT_HOME}

如果tomcat安装路径中存在空格,则需要用双引号把路径引起来:

D:

\pluto2>mvnPluto:

install–DinstallDir=”C:

\apache-tomcat-6.0.30”

在网上下载commons-logging-api-1.1.jar文件,拷贝到${TOMCAT_HOME}\lib\目标下。

修改tomcat下的\conf\tomcat-users.xml文件,添加角色pluto,并在该角色下新增一个用户:

验证安装:

运行${TOMCAT_HOME}\bin\startup.bat,启动tomcat服务器。

浏览器访问URLhttp:

//localhost:

8080/pluto/portal,如图:

Pluto登录界面

输入添加到pluto角色的用户名和密嘛都为pluto,进入pluto的portal页面:

Plutoportal界面

至此,JSR286Portlet运行环境ApachePluto2.0.3搭建成功。

2:

使用eclipse建立开发环境

下载eclipse-jee-helios-SR2-win32.zip,注意要下载EclipseIDEforJavaEEDevelopers。

启动eclipse,对eclipse进行配置:

执行菜单项目Wndow->Preferences,打开Preferences对话框,选择Server->RuntimeEnvironments

点击Add按钮,将Tomcat6添加为运行时

单击Finish结束配置,单击OK关闭Preferences对话框。

 

在eclipse的Server视图中点击鼠标右键,选择New->Server。

如图:

新建服务器

在弹出的窗口中选择目标运行服务器ApacheTomcat6.0Server,运行时呈现ApacheTomcatv6.0,点击Finish。

选择目标运行服务器

在Servers视图中双击刚刚新建的Tomcat服务器,打开服务器配置页面,如图:

Tomcat服务器配置页面

在ServerLocations中选择UseTomcatInstallation,DeployPath选择${TOMCAT_HOME}\webapps,如图9所示。

至此开发环境设置完毕

必须设定DeployPath为Tomcat安装目录下的webapps目录,否则使用Eclipse启动Tomcat后,Pluto不能加载进来。

Tomcat服务器配置

创建JSR286Portlet应用

1:

使用eclipse创建PortletWeb项目

新建项目,项目类型选择Web->DynamicWebProject,如图:

接下来,设置项目属性,项目名称jsr286portlets,目标运行时ApacheTomcatV6.0,保留默认设置,点击Finish,如图:

生成项目结构如图:

在META-INF下新建context.xml文件,内容如下:

该文件为tomcat的特有配置文件,根据Pluto的要求,该Web工程的上下文应该可以被其它JavaEE程序访问,所以crossContext参数设置为true

在WEB-INF下新建portlet.xml文件,内容如下:

xmlversion="1.0"encoding="UTF-8"?

>

xmlns:

xsi="http:

//www.w3.org/2001/XMLSchema-instance"

xsi:

schemaLocation="

version="2.0">

--在该位置填写portlet描述内容-->

2:

资源服务

新增Java类TestPortlet,实现了javax.portlet.Portlet和javax.portlet.ResourceServingPortlet接口

TestPortlet.java

packagecom.ibm.samples.jsr286.portlets;

importjava.io.IOException;

importjavax.portlet.ActionRequest;

importjavax.portlet.ActionResponse;

importjavax.portlet.Portlet;

importjavax.portlet.PortletConfig;

importjavax.portlet.PortletException;

importjavax.portlet.PortletRequestDispatcher;

importjavax.portlet.RenderRequest;

importjavax.portlet.RenderResponse;

importjavax.portlet.ResourceRequest;

importjavax.portlet.ResourceResponse;

importjavax.portlet.ResourceServingPortlet;

importjavax.servlet.http.HttpServlet;

publicclassTestPortletextendsHttpServletimplementsPortlet,ResourceServingPortlet{

privatestaticfinallongserialVersionUID=1L;

privatePortletConfigportletConfig;

publicvoidinit(PortletConfigportletConfig)throwsPortletException{

this.portletConfig=portletConfig;

}

publicvoiddestroy(){

}

publicvoidprocessAction(ActionRequestactionRequest,

ActionResponseactionResponse)throwsPortletException,IOException{

}

publicvoidrender(RenderRequestrenderRequest,

RenderResponserenderResponse)throwsPortletException,IOException{

PortletRequestDispatcherportletRequestDispatcher=portletConfig

.getPortletContext().getRequestDispatcher(

"/WEB-INF/jsp/TestPortletView.jsp");

portletRequestDispatcher.include(renderRequest,renderResponse);

}

publicvoidserveResource(ResourceRequestresourceRequest,

ResourceResponseresourceResponse)throwsPortletException,

IOException{

PortletRequestDispatcherportletRequestDispatcher=portletConfig

.getPortletContext().getRequestDispatcher(

"/WEB-INF/jsp/TestPortletResource.jsp");

portletRequestDispatcher.include(resourceRequest,resourceResponse);

}

}

在WEB-INF目录下新建jsp目录,在jsp目录下新建portlet呈现阶段所显示的jsp文件TestPortletView.jsp。

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%@taglibprefix="portlet"uri="

defineObjects/>

Testportletpage.

resourceURL/>">ClickmetorequestResourceURL

在jsp目录下新建portlet资源服务所请求的jsp文件TestPortletResource.jsp

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%@taglibprefix="portlet"uri="

defineObjects/>

Testportletresourcepage.

编译portlet.xml文件,为TestPortlet增加一个portlet定义片段,该TestPortlet仅支持View模式

TestPortlet

TestPortlet

com.ibm.samples.jsr286.portlets.TestPortlet

text/html

VIEW

TestPortlet

编译web.xml文件,增加Pluto所需的servlet定义及映射。

TestPortlet

org.apache.pluto.container.driver.PortletServlet

portlet-name

TestPortlet

1

TestPortlet

/PlutoInvoker/TestPortlet

在eclipse的Servers视图中,右键单击Tomcat服务器,点击AddandRemoveProjects,在弹出的对话框中将jsr286portlets项目添加到右测栏目中,点击Finish确认,如图:

在Servers视图中启动服务器,Console视图中输出Tomcat启动信息。

浏览器中输入相应url访问pluto的portal页面,登录,点击PlutoAdmin导航栏,如图:

使用该工具新建一个页面,如"TestJSR286PortletPage"。

导航栏中马上新增一项"TestJSR286PortletPage",点击进入该页面可以见到目前该页面没有内容。

选择jsr286portlets应用程序中的PortletTestPortlet,选择上一步新建的页面,点击AddPortlet按钮,将TestPortlet布局到"TestJSR286PortletPage"页面。

进入"TestJSR286PortletPage"页面,该页面新增了一个PortletTestPortlet,

点击超链接,进入所请求的资源页面

3事件

简单事件

新建Java类TestSimpleEventSenderPortlet,在该Portlet类的processAction方法中,发送一个简单事件,事件内容为一个字符串。

TestSimpleEventSenderPortlet.java文件

packagecom.ibm.samples.jsr286.portlets;

importjava.io.IOException;

importjavax.portlet.ActionRequest;

importjavax.portlet.ActionResponse;

importjavax.portlet.Portlet;

importjavax.portlet.PortletConfig;

importjavax.portlet.PortletException;

importjavax.portlet.PortletRequestDispatcher;

importjavax.portlet.RenderRequest;

importjavax.portlet.RenderResponse;

publicclassTestSimpleEventSenderPortletimplementsPortlet{

privatePortletConfigportletConfig;

publicvoidprocessAction(ActionRequestactionRequest,

ActionResponseactionResponse)throwsPortletException,IOException{

actionResponse.setEvent("simple-event","simple-eventissentby"

+portletConfig.getPortletName());

}

publicvoidrender(RenderRequestrenderRequest,

RenderResponserenderResponse)throwsPortletException,IOException{

PortletRequestDispatcherportletRequestDispatcher=portletConfig

.getPortletContext().getRequestDispatcher(

"/WEB-INF/jsp/TestSimpleEventSenderPortletView.jsp");

portletRequestDispatcher.include(renderRequest,renderResponse);

}

@Override

publicvoiddestroy(){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidinit(PortletConfigportletConfig)throwsPortletException{

//TODOAuto-generatedmethodstub

this.portletConfig=portletConfig;

}

}

在jsp目录下新建jsp文件TestSimpleEventSenderPortletView.jsp

<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<%@taglibprefix="portlet"uri="

defineObjects/>

actionURL/>">

Testsimpleeventsenderportletpage.

新建Java类TestSimpleEventReceiverPortlet,在该Portlet实现了javax.portlet.EventPortlet接口,可以响应事件。

TestSimpleEventReceiverPortlet.java文件

packagecom.ibm.samples.jsr286.portlets;

importjava.io.IOException;

importjavax.portlet.ActionRequest;

importjavax.portlet.ActionResponse;

importjavax.portlet.Event;

importjavax.portlet.EventPortlet;

importjavax.portlet.EventRequest;

importjavax.portlet.EventResponse;

importjavax.portlet.Portlet;

importjavax.portlet.PortletConfig;

importjavax.portlet.PortletException;

importjavax.portlet.PortletRequestDispatcher;

importjavax.portlet.RenderRequest;

importjavax.portlet.RenderResponse;

publicclassTestSimpleEventReceiverPortletimplementsPortlet,EventPortlet{

privatePortletConfigportletConfig;

pu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1