http://hi.baidu.com/5shuang/blog/item/5f7a9d548a7c74193b2935ea.html
IBM Portal在5版本时安装还可以安装一个调试环境在开发机上用RAD来调试portlet,但是到了V6的时候就没有这个东西了,只能开发机上安装一个portal,资源占用量很大。而我还没有RAD的许可,平时开发都是使用eclipse来完成,所以开始琢磨怎么能在eclipse上开发portlet并且还能debug,最后部署到WebSphere Portal上还能正常用。想来想去,最后想到了我刚刚开始接触portal时用过的jetspeet2,顿时心里有了希望。
JetSpeet是严格遵守JSR168的,并且他本身只是一个web应用,运行在tomcat上,而eclipse对tomcat debug就简单多了,所以只要让我们写的portlet能部署在jetspeet上,就可以实现用eclipse对我们的portlet来debug了。
安装步骤:
1.下载jetspeet2(http://portals.apache.org/jetspeed-2/download.html),推荐选择Jetspeed-2.1.3-demo-installer.jar来安装,这里自带了tomcat。
2.点击下载的jar文件进行安装,安装的时候需要选择jetspeet使用的数据库,我这里使用的是mysql,如果需要使用其他数据库也可以,配置数据库和使用jdbc链接数据库一样,需要填写数据库的链接船、类串等信息。
3.安装完后,启动jetspeet安装包自带的tomcat(startup)。
4.使用http://127.0.0.1:8080看看jetspeet是不是正常启动了?默认用户名admin/admin
开发步骤:
重点啊~~
1.建立一个标准的JSR168(其他的struts portlet等也可以)portlet工程。
2.修改功能的web.xml,加入下面配置:
----------------------------------------------
<servlet>
<servlet-name>JetspeedContainer</servlet-name>
<display-name>Jetspeed Container</display-name>
<description>
MVC Servlet for Jetspeed Portlet Applications
</description>
<servlet-class>
org.apache.jetspeed.container.JetspeedContainerServlet
</servlet-class>
<init-param>
<param-name>contextName</param-name>
<param-value>Consolidation</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JetspeedContainer</servlet-name>
<url-pattern>/container/*</url-pattern>
</servlet-mapping>
----------------------------------------------
3.确保在你的portlet.xml中的标题、显示名等显示汉字的部分都使用资源文件来配置,资源文件中的汉字使用utf-8码(该方法在websphere portal上好用,因为用rad开发的人都知道,rad生成的portlet功能就是这样配置中文名的),例如下面:
----------------------portlet.xml-------------------------
<portlet id="EquipmentMain">
<portlet-name>SBTJ</portlet-name>
<display-name>SBTJ</display-name>
<portlet-class>cn.web.EquipmentMain</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>zh</supported-locale>
<resource-bundle>cn.web.nl.equipmentMain</resource-bundle>
</portlet>
-----------------------------------------------
----------------------equipmentMain_zh.properties-------------------------
javax.portlet.short-title=\u8BBE\u5907\u7EDF\u8BA1
javax.portlet.title=\u8BBE\u5907\u7EDF\u8BA1
javax.portlet.keywords=\u8BBE\u5907\u7EDF\u8BA1
-----------------------------------------------------------------------
----------------------equipmentMain.properties-------------------------
javax.portlet.short-title=SBTJ
javax.portlet.title=SBTJ
javax.portlet.keywords=SBTJ
-----------------------------------------------------------------------
4.将你的web开发插件的server指向jetspeet的安装目录(其实就是一个tomcat目录),我用的是myeclipse,设置如下: 5.然后你就可以像开发普通的web程序一样在jetspeet上面debug调试了~~ 嘿嘿
6.需要部署在websphere portal上时,只要将web.xml中添加的servlet配置删除就可以了。其实在jetspeet上部署一个portlet是不用添加这个servlet配置的,当你部署一个portlet后,jetspeet会自动在你的portlet war中加上这个,对开发人员来说这个是透明的,但是由于我们需要动态的部署我们的portlet,所以手动加上了。通过jetspeet添加的这个servlet,你也可以理解jetspeet的实现原理了,不多说了。
对了,jetspeet页面上添加portlet方法这里就不介绍了,很多资料都有的。
IBM Portal在5版本时安装还可以安装一个调试环境在开发机上用RAD来调试portlet,但是到了V6的时候就没有这个东西了,只能开发机上安装一个portal,资源占用量很大。而我还没有RAD的许可,平时开发都是使用eclipse来完成,所以开始琢磨怎么能在eclipse上开发portlet并且还能debug,最后部署到WebSphere Portal上还能正常用。想来想去,最后想到了我刚刚开始接触portal时用过的jetspeet2,顿时心里有了希望。
JetSpeet是严格遵守JSR168的,并且他本身只是一个web应用,运行在tomcat上,而eclipse对tomcat debug就简单多了,所以只要让我们写的portlet能部署在jetspeet上,就可以实现用eclipse对我们的portlet来debug了。
安装步骤:
1.下载jetspeet2(http://portals.apache.org/jetspeed-2/download.html),推荐选择Jetspeed-2.1.3-demo-installer.jar来安装,这里自带了tomcat。
2.点击下载的jar文件进行安装,安装的时候需要选择jetspeet使用的数据库,我这里使用的是mysql,如果需要使用其他数据库也可以,配置数据库和使用jdbc链接数据库一样,需要填写数据库的链接船、类串等信息。
3.安装完后,启动jetspeet安装包自带的tomcat(startup)。
4.使用http://127.0.0.1:8080看看jetspeet是不是正常启动了?默认用户名admin/admin
开发步骤:
重点啊~~
1.建立一个标准的JSR168(其他的struts portlet等也可以)portlet工程。
2.修改功能的web.xml,加入下面配置:
----------------------------------------------
<servlet>
<servlet-name>JetspeedContainer</servlet-name>
<display-name>Jetspeed Container</display-name>
<description>
MVC Servlet for Jetspeed Portlet Applications
</description>
<servlet-class>
org.apache.jetspeed.container.JetspeedContainerServlet
</servlet-class>
<init-param>
<param-name>contextName</param-name>
<param-value>Consolidation</param-value>
</init-param>
<load-on-startup>100</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JetspeedContainer</servlet-name>
<url-pattern>/container/*</url-pattern>
</servlet-mapping>
----------------------------------------------
3.确保在你的portlet.xml中的标题、显示名等显示汉字的部分都使用资源文件来配置,资源文件中的汉字使用utf-8码(该方法在websphere portal上好用,因为用rad开发的人都知道,rad生成的portlet功能就是这样配置中文名的),例如下面:
----------------------portlet.xml-------------------------
<portlet id="EquipmentMain">
<portlet-name>SBTJ</portlet-name>
<display-name>SBTJ</display-name>
<portlet-class>cn.web.EquipmentMain</portlet-class>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>VIEW</portlet-mode>
</supports>
<supported-locale>zh</supported-locale>
<resource-bundle>cn.web.nl.equipmentMain</resource-bundle>
</portlet>
-----------------------------------------------
----------------------equipmentMain_zh.properties-------------------------
javax.portlet.short-title=\u8BBE\u5907\u7EDF\u8BA1
javax.portlet.title=\u8BBE\u5907\u7EDF\u8BA1
javax.portlet.keywords=\u8BBE\u5907\u7EDF\u8BA1
-----------------------------------------------------------------------
----------------------equipmentMain.properties-------------------------
javax.portlet.short-title=SBTJ
javax.portlet.title=SBTJ
javax.portlet.keywords=SBTJ
-----------------------------------------------------------------------
4.将你的web开发插件的server指向jetspeet的安装目录(其实就是一个tomcat目录),我用的是myeclipse,设置如下: 5.然后你就可以像开发普通的web程序一样在jetspeet上面debug调试了~~ 嘿嘿
6.需要部署在websphere portal上时,只要将web.xml中添加的servlet配置删除就可以了。其实在jetspeet上部署一个portlet是不用添加这个servlet配置的,当你部署一个portlet后,jetspeet会自动在你的portlet war中加上这个,对开发人员来说这个是透明的,但是由于我们需要动态的部署我们的portlet,所以手动加上了。通过jetspeet添加的这个servlet,你也可以理解jetspeet的实现原理了,不多说了。
对了,jetspeet页面上添加portlet方法这里就不介绍了,很多资料都有的。