O'Reilly logo

JavaServer Faces by Hans Bergsten

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Dealing with Struts Applications and JSF

The Apache Struts framework is probably the web application framework most widely used today; many people wonder how JSF and Struts fit together, or if JSF in fact replaces Struts. I like to look at it from two different angels: how JSF may be used for existing Struts applications and which technologies to pick for a new project.

Before we look at the different options, a brief review of the main differences in how the two technologies separate application logic and presentation logic makes it easier to come to an informed decision. Figure 12-5 illustrates the main interactions.

Architecture of Struts versus architecture of JSF

Figure 12-5. Architecture of Struts versus architecture of JSF

The main components in a typical Struts application are the Struts servlet, application logic implemented as Struts Action subclasses accessing business logic objects implemented as regular Java classes, and JSP pages for presentation. All requests are targeted to the Struts servlet, which delegates to a specific Action subclass identified by parts of the URL. The Action subclass does its thing by pulling input from the request data and saving objects representing the result in the request or session scope. It then returns a value that tells the Struts servlet which JSP page to use for the response. The Struts servlet invokes the selected JSP page, which renders a response based on the result objects.

In a ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required