anchor.diff:  [NOTE]
   ====
   Bear in mind that while the concepts of Spring MVC are the same in Spring Portlet MVC,
  -there are some notable differences created by the unique workflow of JSR-168 portlets.
  +there are some notable differences created by the unique workflow of JSR-286 portlets.
   ====
   
   The main way in which portlet workflow differs from servlet workflow is that the request
  
positive.code: [[portlet-introduction]]
  == Introduction
  
  .JSR-168 The Java Portlet Specification
  ****
  For more general information about portlet development, please review a whitepaper from
  Oracle entitled
  http://www.oracle.com/technetwork/java/index-raji-test-141933.html["Introduction
  to JSR 168"], and of course the
  http://jcp.org/aboutJava/communityprocess/final/jsr168/[JSR-168 Specification] itself.
  ****
  
  In addition to supporting conventional (servlet-based) Web development, Spring also
  supports JSR-168 Portlet development. As much as possible, the Portlet MVC framework is
  a mirror image of the Web MVC framework, and also uses the same underlying view
  abstractions and integration technology. So, be sure to review the chapters entitled
  <<mvc>> and <<view>> before continuing with this chapter.
  
negative.code: ----
  
  This can be very valuable since you can then use interceptors to pre-process and
  post-process requests going to these portlets. Since JSR-286 does not support any kind
  of filter mechanism, this is quite handy. For example, this can be used to wrap the
  Hibernate `OpenSessionInViewInterceptor` around a MyFaces JSF Portlet.
  
  