Special Issues

There are two special issues regarding JSP and Servlet support in WebObjects that you should keep in mind: deploying more than one WebObjects application within a single container and updating existing servlet-based WebObjects applications to future versions of WebObjects. The following sections explain how to address both of these.

Deploying Multiple WebObjects Applications in a Single Servlet Container

Having more than one WebObjects application file in a servlet container is relatively safe. However, as each application launches, it pushes the values of its launch properties to the system properties (the properties maintained by the java.lang.System class. Therefore, the application launched last within a servlet container overrides the properties set by previously launched applications in that container.

The solution is to ensure applications deployed within one servlet container use the same values for the following properties:

Updating Servlet-Based Applications to Future Versions of WebObjects

If future versions of WebObjects include changes to the JSP and Servlet system, it is likely that you will need to update the web.xml.template file (on Mac OS X) or the Makefile.preamble file (on Windows) for existing applications.

To update the web.xml.template in a project developed on Mac OS X follow these steps:

  1. Open the project you want to update in Project Builder.

  2. Create a new WebObjects application project that includes JSP and Servlet support by choosing “Deploy in a JSP/Servlet Container” in the Enable J2EE Integration pane of the Project Builder Assistant.

  3. Copy the contents of the new project’s web.xml.template file to the web.xml.template file of the project you want to update.

    On Mac OS X, if you have made changes to the web.xml.template file, you can use FileMerge to keep your modifications in the updated version.

To update a WebObjects application developed on Windows perform the following steps:

  1. Open the project you want to update in Project Builder WO.

  2. Create a new Java WebObjects application project that includes JSP and Servlet support by choosing “Deploy in a JSP/Servlet Container” in the Enable J2EE Integration pane of the WebObjects Application Wizard.

  3. Copy the contents of the new project’s Makefile.preamble file to the Makefile.preamble file of the project you want to update.

In addition, you should also rebuild your projects (regenerate the WAR files or single deployment directories) to update the applications with the latest version of the WebObjects frameworks.