Oracle JavaServer Pages Developer's Guide and Reference Release 8.1.7 Part Number A83726-01 |
Library | Service | Contents | Index

## Portability and Functionality Across Servlet Environments

Oracle's JavaServer Pages implementation is highly portable across server platforms and servlet environments. It also supplies a framework for Web applications in older servlet environments, where servlet context behavior was not yet sufficiently defined.

### OracleJSP Portability

OracleJSP can run on any servlet environment that complies with version 2.0 or higher of the Sun Microsystems Java Servlet Specification. This is in contrast to most JSP implementations, which require a servlet 2.1(b) or higher implementation. As the next section explains, OracleJSP provides functionality equivalent to the missing servlet functionality in older servlet environments.

Furthermore, the OracleJSP container is independent of the server environment and its servlet implementation. This is in contrast to vendors who deliver their JSP implementation as part of their servlet implementation instead of as a standalone product.

This portability makes it much easier to run OracleJSP in both your development environment and the target environment, as opposed to having to use a different JSP implementation on your development system because of any server or servlet platform limitations. There are usually benefits to developing on a system with the same JSP container as the target server; realistically speaking, there is usually some variation between environments.

### OracleJSP Extended Functionality for Servlet 2.0 Environments

Because of interdependence between servlet specifications and JSP functionality, Sun Microsystems has tied versions of the JavaServer Pages Specification to versions of the Java Servlet Specification. According to Sun, JSP 1.0 requires a servlet 2.1(b) implementation, and JSP 1.1 requires a servlet 2.2 implementation.

The servlet 2.0 specification was limited in that it provided only a single servlet context per Java virtual machine, instead of a servlet context for each application. The servlet 2.1 specification allowed, but did not mandate, a separate servlet context for each application. The servlet 2.1(b) and servlet 2.2 specifications mandated separate servlet contexts. (For background information about servlets and servlet contexts, see "Background on Servlets".)

The OracleJSP container, however, offers functionality that emulates the application support provided with the servlet 2.1(b) specification. This allows a full application framework in a servlet 2.0 environment such as Apache/JServ. This includes providing applications with distinct `ServletContext` and `HttpSession` objects.

This extended support is provided through a file, `globals.jsa`, that acts as a JSP application marker, application and session event handler, and centralized location for application-global declarations and directives. (For information, see "Overview of globals.jsa Functionality".)

Because of this extended functionality, OracleJSP is not limited by the underlying servlet environment.

| Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
Library | Service | Contents | Index