Spring Protlet MVC研究报告
关键词:
Portal Server , portlet , JSR-168规范
1. 关于Portal Server与portlet:
Portal的概念是基于Web的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能。
Portal服务器是容纳Portlet容器,支持Portlet呈现的普通或者特殊Web服务器。
Portal服务器优点:提供个性化设置、单点登录、内容聚合、信息发布、权限管理等功能,支持各种信息数据来源,并将这些数据信息放在网页中组合而成,提供个性化的内容定制,不同权限的浏览者能够浏览不同的信息内容等。
在Portal概念提出后,许多大公司都推出了各自的Portal Server:
BEA. WebLogic Portal 8.1 SP4: IBM WebSphere Portal 5.1: SunOne Portal 2005Q1等。而且每一个大公司都有各自的标准。
Portlet在Sun公司未推出标准前,各家公司的标准都不兼容,于是,类似JavaTM Servlet 2.4 Specification (JSR154)标准。 SUN推出了两个关于Portlets标准。
a) Java Portlet Specification 1.0 (JSR168), 2003年10月27日
b) Web Services for Remote Portlets 1.0, 2003年9月3日
节选自: Java Portlet Specification 1.0 (JSR168)
Portlets are web components -like Servlets- specifically designed to be aggregated in the context of a composite page.
Usually, many Portlets are invoked to in the single request of a Portal page. Each Portlet produces a fragment of markup that it s combined with the markup of other Portlets, all within the Portal page markup
其他免费Java 的portal Server: JBoss Portal 2.0, Apache Jetspeed 2, Apache Pluto 1.0.1
2. 现有Portal Server比较
a) JAVA Protal Server
a.1 Apache Pluto 1.0.1
以下是Spring Portlet Support下的pluto-spring-portlet-sample.zip 运行在Pluto后的效果:
b) MicroSoft Protal Server
b.1 Sharepoint Protal Server 2003/2005
总结: MS的protal概念与SUN提出的protal概念需要用意一样都为了整合Web应用,但没有统
一的标准。
两者开发出来的应用不能由各自的Protal Server互相运行。
3. 问题
a) 需要用Spring protlet MVC 需要一个Protal Server ,需要确定选用哪个Protal Server
b) 选用Protal Server的原因,是因为要和.net开发的protlet应用集成?还是打算和以后的java开发的prolet应用集成?
前者未经过测试,成功岸例也不多。后者因为有JSR168规范,所有support此规范的Protal Server都应该支持。
4. Spring protlet MVC 与 Spring Web MVC
The Spring Portlet MVC project provides a complete MVC layer for the JSR-168 Portlet API in the same way that Spring Web MVC does for the Servlet API.
换句话说:
Spring Web MVC 的项目 在 Web Server上运行。
Spring protlet MVC 的项目 在 Protal Server上运行。
问题:
Spring Web MVC写好的项目,经过a few改动(改继承类和protlet.xml,和Spring-Applicationcontext.xml)就可以发布在Java Protal server上。