anchor.diff:  [[portlet-introduction]]
   == Introduction
   
  -.JSR-168 The Java Portlet Specification
  +.JSR-286 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.
  +For more general information about portlet development, please review the
  +https://jcp.org/en/jsr/detail?id=286[JSR-286 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
  +supports JSR-286 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.
  
positive.code: For more information about SWF, consult the Spring Web Flow website.
  ****
  
  The dual phases of portlet requests are one of the real strengths of the JSR-168
  specification. For example, dynamic search results can be updated routinely on the
  display without the user explicitly rerunning the search. Most other portlet MVC
  frameworks attempt to completely hide the two phases from the developer and make it look
  
negative.code: [[portlet-deployment]]
  == Portlet application deployment
  The process of deploying a Spring Portlet MVC application is no different than deploying
  any JSR-286 Portlet application. However, this area is confusing enough in general that
  it is worth talking about here briefly.
  
  Generally, the portal/portlet container runs in one webapp in your servlet container and
  