Configuring Liberty for JavaServer Pages 2.3

You can configure Liberty for the JavaServer Pages (JSP) 2.3 feature, which provides full support for the JSP 2.3 specification.

About this task

To configure a Liberty server to run an application that is enabled for JSP 2.3, you must set the <jsp-2.3> feature.

The JSP 2.3 includes the following changes from the JSP 2.2 feature:
  • Support for Expression Language (EL) 3.0
  • Availability of Servlet 3.1 APIs to a JSP.
  • There are no known behavior differences between JSP 2.2 and JSP 2.3 that directly prevent a JSP that runs with JSP 2.2 from successfully running with JSP 2.3. However, if a JSP uses Expression Language (EL) or Servlet API functions, you must consider the changes between Servlet 3.1 and Servlet 3.0, and between EL 3.0 and EL 2.2.

Procedure

Update the server.xml file to add the <jsp-2.3> feature.
For example:
<featureManager>
	<feature>jsp-2.3</feature>
</featureManager>
Important:
  • The jsp-2.3 feature requires both the servlet-3.1 and el-3.0 features and when configured, causes these features to load.
  • You cannot use jsp-2.3 with the servlet-3.0 feature.
  • You can use other Java™ EE 6 features, such as JSF 2.0 and CDI 1.0, with the JSP 2.3 feature.
  • You can choose between the JSP 2.2 and JSP 2.3 feature implementations for each server instance, but you must consider any behavior changes. If the required behavior is contained only in the JSP 2.3 feature, then you must use the JSP 2.3 feature. If an existing application would be adversely affected by behavior changes in the JSP 2.3 feature, then use the JSP 2.2 feature to preserve the existing behavior for that application.
  • It is not possible to use both the JSP 2.2 and JSP 2.3 features in the same Liberty server. If both features are configured, it produces an error:
    CWWKF0033E: The singleton features jsp-2.3 and jsp-2.2 cannot be loaded at the same time. The configured features jsp-2.3 and jsp-2.2 include one or more features that cause the conflict.

Results

The JSP 2.3 feature is enabled and loads in the Liberty server at run time.