JetSpeed2技术资料目录JETSPEED2.0概述.......................................................................................................................2JETSPEED-2工作流程.................................................................................................................6JETSPEED-2安全机制..................................................................................................................9JETSPEED-2的PORTALBRIDGE..........................................................................................111集成STRUTSMVC模式开发的应用程序.............................................................................112集成WEBWORK开发的应用程序.........................................................................................143JSP应用程序集成...................................................................................................................143集成PERL应用程序.............................................................................................................154集成PHP应用程序................................................................................................................16相关技术介绍和规范.....................................................................................................................16WSRP..........................................................................................................................................16PORTLET容器.............................................................................................................................17PORTLET......................................................................................................................................18PORTLETPREFERENCES...............................................................................................................20JSR168规范...............................................................................................................................20PSML..........................................................................................................................................21LAYOUT........................................................................................................................................22DECORATION................................................................................................................................22AGGREGATOR..............................................................................................................................23PLUTO............................................................................................................................................25EXO.............................................................................................................................................25LIFERAY.......................................................................................................................................26JPORTAL.......................................................................................................................................27JETSPEED-2相关资源链接...........................................................................................................272JetSpeed2.0概述Jetspeed2.0最终release版本发布于2005年12月,可以从以下网址下载源代码和捆绑tomcat的压缩文件:。与Jetspeed1.x比较,Jetspeed2.0(以下简称J2)的架构发生了很大变化,J1.x使用了Turbine,在J2中Turbine不再使用,而是使用了SpringFramework作为默认的组件框架,从官方的资料介绍看,J2架构支持将一种组件架构替换为别的组建架构如Pico,Spring仅仅是J2默认的ComponentFramework,从本节下文的叙述中可以看到替换的方式。Jetspeed-2使用pluto作为Portlet容器。Jetspeed-2组件框架(ComponentFramework)的装配是通过JetspeedServlet(org.apache.jetspeed.engine.JetspeedServlet)进行配置和实现的,见下图:JetspeedServlet在web.xml中配置,门户应用启动时即执行JetspeedServlet。JetspeedServlet中initializeComponentManager方法为给定的组件框架装载assemply(见WEB-INF/assembly),initializeComponentManager将springframework作为默认的组件框架。3并装配WEB-INF/assembly下的xml文件来初始化spring引擎。然后组件框架来创建JetspeedEngin:engine=newJetspeedEngine(properties,applicationRoot,config,initializeComponentManager(config,applicationRoot,properties));下面是initializeComponentManager方法的代码:protectedComponentManagerinitializeComponentManager(ServletConfigservletConfig,StringappRoot,Configurationconfiguration)throwsIOException{ServletConfigFactoryBean.setServletConfig(servletConfig);//StringrelativeApplicationRoot=getRealPath(/);StringrelativeApplicationRoot=appRoot;StringabsApplicationRoot=newFile(relativeApplicationRoot).getCanonicalPath();finalStringassemblyDir=configuration.getString(assembly.dir,/WEB-INF/assembly);finalStringassemblyFileExtension=configuration.getString(assembly.extension,.xml);String[]bootConfigs=newString[]{/WEB-INF/assembly/boot/*.xml};String[]appConfigs=newString[]{assemblyDir+/*+assemblyFileExtension};ServletContextservletContext=servletConfig.getServletContext();SpringComponentManagercm=newSpringComponentManager(bootConfigs,appConfigs,servletContext,appRoot);returncm;}如果我们需要用别的组件框架替代Springframework,就要覆盖initializeComponentManager方法,就是指用别的ComponentManager替代SpringComponentManager。下面是Compomen