Java EE 7 SDK 

Samples Main Page

The Dynamic Registration Servlet Sample Application

This sample application demonstrates the dynamic registration facilities for Servlets, Filters, and Listeners defined in the Servlet specification.

Description

This sample application declares a ServletContextListener in its deployment descriptor. The ServletContextListener registers a servlet with name DynamicServlet, a Filter with name DynamicFilter, and a ServletRequestListener in response to the ServletContextListener.contextInitialized event.

The Servlet, Filter, and ServletRequestListener are registered using the ServletContext.addServlet, ServletContext.addFilter, and ServletContext.addListener methods respectively.

ServletContext.addServlet returns a ServletRegistration object, through which all aspects of the registered Servlet, including its mappings and initialization parameters, may be configured. Similarly, ServletContext.addFilter returns a FilterRegistration object, through which all aspects of the registered Filter, including its mappings and initialization parameters, may be configured.

The test client accesses the registered Servlet at its designated URI. The Servlet ensures that the ServletRequestListener, as well as the Filter that was mapped to the Servlet, have both been invoked by checking for the existence of ServletRequest attributes that must have been set by these entities.

Key Features

This sample application demonstrates how to register the following elements in ServletContextListener:

Building, Deploying, and Running the Application

Perform the following steps to build, deploy, and run the application:

  1. Set up your build environment and configure the application server with which the build system has to work by following the common build instructions.
  2. app_dir is the sample application base directory: samples_install_dir/servlet/dynamic-registration-war.
  3. Change directory to app_dir.
  4. Build and deploy the sample application using the mvn target:

    Use the command below to run this sample which is using Cargo framework:

    app_dir> mvn clean verify cargo:run

    You can point Cargo to an already installed and running Glassfish server:

    app_dir> mvn clean verify cargo:run -Dglassfish.home=$<glassfish_dir> (e.g. ../glassfish4)

    You can also build, deploy the sample application without Cargo:

    app_dir> mvn install

    app_dir> asadmin deploy ./target/<app_name>.war

  5. To test the application, use a web browser to access
    http://<javaee.server.name>:<javaee.server.port>/dynamic-registration-war

    You should see the following output:
    HELLO WORLD! GLASSFISH
  6. Use the glassfish command line to undeploy the application.

    app_dir> asadmin undeploy <app_name>

  7. Use the target clean to remove the temporary directories like /target.

    app_dir> mvn clean

Building, Deploying, and Running the Application in NetBeans IDE

Perform the following steps to build, deploy, and run the application using NetBeans IDE:

  1. Refer to the common build instructions for setting up NetBeans IDE and Java EE 7 SDK.
  2. In the NetBeans IDE, choose File → Open Project (Ctrl-Shift-O), navigate to the samples_install_dir/servlet/ directory, select dynamic-registration-war, and click Open Project.
  3. In the Projects tab, right click dynamic-registration-war and select Run to build, deploy, and run the project.

Troubleshooting

If you have problems when running the application, refer the troubleshooting document.

 

Copyright © 1997-2013 Oracle and/or its affiliates. All rights reserved.