三、 开发环境搭建
本文涉及两套开发环境,一个是商业上最成功的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基本上没啥区别。
配置首选项
1. 去掉验证
2. 文本文件编码
文本文件编码一律统一使用UTF-8格式
CSS、HTML、JSP也使用UTF-8格式
3. 缺省包
缺省包使用 :com.portalguide
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" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
解决中文乱码问题
7. 通过tomcat/tomcat登陆
配置RAD
配置首选项的设置于IBM WebSphere Portal环境是一样的,主要区别是新建server,Pluto使用的server就是Apache Tomcat Version 6.0.26,所以这里我新建的server使用tomcat6
新建好portal服务之后还需要设置一下tomcat的模块部署方式。
快速入门
首相给出两个例子,一个是最简单的hello world,另一个是增删改查,如果现在还不能理解,没有关系以后的章节会具体讲解。因为这里开发的portlet是符合jsr168、jsr286规范的,所以可以同时在WebSphere Portal、Pluto Portal中运行,但是在开发IDE中由于开发工程需要设定不同的配置,所以还是有些不同的,这里采用的方式是首先在IDE中开发适合WebSphere Portal的工程,通过RAD可以直接部署到WebSphere Portal,如果要部署到Pluto Portal可以通过工程打成war包,然后把war包稍加修改部署到Pluto Portal中。
HelloPortlet
新建Portlet
部署
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 version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/pdwDS" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" logAbandoned="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