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.Servlet
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.
- Webtier core code can be found at https://glassfish-svn.java.net/source/browse/glassfish-svn/trunk/v3/web/web-core and contains the core web container classes. There are no HK2 dependencies in web-core.
- The glue code can be found at https://glassfish-svn.java.net/source/browse/glassfish-svn/trunk/v3/web/web-glue and extends several of the web-core classes and ties them to GlassFish. It process the WAR deployment and undeployment events and processes dynamic reconfiguration events for http-listener and virtual server. Finally it monitors events to Flashlight probe providers.
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.
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.
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
Development for JSF is found in the project JSF.
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.
Developement for Unified Expression Language is found in the project UEL.