- 博客分类:
- poratlet
2009年11月28號
發佈時格式繁瑣,請下載word文檔參考指南,帶有詳細圖解以及HelloWorld工程源代碼
First Portal Demo
HelloWorld
1、新建web工程HelloWorldDemo
2、向工程中添加jar包(這裡用的是portlet2.0的jar包)
注意:這裡是引入jar包,也就是說你在發佈這個web工程的時候,portlet相關的jar包是不可以一起發佈的,因為,在tomcat的lib下已經存在了。這裡引入,僅僅是爲了開發而已
3、編寫helloworld類
- package com.myhongkongzhen.portal.demo;
- import java.io.IOException;
- import javax.portlet.GenericPortlet;
- import javax.portlet.PortletException;
- import javax.portlet.RenderRequest;
- import javax.portlet.RenderResponse;
- /*******************************************************************************
- * My First Portal Demo :HelloWorldDemo
- *
- * @author Jane
- *
- */
- public class HelloWorldPortalDemoextends GenericPortlet {
- @Override
- protected void doView(RenderRequest request, RenderResponse response)
- throws PortletException, IOException {
- response.setContentType("text/html");
- getPortletContext().getRequestDispatcher("/jsp/view.jsp").include(
- request, response);
- }
- @Override
- protected void doEdit(RenderRequest request, RenderResponse response)
- throws PortletException, IOException {
- response.setContentType("text/html");
- getPortletContext().getRequestDispatcher("/jsp/edit.jsp").include(
- request, response);
- }
- }
package com.myhongkongzhen.portal.demo;
import java.io.IOException;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
/*******************************************************************************
* My First Portal Demo :HelloWorldDemo
*
* @author Jane
*
*/
public class HelloWorldPortalDemo extends GenericPortlet {
@Override
protected void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
response.setContentType("text/html");
getPortletContext().getRequestDispatcher("/jsp/view.jsp").include(
request, response);
}
@Override
protected void doEdit(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
response.setContentType("text/html");
getPortletContext().getRequestDispatcher("/jsp/edit.jsp").include(
request, response);
}
}
4、編寫portlet.xml配置文件
- <?xml version="1.0"encoding="UTF-8"?>
- <portlet-app
- xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd"
- version="2.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd
- http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd">
- <portlet>
- <description>My First Portal Demo</description>
- <portlet-name>HelloWorldPortalDemo</portlet-name>
- <display-name>HelloWorld Portal Demo</display-name>
- <portlet-class>
- com.myhongkongzhen.portal.demo.HelloWorldPortalDemo
- </portlet-class>
- <expiration-cache>-1</expiration-cache>
- <supports>
- <mime-type>text/html</mime-type>
- <portlet-mode>VIEW</portlet-mode>
- <portlet-mode>EDIT</portlet-mode>
- </supports>
- <portlet-info>
- <title>My First Portal Demo : HelloWorldPortal</title>
- </portlet-info>
- </portlet>
- </portlet-app>
5、修改web.xml文件
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <servlet>
- <servlet-name>HelloWorldPortal</servlet-name>
- <servlet-class>
- org.apache.pluto.container.driver.PortletServlet
- </servlet-class>
- <init-param>
- <param-name>portlet-name</param-name>
- <param-value>HelloWorldPortalDemo</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>HelloWorldPortal</servlet-name>
- <url-pattern>/PlutoInvoker/*</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- </web-app>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>HelloWorldPortal</servlet-name>
<servlet-class>
org.apache.pluto.container.driver.PortletServlet
</servlet-class>
<init-param>
<param-name>portlet-name</param-name>
<param-value>HelloWorldPortalDemo</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorldPortal</servlet-name>
<url-pattern>/PlutoInvoker/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
6、新建jsp頁面(用於Demo類中跳轉的頁面承載)
- <%@ page language="java"import="java.util.*" pageEncoding="UTF-8"%>
- <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
- <portlet:defineObjects />
- Edit Demo
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
<portlet:defineObjects />
Edit Demo
- <%@ page language="java"import="java.util.*" pageEncoding="UTF-8"%>
- <%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
- <portlet:defineObjects />
- View Demo
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet"%>
<portlet:defineObjects />
View Demo
7、進入tomcat主目錄(其實這一步就是把這個helloworld的web工程發佈到tomcat中)
在webapps文件夾下新建文件夾HelloWorldPortalDemo
8、將剛才新建的工程WebRoot文件夾下的內容拷貝此文件夾下
9、啟動tomcat,看看結果如何。。。
登錄后進入到Pluto Admin標籤
選擇portal pages第一行
新建一個頁面
Add Page
在Portlet Applications處的下拉列表中,可以看到你自己寫的portlet工程,這就說明你的工程寫的正確了。如果看不到,則說明,你的工程存在錯誤,有一丁點的錯誤,pluto都不會自己加載到的
單擊add Portlet
點擊到HelloWorldDemo標籤頁面
看看是不是有東西了??
這就說明:你的Helloworld Portal Demo成功了。。。恭喜恭喜啊。。。
注意:edit和view視圖。。。
這就是portlet的作用了。。。
原工程代码放到资源里了。