Going Stateless with JSF 2.2? - No Fluff Just Stuff

Going Stateless with JSF 2.2?

Posted by: Reza Rahman on May 15, 2014

One of the things that makes JSF different from other approaches to server-side Java web development is that it offers a much higher level of abstraction and transparently maintains UI state. While this is valuable is making web development feel like more traditional pure MVC UI development (think Swing, AWT or JavaFX), maintaining UI state is not always necessary. In fact, having a stateless view can be a valuable optimization technique as long as you design for it and can afford to do it. In recognition to this fact, JSF 2.2 allows a view to be marked stateless. Ed Burns discussed this feature towards the beginning of his JavaOne 2013 talk titled JSF 2.2 New Features in Context (see embedded video below):

Beyond the video, Thomas Asel provides a detailed explanation of the feature and it's motivation. It's definitely worth a read if you are a JSF user. The entry also references a number of useful resources on the feature.

Reza Rahman

About Reza Rahman

Reza is a recovering independent consultant and now Java EE evangelist at Oracle. He is the author of the popular book EJB 3 in Action. Reza is a frequent speaker at developer gatherings worldwide including JavaOne and NFJS. He is an avid contributor to community sites like JavaLobby and TSS. Reza has been a member of the Java EE, EJB and JMS expert groups. He implemented the EJB container for the Resin open source Java EE application server.

All views voiced are squarely mine alone, not Oracle's.

Why Attend the NFJS Tour?

  • » Cutting-Edge Technologies
  • » Agile Practices
  • » Peer Exchange

Current Topics:

  • Languages on the JVM: Scala, Groovy, Clojure
  • Enterprise Java
  • Core Java, Java 8
  • Agility
  • Testing: Geb, Spock, Easyb
  • REST
  • NoSQL: MongoDB, Cassandra
  • Hadoop
  • Spring 4
  • Cloud
  • Automation Tools: Gradle, Git, Jenkins, Sonar
  • HTML5, CSS3, AngularJS, jQuery, Usability
  • Mobile Apps - iPhone and Android
  • More...
Learn More »