Portlet开发例子HelloWorld
下面的例子基本参照http://jim19770812.blogspot.com/2008/08/eclipsepluto-116portlet.html上写的。首先,安装portlet容器Pluto。到http://apache.mirror.phpchina.com/portals/pluto/上下载。pluto-1.1.6-bundle.zip是一个已经绑定到tomcat5.5.
·
下面的例子基本参照http://jim19770812.blogspot.com/2008/08/eclipsepluto-116portlet.html上写的。
首先,安装portlet容器Pluto。
到http://apache.mirror.phpchina.com/portals/pluto/上下载。pluto-1.1.6-bundle.zip是一个已经绑定到tomcat5.5.2中的pluto,直接解压,即可使用。
启动tomcat后打开浏览器,访问http://localhost:8080/pluto就可以打开pluto了,用户名口令是pluto/pluto。
然后,开发一个输出HelloWorld字的porlet页面。
首先,编写一个实现GenericPortlet的类,重写doview方法。
package com.demo; import java.io.IOException; import javax.portlet.GenericPortlet; import javax.portlet.PortletException; import javax.portlet.RenderRequest; import javax.portlet.RenderResponse; public class Helloworld extends GenericPortlet { @Override protected void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { response.setContentType("text/html"); response.getWriter().println("hello world"); } } 然后,配置portlet.xml和web.xml两份文件 portlet.xml <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <portlet-app version="1.0" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"> <portlet> <!--portlet的名字--> <portlet-name>hello1</portlet-name> <portlet-class>com.demo.Helloworld</portlet-class> <expiration-cache>0</expiration-cache> <supports> <!--portlet的三种模式,其中view模式是必须有的,其余两种可选--> <mime-type>text/html</mime-type> <portlet-mode>view</portlet-mode> <portlet-mode>help</portlet-mode> </supports> <portlet-info> <title>你好,Portlet</title> <short-title>你好</short-title> </portlet-info> </portlet> </portlet-app> web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <servlet> <servlet-name>hello1</servlet-name> <!--这个Servlet是用来与Pluto通讯用的,pluto通过该servlet来知道某个context是个portlet,如果没有这个servlet,portlet就没法自动注册到pluto中--> <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class> <init-param> <!--portlet的名字必须和portlet.xml中portlet的名字一致--> <param-name>portlet-name</param-name> <param-value>hello1</param-value> </init-param> <init-param> <!--唯一标识,每个portlet的标识应该都不同--> <param-name>portlet-guid</param-name> <param-value>demo.hello1</param-value> </init-param> <init-param> <!--这个参数是告诉pluto,portlet名字所对应的类是什么--> <param-name>portlet-class</param-name> <param-value>com.demo.Helloworld</param-value> </init-param> <init-param> <!--这个参数的作用是在PortletServlet执行init方法时,根据charset参数获取字符集,然后在执行响应时调用response.setContentType来设置编码--> <param-name>charset</param-name> <param-value>utf-8</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hello1</servlet-name> <!--映射模板必须以/PlutoInvoker开头,否则pluto识别不出来--> <url-pattern>/PlutoInvoker/hello1</url-pattern> </servlet-mapping> </web-app> 布署 -WEB-INF |-classes |-com |-demo |-Helloworld.class |-lib |-portlet.xml |-web.xm 最后,启动pluto 切换到pluto admin页面,这里是专门管理和部署portlet的。 网上很多文章都说需要手工修改pluto/WEB-INF/下的三个文件来部署portlet,估计那是低版本的portlet才这么干,pluto 1.1.6提供了很好的图形化界面可以实现部署的功能。 首先,要新增一个名叫test的标签页 在输入框里输入test,然后点击add page按钮,test标签页就出现了,如下图所示 下面的Portlet Applications可以向页面上添加portlet,由于先前已经在web.xml 中声明了一个hello1的servlet,并且相应参数都设置正确,所以现在在下拉框里可以选择hello1这个portlet了。如下图所示 点击添加portlet,这个portlet就添加到test标签页了。 切换到test标签页就可以看到helloword-portlet所显示的内容了,如下所示:
更多推荐
已为社区贡献1条内容
所有评论(0)