📄 portlet.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!--NewPage--><HTML><HEAD><!-- Generated by javadoc (build 1.4.2) on Wed Jul 19 18:22:43 EDT 2006 --><TITLE>Portlet (IBM WebSphere Portal Version 6.0.0.0 API Docs)</TITLE><META NAME="keywords" CONTENT="org.apache.jetspeed.portlet.Portlet class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){ parent.document.title="Portlet (IBM WebSphere Portal Version 6.0.0.0 API Docs)";}</SCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= START OF TOP NAVBAR ======= --><A NAME="navbar_top"><!-- --></A><A HREF="#skip-navbar_top" title="Skip navigation links"></A><TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY=""><TR><TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1"><A NAME="navbar_top_firstrow"><!-- --></A><TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY=""> <TR ALIGN="center" VALIGN="top"> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD> <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <A HREF="#main"><FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../serialized-form.html"><FONT CLASS="NavBarFont1"><B>Serialized</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD> <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD> </TR></TABLE></TD><TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM></EM></TD></TR><TR><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../org/apache/jetspeed/portlet/DefaultPortletAction.html" title="class in org.apache.jetspeed.portlet"><B>PREV CLASS</B></A> <A HREF="../../../../org/apache/jetspeed/portlet/Portlet.Mode.html" title="class in org.apache.jetspeed.portlet"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2"> <A HREF="../../../../index.html" target="_top"><B>FRAMES</B></A> <A HREF="Portlet.html" target="_top"><B>NO FRAMES</B></A> <SCRIPT type="text/javascript"> <!-- if(window==top) { document.writeln('<A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A>'); } //--></SCRIPT><NOSCRIPT> <A HREF="../../../../allclasses-noframe.html"><B>All Classes</B></A></NOSCRIPT></FONT></TD></TR><TR><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2"> SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | FIELD | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD><TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">DETAIL: FIELD | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD></TR></TABLE><A NAME="skip-navbar_top"></A><!-- ========= END OF TOP NAVBAR ========= --><HR><A NAME="main"></A><!-- ======== START OF CLASS DATA ======== --><H2><FONT SIZE="-1">org.apache.jetspeed.portlet</FONT><BR>Class Portlet</H2><PRE>java.lang.Object <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">javax.servlet.GenericServlet <IMG SRC="../../../../resources/inherit.gif" ALT="extended by">javax.servlet.http.HttpServlet <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../com/ibm/wps/pe/pc/legacy/cache/CacheablePortlet.html" title="class in com.ibm.wps.pe.pc.legacy.cache">com.ibm.wps.pe.pc.legacy.cache.CacheablePortlet</A> <IMG SRC="../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.jetspeed.portlet.Portlet</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD>com.ibm.websphere.servlet.cache.CacheableServlet, <A HREF="../../../../org/apache/jetspeed/portlet/PortletSessionListener.html" title="interface in org.apache.jetspeed.portlet">PortletSessionListener</A>, java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig</DD></DL><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../../org/apache/jetspeed/portlet/PortletAdapter.html" title="class in org.apache.jetspeed.portlet">PortletAdapter</A></DD></DL><HR><B>Deprecated.</B> <I>since 6.0. Support of the IBM portlet API may be removed in a future release of WebSphere Portal. Use of the Java Portlet API (javax.portlet) is recommended instead.</I><P><DL><DT>public abstract class <B>Portlet</B><DT>extends <A HREF="../../../../com/ibm/wps/pe/pc/legacy/cache/CacheablePortlet.html" title="class in com.ibm.wps.pe.pc.legacy.cache">CacheablePortlet</A><DT>implements <A HREF="../../../../org/apache/jetspeed/portlet/PortletSessionListener.html" title="interface in org.apache.jetspeed.portlet">PortletSessionListener</A></DL><P>The abstract <CODE>Portlet</CODE> is used by the portlet container to invoke the portlet. Every portlet has to implement this abstract class, either by deriving directly from it, or by using one of the abstract portlet implementations. <P> A portlet is a small Java program that runs within a portlet container. Portlets receive and respond to requests from the portlet container. There is ever only one portlet object instance per portlet configuration in the web deployment descriptor. There may be many <CODE>PortletSettings</CODE> objects parametersing the same portlet object according to the Flyweight pattern, provided on a per-request basis. A concrete parameterization of a portlet object is referred to as a <I>concrete portlet</I>. The settings of <I>concrete portlets</I> may change at any time caused by administrators modifying portlet settings, e.g. using the config mode of a portlet. <P> Additionally, user can have personal views of <I>concrete portlets</I>. Therefore, the transient portlet session and persistent concrete portlet data carries vital information for the portlet to create a personalized user experience. A <I>concrete portlet</I> in conjunction with portlet data creates a <I>concrete portlet instance</I>. This is similar to why a servlet may not store things depending on requests or sessions in instance variables. As a consequence, the portlet should not attempt to store any data that depends on portlet settings, portlet data or the portlet session or any other user-related information as instance or class variables. The general programming rules for servlets also apply to portlets - instance variables should only used when the intent is to share them between all the parallel threads that concurrently execute a portlet, and portlet code should avoid synchronization unless absolutely required. <P> As part of running within the portlet container each portlet has a life-cycle. The corresponding methods are called in the following sequence: <OL> <LI>The portlet is constructed, then initialized with the <CODE>init()</CODE> method. <LI>A <I>concrete portlet</I> s initialized with the <CODE>initConcrete()</CODE> method for each PortletSettings. <LI>Any calls from the portlet container to the <CODE>service()</CODE> method are handled. <LI>The <I>concrete portlet</I> is taken out of service with the <CODE>destroyConcrete()</CODE> method. <LI>The portlet is taken out of service, then destroyed with the <CODE>destroy()</CODE> method, then garbage collected and finalized. </OL> <P> The <I>concrete portlet instance</I> is created and destroyed with the <CODE>login()</CODE> and <CODE>logout()</CODE> methods, respectively. If a portlet provides personalized views these methods should be implemented. <P> The portlet container loads and instantiates the portlet class. This can happen during startup of the portal server or later, but no later then when the first request to the portlet has to be serviced. Also, if a portlet is taken out of service temporarily, for example while administrating it, the portlet container may finish the life-cycle before taking the portlet out of service. When the administration is done, the portlet will be newly initialized. <P> Note on serialization: The <CODE>Portlet</CODE> class and all subclasses are <B>not</B> serializable. The <CODE>Portlet</CODE> class indirectly extends the <CODE>javax.servlet.http.HttpServlet</CODE> class and therefore inherits the <CODE>Serializable</CODE> interface from this class. All portlets therefore implement the <CODE>Serializable</CODE> interface, but <B>nevertheless they must not be serialized</B>. Attempting to serialize or deserialize a portlet will result in an <CODE>UnsupportedOperationException</CODE>. <P> Serialization cannot be supported because the lifecycle of a portlet is managed by the portal. A portlet that is deserialized again is not under the control of the portal and therefore its runtime properties are in an undefined state, so it is not possible to access the portlet.<P><P><DL><DT><B>Since:</B></DT> <DD>4.1</DD><DT><B>See Also:</B><DD><A HREF="../../../../serialized-form.html#org.apache.jetspeed.portlet.Portlet">Serialized Form</A></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><A NAME="nested_class_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN=2><FONT SIZE="+2"><B>Nested Class Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static class</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/jetspeed/portlet/Portlet.Mode.html" title="class in org.apache.jetspeed.portlet">Portlet.Mode</A></B></CODE><BR> <B>Deprecated.</B> The <CODE>Mode</CODE> class is a finite enumeration of the possible modes that a portlet can assume.</TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>static class</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/jetspeed/portlet/Portlet.ModeModifier.html" title="class in org.apache.jetspeed.portlet">Portlet.ModeModifier</A></B></CODE><BR> <B>Deprecated.</B> The <CODE>ModeModifier</CODE> class is a finite enumeration of the possible modifications a portlet can apply on modes.</TD></TR></TABLE> <!-- =========== FIELD SUMMARY =========== --><!-- ======== CONSTRUCTOR SUMMARY ======== --><A NAME="constructor_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN=2><FONT SIZE="+2"><B>Constructor Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD><CODE><B><A HREF="../../../../org/apache/jetspeed/portlet/Portlet.html#Portlet()">Portlet</A></B>()</CODE><BR> <B>Deprecated.</B> </TD></TR></TABLE> <!-- ========== METHOD SUMMARY =========== --><A NAME="method_summary"><!-- --></A><TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY=""><TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor"><TH ALIGN="left" COLSPAN=2><FONT SIZE="+2"><B>Method Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE> void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/jetspeed/portlet/Portlet.html#destroy()">destroy</A></B>()</CODE><BR> <B>Deprecated.</B> </TD></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>abstract void</CODE></FONT></TD><TD><CODE><B><A HREF="../../../../org/apache/jetspeed/portlet/Portlet.html#destroy(org.apache.jetspeed.portlet.PortletConfig)">destroy</A></B>(<A HREF="../../../../org/apache/jetspeed/portlet/PortletConfig.html" title="interface in org.apache.jetspeed.portlet">PortletConfig</A> config)</CODE><BR> <B>Deprecated.</B> Called by the portlet container to indicate to this portlet that it is taken out of service.</TD></TR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -