Java EE 6 SDK 

Samples Main Page

The Custom Valve Application

This sample application demonstrates the custom valve facilities available in GlassFish v3.

Valves are filter-like components that are used by the web container to intercept the HTTP request and response objects and perform some pre-processing logic before they are passed to the application's filter chain and servlet, and to perform some post-processing logic after they return from the application's filter chain and servlet. For example, the container leverages valves for access logging and authentication purposes.

Valves are also provided as container extension points, and may be added and configured by administrators at the virtual server level in domain.xml, and by developers in their sun-web.xml.

Valves may implement one of two interfaces: the org.apache.catalina.Valve interface from Tomcat or the org.glassfish.web.valve.GlassFishValve interface from GlassFish.


Description

This sample application declares a custom valve in its sun-web.xml and configures it with a single property. The web.servlet.customvalve_war.TestValve valve implementation class is bundled inside the application's WEB_INF/classes folder. The custom valve's pre-invocation logic sets the valve's property as a request attribute.

The test client accesses the application's servlet, which checks for the presence of this request attribute and reports an error if it is missing.


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/javaee6/web/container/customvalve-war.
  3. Change directory to app_dir.
  4. Build, deploy and run the sample application using the all target
  5. app_dir> ant all

    You can replace the ant all command with the following set of commands:

    app_dir> ant default compiles and packages the application

    app_dir> ant deploy deploys it to application server

    app_dir> ant run runs the test

  6. Note: You can run the test in one of the following ways:
  7. Use the target undeploy to undeploy the application.

    app_dir> ant undeploy

  8. Use the target clean to remove the temporary directories like build and dist.

    app_dir> ant 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 6 SDK.
  2. In the NetBeans IDE, choose File → Open Project (Ctrl-Shift-O), navigate to the samples_install_dir/javaee6/web/container/ directory, select customvalve-war, and click Open Project.
  3. In the Projects tab, right click customvalve_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-2010 Oracle and/or its affiliates. All rights reserved.