三、 开发环境搭建

本文涉及两套开发环境,一个是商业上最成功的IBM PortaL的开发环境,一个是开源界Apache旗下的Pluto。开发环境有分为开发工具(IDE)、portal server的搭建。

IBM WebSphere Portal环境搭建

本文使用的是WebSphere Portal版本是6.1.5,开发工具是RAD 7.5

安装Portal Server

请参考portal安装手册,待补充。

安装开发工具RAD

请参考RAD安装手册,待补充。

配置RAD

RAD是一个Eclipse的插件扩展,开发习惯和Eclipse非常像。需要配置的地方也是普通使用eclipse开发需要配置的地方

配置Portal Server

1. 新建服务器

首先需要配置一个server,这块与配置tomcat基本上没啥区别。

hcl搭建pppoeserver 搭建portal_tomcat

hcl搭建pppoeserver 搭建portal_Apache_02

hcl搭建pppoeserver 搭建portal_tomcat_03

hcl搭建pppoeserver 搭建portal_Apache_04

配置首选项

1. 去掉验证

hcl搭建pppoeserver 搭建portal_WebSphere_05

2. 文本文件编码

文本文件编码一律统一使用UTF-8格式

CSS、HTML、JSP也使用UTF-8格式

hcl搭建pppoeserver 搭建portal_WebSphere_06

hcl搭建pppoeserver 搭建portal_WebSphere_07

hcl搭建pppoeserver 搭建portal_Apache_08

hcl搭建pppoeserver 搭建portal_WebSphere_09

hcl搭建pppoeserver 搭建portal_Apache_10

3. 缺省包

缺省包使用 :com.portalguide

hcl搭建pppoeserver 搭建portal_WebSphere_11

4. 添加用户库

如果开发portlet需要设置用户库,可以添加

Apache Pluto Portal环境搭建

Apache Pluto Portal支持jsr286,定位是简单容器实现,并不适合在生产环境下使用。目前Pluto的版本是2.0.2,开发环境可以使用eclipse比如eclipse-jee-helios-SR1-win32版本,也可以是RAD,本文使用了RAD,因为这样同事开发IBM、Apache Portal的时候比较方便。

安装Portal Server

1. 下载Pluto 2.0 binary distribution

2. 解压缩zip文件

3. 设置CATALINA_HOME环境变量

4. 通过startup.bat启动Apache Pluto门户

5. 通过http://192.168.0.198:8080/pluto/portal访问门户

6. 修改pluto-2.0.2\webapps\pluto\WEB-INF\themes\pluto-default-theme.jsp,添加

<%@ page language="java" cnotallow="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

解决中文乱码问题

7. 通过tomcat/tomcat登陆

hcl搭建pppoeserver 搭建portal_WebSphere_12

hcl搭建pppoeserver 搭建portal_WebSphere_13

配置RAD

配置首选项的设置于IBM WebSphere Portal环境是一样的,主要区别是新建server,Pluto使用的server就是Apache Tomcat Version 6.0.26,所以这里我新建的server使用tomcat6

hcl搭建pppoeserver 搭建portal_hcl搭建pppoeserver_14

hcl搭建pppoeserver 搭建portal_hcl搭建pppoeserver_15

新建好portal服务之后还需要设置一下tomcat的模块部署方式。

hcl搭建pppoeserver 搭建portal_tomcat_16

快速入门

首相给出两个例子,一个是最简单的hello world,另一个是增删改查,如果现在还不能理解,没有关系以后的章节会具体讲解。因为这里开发的portlet是符合jsr168、jsr286规范的,所以可以同时在WebSphere Portal、Pluto Portal中运行,但是在开发IDE中由于开发工程需要设定不同的配置,所以还是有些不同的,这里采用的方式是首先在IDE中开发适合WebSphere Portal的工程,通过RAD可以直接部署到WebSphere Portal,如果要部署到Pluto Portal可以通过工程打成war包,然后把war包稍加修改部署到Pluto Portal中。

HelloPortlet
新建Portlet

hcl搭建pppoeserver 搭建portal_Apache_17

hcl搭建pppoeserver 搭建portal_WebSphere_18

hcl搭建pppoeserver 搭建portal_tomcat_19

hcl搭建pppoeserver 搭建portal_WebSphere_20

部署

hcl搭建pppoeserver 搭建portal_Apache_21

hcl搭建pppoeserver 搭建portal_WebSphere_22

CRUDPortlet

Crudportlet主要实现增删改查功能,具体请见代码实现,后续章节会讲解

在Pluto portlet中部署

在Pluto Portal中部署唯一的区别是要在web.xml中添加portlet的定义,比如:

<servlet>
<servlet-name>PG03FirstPortlet</servlet-name>
<servlet-class>org.apache.pluto.container.driver.PortletServlet</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>PG03FirstPortlet</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
<servlet-name>PG03FirstPortlet</servlet-name>
<url-pattern>/PlutoInvoker/PG03FirstPortlet</url-pattern>
</servlet-mapping>

以helloPortlet为例整个过程如下

1. 使用RAD导出war包PG03FirstPortlet.war

2. 修改web.Xml,添加portlet定义

3. 把war包部署在Pluto Portal中,因为Pluto Portal就是tomcat,所以可以直接把PG03FirstPortlet.war拷贝到webapp目录下面。

4. 登陆Pluto Portal,添加测试页面,在测试页面中添加PG03FirstPortlet。

CRUDPortlet部署过程如下

5. 使用RAD导出war包ContactsPortlet.war

6. 修改web.Xml,添加portlet定义,添加数据源定义

7. 在META-INF中添加context.xml

<?xml versinotallow="1.0" encoding="UTF-8"?>
<Context>
<Resource name="jdbc/pdwDS" auth="Container" type="javax.sql.DataSource"
maxActive="50" maxIdle="30" maxWait="10000" logAbandnotallow="true"
username="test" password="test" driverClassName="org.apache.derby.jdbc.ClientDriver"
url="jdbc:derby://localhost:1527/test;create=true"/>
</Context>

8. 把war包部署在Pluto Portal中,因为Pluto Portal就是tomcat,所以可以直接把ContactsPortlet.war拷贝到webapp目录下面。

9. 在pluto-2.0.2\lib中添加jstl、jdbc的jar包。

10. 登陆Pluto Portal,添加测试页面,在测试页面中添加ContactsPortlet

hcl搭建pppoeserver 搭建portal_Apache_23