portlet初学习及HelloWorld例子

1. 在myeclipse中新建一个web project,在src中新建如下类:

Java代码  

  1. package com.yoyo.portlet;
  2. import java.io.IOException;
  3. import javax.portlet.GenericPortlet;
  4. import javax.portlet.PortletException;
  5. import javax.portlet.PortletRequestDispatcher;
  6. import javax.portlet.RenderRequest;
  7. import javax.portlet.RenderResponse;
  8. public class TestPortlet extends GenericPortlet
  9. {
  10. public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException
  11. {
  12. response.setContentType("text/html");
  13. PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/index.jsp");
  14. rd.include(request, response);
  15. }
  16. public void doEdit(RenderRequest request, RenderResponse response) throws PortletException, IOException
  17. {
  18. response.setContentType("text/html");
  19. String jspName = getPortletConfig().getInitParameter("jspEdit");
  20. PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher(
  21. jspName);
  22. rd.include(request, response);
  23. }
  24. }

2. 在WebRoot/WEB-INF下面新建一个portlet.xml的文件,里面内容如下:

Xml代码  

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd"
  3. version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd
  5. http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
  6. <portlet>
  7. <description>Test the portlet</description>
  8. <portlet-name>hello</portlet-name>
  9. <display-name>test portlet</display-name>
  10. <portlet-class>com.yoyo.portlet.TestPortlet</portlet-class>
  11. <expiration-cache>-1</expiration-cache>
  12. <supports>
  13. <mime-type>text/html</mime-type>
  14. <portlet-mode>VIEW</portlet-mode>
  15. <portlet-mode>EDIT</portlet-mode>
  16. </supports>
  17. <supported-locale>en</supported-locale>
  18. <portlet-info>
  19. <title>TEst the portlet</title>
  20. <short-title>test</short-title>
  21. <keywords>test,portlet</keywords>
  22. </portlet-info>
  23. </portlet>
  24. </portlet-app>

3. 修改WebRoot/WEB-INF下面的web.xml文件,内容如下:

Xml代码  

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.4"
  3. xmlns="http://java.sun.com/xml/ns/j2ee"
  4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  5. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
  6. http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  7. <servlet>
  8. <servlet-name>test</servlet-name>
  9. <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
  10. <init-param>
  11. <param-name>portlet-name</param-name>
  12. <param-value>hello</param-value>
  13. </init-param>
  14. <load-on-startup>1</load-on-startup>
  15. </servlet>
  16. <!-- 下面的<servlet-name>test</servlet-name>中的test和上面的<servlet></servlet>中<servlet-name></servlet-name>的名字对应 -->
  17. <!-- 下面的<url-pattern>/PlutoInvoker/hello</url-pattern>中的hello则与portlet.xml中<portlet></portlet>中<portlet-name></portlet-name>的名字对应-->
  18. <servlet-mapping>
  19. <servlet-name>test</servlet-name>
  20. <url-pattern>/PlutoInvoker/hello</url-pattern>
  21. </servlet-mapping>
  22. <welcome-file-list>
  23. <welcome-file>index.jsp</welcome-file>
  24. </welcome-file-list>
  25. </web-app>

4. 将tomcat/shared/lib下面的jar包引到项目中来(我的里面已经放好了,是做其他项目用的到的,在这个中可能有些jar包不需要),这些jar包如下:castor-1.1.1.jar,commons-codec-1.3.jar,commons-httpclient-3.0.1.jar,commons-logging.jar,log4j-1.2.11.jar,pluto-container-1.1.6.jar,pluto-descriptor-api-1.1.6.jar,pluto-descriptor-impl-1.1.6.jar,pluto-taglib-1.1.6.jar,portlet-api-1.0.jar,simpleAuthClient.jar,xpp3_min-1.1.4c.jar,xstream-1.3.jar。

经过以上步骤,一个简单的portlet就建好了。下载pluto-current-bundle包,解压后启动bin目录下的startup.bat,打开http://localhost:8080/pluto/portal,登陆进去后,选择上面的Pluto Admin,新建一个页面,并在下面选择自己的portlet项目,这样就可以查看效果了。

时间: 2024-10-09 18:20:47

portlet初学习及HelloWorld例子的相关文章

