Download PDF Home History |  | API Search Feedback FAQ

> ## Accessing the Web Context

> The context in which Web components execute is an object that implements the `ServletContext` interface. You retrieve the Web context using the `getServletContext` method. The Web context provides methods for accessing:

> - Initialization parameters
> - Resources associated with the Web context
> - Object-valued attributes
> - Logging capabilities

> The Web context is used by the Duke's Bookstore filters `filters.HitCounterFilter` and `OrderFilter`, which are discussed in Filtering Requests and Responses. Each filter stores a counter as a context attribute. Recall from Controlling Concurrent Access to Shared Resources that the counter's access methods are synchronized to prevent incompatible operations by servlets that are running concurrently. A filter retrieves the counter object using the context's `getAttribute` method. The incremented value of the counter is recorded in the log.

>     public final class HitCounterFilter implements Filter {
>       private FilterConfig filterConfig = null;
>       public void doFilter(ServletRequest request,
>         ServletResponse response, FilterChain chain)
>         throws IOException, ServletException {
>         ...
>         StringWriter sw = new StringWriter();
>         PrintWriter writer = new PrintWriter(sw);
>         ServletContext context = filterConfig.
>           getServletContext();
>         Counter counter = (Counter)context.
>           getAttribute("hitCounter");
>         ...
>         writer.println("The number of hits is: " +
>           counter.incCounter());
>         ...
>         System.out.println(sw.getBuffer().toString());
>         ...
>       }
>     }

Download PDF Home History |  | API Search Feedback FAQ

All of the material in The J2EE(TM) 1.4 Tutorial is copyright-protected and may not be published in other works without express written permission from Sun Microsystems.