PortletContext 接口提供了一大堆方法用于访问Portlet的环境,包括Portlet应用和Portlet容器。这里,Portlet应用本质上是一个web应用,所以它委托servlet容器帮它所有的组件
- public abstract interface PortletContext
- {
- public abstract String getServerInfo();
- public abstract PortletRequestDispatcher getRequestDispatcher(String paramString);
- public abstract PortletRequestDispatcher getNamedDispatcher(String paramString);
- public abstract InputStream getResourceAsStream(String paramString);
- public abstract int getMajorVersion();
- public abstract int getMinorVersion();
- //根据文件名获取这个文件名对应的文件的MIME类型
- public abstract String getMimeType(String paramString);
- public abstract String getRealPath(String paramString);
- public abstract Set<String> getResourcePaths(String paramString);
- public abstract URL getResource(String paramString)
- throws MalformedURLException;
- public abstract Object getAttribute(String paramString);
- public abstract Enumeration<String> getAttributeNames();
- //这些参数配置在web.xml中的<context-param>中,并且一个Portlet应用中的所有Portlet都可以share
- 、//但是在portlet.xml中的<init-param>,则只有对应的某个Portlet可以用。
- public abstract String getInitParameter(String paramString);
- public abstract Enumeration<String> getInitParameterNames();
- public abstract void log(String paramString);
- public abstract void log(String paramString, Throwable paramThrowable);
- //这几个用于添加/删除portletContext上的属性,这些属性只要在这个Portlet应用里面的任何资源(servlet,jsp,class都可以用)
- public abstract void removeAttribute(String paramString);
- public abstract void setAttribute(String paramString, Object paramObject);
- public abstract String getPortletContextName();
-
//这些运行时选项是Portlet容器相关的选项,他们的值也配置在portlet.xml中 - //比如:
<container-runtime-option> <name>com.ibm.portal.public.session</name> <value>true</value> </container-runtime-option>
- public abstract Enumeration<String> getContainerRuntimeOptions();
- }
PortletContext 和 ServletContext
这两个作用域上的所有变量都是相互可见的,并且这些变量都适用于ServletContext的几个监听器方法:
ServletContextListener
ServletContextAttributeListener
他们彼此也是“唇亡齿寒”的关系,一个被servlet容器摧毁,则另外一个也被portlet容器摧毁
本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/843974,如需转载请自行联系原作者