Miles to go …

October 14, 2008

TOTD #47: Getting Started with Mojarra 2.0 nightly on GlassFish v2

Filed under: javaserverfaces, netbeans, totd — arungupta @ 5:53 am

Java Server Faces 2.0 specification (JSR 314, EDR2) and implementation (soon to be EDR2) are brewing. This blog shows how to get started with Mojarra – Sun’s implementation of JSF.

GlassFish v2 comes bundled with Mojarra 1.2_04 which allows you to deploy a JSF 1.2 application. This blog explains how you can update GlassFish v2 to use Mojarra 2.0 nightly. And then it deploys a simple JSF 1.2-based application on this updated GlassFish instance, there by showing that your existing JSF 1.2 apps will continue to work with Mojarra 2.0-enabled GlassFish. This is an important step because it ensures no regression, unless it was a compatibility fix :)

  1. Re-create a simple JSF 1.2 application as described in TOTD #42, TOTD #45 and TOTD #46. This application allows to create a list of cities and store them in a backend database. It uses JSF Extensions to show suggestions, using Ajax, based upon the cities already entered and also uses Facelets as the view technology. Alternatively you can use any pre-existing JSF 1.2 application.
  2. Download Mojarra 2.0 latest nightly.
  3. Follow Release Notes to install the binary, the steps are summarized here for convenience (GlassFish installed in GF_HOME):
    1. Backup “GF_HOME/lib/jsf-impl.jar”.
    2. Copy the new “jsf-api” and “jsf-impl” JARs from the unzipped Mojarra distribution to “GF_HOME/lib”.
    3. Edit “GF_HOME/domains/<domain-name>/config/domain.xml” and add (or update the existing “classpath-prefix”) ‘classpath-prefix=”${com.sun.aas.installRoot}/lib/jsf-api.jar” in the java-config element.
    4. Restart your server.
  4. Deploy the application on Mojarra 2.0-enabled GlassFish, that’s it!

The application is accessible at “http://localhost:8080/Cities/faces/welcome.xhtml”. Some of the screen captures are shown below.

If only “S” is entered in the city name, then the following output is shown:

Now with “San” …

And another one with “De” …

With JSF 2.0, Ajax capabilities and Facelets are now part of the specification and have already been integrated in Mojarra. A follow up blog entry will show how to use that functionality.

The downloaded Mojarra bundle has some samples (in “samples” folder) to get you started, have a look at them as well!

File JSF related bugs here using “2.0.0 EDR1″ version and ask your questions on .

Please leave suggestions on other TOTD (Tip Of The Day) that you’d like to see. A complete archive of all tips is available here.

Technorati: totd javaserverfaces glassfish mojarra netbeans

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • Facebook
  • Google Bookmarks
  • DZone
  • StumbleUpon
  • Technorati
  • Twitter
  • Slashdot
Related posts:
  1. TOTD #50: Mojarra 2.0 EDR2 is now available – Try them with GlassFish v3 and NetBeans 6.5
  2. TOTD #48: Converting a JSF 1.2 application to JSF 2.0 – Facelets and Ajax
  3. TOTD #49: Converting a JSF 1.2 application to JSF 2.0 – @ManagedBean
  4. TOTD #46: Facelets with Java Server Faces 1.2
  5. TOTD #51: Embedding Google Maps in Java Server Faces using GMaps4JSF


  1. [Trackback] TOTD #47 showed how to deploy a JSF 1.2 application (using Facelets and Ajax/JSF Extensions) on Mojarra 2.0-enabled GlassFish. &nbsp;In this blog we’ll use new features added in JSF 2.0 to simplify our application: Use integrated Facelets and resource…

    Comment by Arun Gupta's Blog — October 15, 2008 @ 5:40 am

  2. [Trackback] Yaaay, 50th tip!! The previous 49 tips are available here. Mojarra EDR2 is now available – download binary and/or source bundle! GlassFish v2 UR2 ships with Mojarra 1.2.0_04 and v3 prelude comes with 1.2.0_10. The Mojarra binaries in both…

    Comment by Arun Gupta's Blog — October 23, 2008 @ 8:35 am

  3. thanks.

    Comment by izolasyon — November 2, 2008 @ 11:29 pm

  4. . get me back failure mail please check it.

    Comment by Disney Wallpapers — March 8, 2009 @ 2:31 pm

  5. thank u. nice..

    Comment by sinema izle — March 18, 2009 @ 7:00 am

RSS feed for comments on this post. TrackBack URL

Leave a comment

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
Powered by WordPress