Webtier home page

WebTier Technologies

The code for the webtier technologies spans several projects and integrated into GlassFish. The webtier core code can be found in the GlassFish workspace along with the glue code which integrates the container with GlassFish. Below find a list of the webtier technologes and information of where each is developed.


Java Servlet technology provides web developers with a simple, consistent mechanism for extending the functionality of a web server and for accessing existing business systems. The webtier core module implements the Servlet specification and provides additional features such as valves, virtual server security realms, allows for HTTP sessions to be preserved across deployments and support for web protocols such as CGI, Server Side Include (SSI) and WEBDAV.

You can browse the Servlet API javadocs for more information about how to use servlets. See JSR 154: Java Servlet 2.5 for more information on Servlets.


JavaServer Pages (JSP) technology provides a simplified, fast way to create dynamic web content. JSP technology enables rapid development of web-based applications that are server- and platform-independent, and allows you to easily create web content that has both static and dynamic components. JSP technology makes available all the dynamic capabilities of Java Servlet technology but provides a more natural approach to creating static content.

Development for JSP is found in the project JSP. For more information about the JSP 2.1 API classes and interfaces, see the javadocs of the core JSP 2.1 APIs.


The JavaServer Pages Standard Tag Library (JSTL) encapsulates as simple tags the core functionality common to many Web applications. JSTL has support for common, structural tasks such as iteration and conditionals, tags for manipulating XML documents, internationalization tags, and SQL tags. It also provides a framework for integrating existing custom tags with JSTL tags.

Development for JSTL is found in the project JSTL.

JavaServer Faces (JSF)

Java Server Faces (TM) JavaServer Faces (JSF) is a user interface (UI) framework for Java web applications. It is designed to significantly ease the burden of writing and maintaining applications that run on a Java application server (ex: GlassFish) and render their UIs back to a target client. JSF provides ease-of-use in the following ways:

  • High Performance Web Application Framework
  • Large pool of skilled developers already familiar with the technology
  • Vibrant and competitive marketplace for JSF components and extensions
  • Vibrant and active community of developers
  • A core part of Java EE 5
  • Ajax support
  • Page description language (something like Facelets)
  • Reduce the configuration burden (less or no XML)
  • Provide for better compatability between JSF component libraries from different vendors

Most importantly, JSF establishes standards, (Download: specification and reference implementation which are designed to be leveraged by tools such as NetBeans to provide a developer experience.

Development for JSF is found in the project JSF.

Expression Language (EL)

JSP 2.1 defines a Unified Expression Language (EL), which integrates the expression languages from JSP 2.0 and JavaServerTM Faces (JSF) 1.1. Main key additions to the EL as a result of the alignment effort have been:

  • A pluggable API for resolving variable references into Java objects and for resolving the properties applied to these Java objects.
  • Support for deferred expressions, which may be evaluated by a tag handler when needed, unlike their regular expression counterparts, which get evaluated immediately when a page is executed and rendered.
  • Support for lvalue expression, which appear on the left hand side of an assignment operation. When used as an lvalue, an EL expression represents a reference to a data structure, for example: a JavaBeans property, that is assigned some user input.
The new Unified EL is defined in its own specification document, which is delivered along with the JSP 2.1 specification. Both specification documents are available here. For more information see the javadocs of the Unified EL.

Developement for Unified Expression Language is found in the project UEL.