Win7 Eclipse 搭建spark java1.8环境:WordCount helloworld例子

[学习笔记] Win7 Eclipse 搭建spark java1.8环境:WordCount helloworld例子在eclipse oxygen上创建一个普通的java项目,然后把spark-assembly-1.6.1-hadoop2.6.0.jar这个包导进工程就ok了.只要启动start-dfs,下面的程序就可以运行了. package com;import java.util.Arrays;import java.util.List;import org.apache.spark.

storm记录--5-- Storm学习的HelloWorld

Storm学习的HelloWorld 1.下载Storm-start(https://github.com/nathanmarz/storm-starter/archive/master.zip) 2.进入下载目录,对zip文件解压 3.进入解压后的文件目录,修改m2-pom.xml(将twitter4j-core和twitter4j-stream替换为下面的部分) <dependency> <groupId>org.twitter4j</groupId> <ar

AspectJ基础学习之三HelloWorld(转载)

AspectJ基础学习之三HelloWorld(转载) 一.创建项目 我们将project命名为:aspectjDemo.然后我们新建2个package:com.aspectj.demo.aspect 和 com.aspectj.demo.test 前者用来方apsect.后者用来放测试类.如果你仔细的话,你会发现Aspectj的项目上面有个AJ的标志. 二.创建Aspect 首先我们创建HelloWorld.java.他包含main()方法,但是没有方法体,代码如下: [java] view

mjson学习的简单例子分享

01#include <mjson/json.h>02#include <stdio.h>03#include <stdlib.h>04int main()05{06    json_t *entry, *root, *head, *body, *label, *value;07    char *document;08    root = json_new_object();09     10    /*--------Head------*/11 12    hea

菜菜鸟Zend Framework 2 不完全学习涂鸦(三)-- 例子功能设置

菜菜鸟Zend Framework 2 不完全学习涂鸦(三)-- 例子功能设置 这是涂鸦的第三篇,主要介绍一下ZF官网教程中所涉及的一些数据库方面的设置. 官网的教程时构建一个唱片的目录系统,包括唱片列表,增,删,改唱片信息. 注意:在开始教程之前,请确认: 1.是否已经打开了mod_rewrite功能 2.是否已经支持了 .htaccess 否则您除了访问首页之外将不能访问任何页面 一.系统功能设置 页面名称 页面功能说明 唱片列表(List of albums) 显示已有的所有唱片列表,同时

pyqt ColumnView, QFileSystemModel, QSplitter, QTreeView例子学习(由官方例子提供学习)

from PyQt4.QtGui import (QApplication, QColumnView, QFileSystemModel, QSplitter, QTreeView) #注意 """ QColumnView类提供了一个模型/视图列视图的实现,继承QAbstractItemView 提供了一个本地文件系统的数据模型,继承QAbstractItemModel 实现了一个分流器小部件,继承qframe 提供了一个默认的模型/视图树视图的实现,继承QAbstractI

Android初体验之helloWorld

Android初体验之helloWorld笔记: 最终效果图: 源码下载:http://pan.baidu.com/s/1qW2VK3E 视频笔记:http://pan.baidu.com/s/1kTFXm31 apk下载:http://pan.baidu.com/s/1kTJuZaR 以上全部下载:http://pan.baidu.com/s/150k9o

Zookeeper入门-Java版本HelloWorld例子

上一篇介绍了,Zookeeper的基本概念,怎么启动,怎么解决可能遇到的几个问题.本篇,根据网上代码,整理了一个例子,Zookeeper的HelloWorld. 下面这个代码,还是比较简单的,核心类就是org.apache.zookeeper.ZooKeeper. 我比较喜欢这种"框架",把最核心的服务,就用少数的几个类或者接口,供开发者使用.开发者,不用知道那么多代码和细节.这也提示我们,写代码的时候,把对外服务和对内实现,分开,设计好. package cn.fansunion.z

从零开始学习C#——HelloWorld(一)

从零开始学习C# 老规矩Hello World 您的第一个程序 visual studio 如何使用就不说了 //编程的开始,Hello World! program in C# using System; namespace HelloWorld { class Hello { static void Main() { System.Console.WriteLine("Hello World!");//编程人生就是从这里开始的 System.Console.ReadKey();//