| Java EE 6 SDK |
This sample application has a (dummy) library with a class, web.servlet.servletcontainerinitializer_lib.SharedLibrary, that implements javax.servlet.ServletContainerInitializer. This class declares interest in any web application that has a class that uses the @javax.servlet.annotation.WebServlet annotation. This class registers such interest by using the @javax.servlet.annotation.HandlesTypes annotation. The action performed by this (dummy) library is to set an attibute SHAREDLIB-1 in the ServletContext whenever an application, in which at least one class uses @WebServlet annotation, is getting deployed.
The main web application in this sample has a class that uses @WebServlet annotation and this class checks if the attribute SHAREDLIB-1 is indeed set in the ServletContext for this application.
When started, this sample, stops GlassFish server (if it is already running), creates the (dummy) library and places this library JAR file in the $GLASSFISH_HOME/lib directory before restarting GlassFish server. During server start, the web container scans the libraries and registers the ServletContainerInitializer implementations and their respective interest. When the sample application (which uses @WebServlet) is deployed, the web container recognizes that the ServletContainerInitializer implementation in the (dummy) library will be interested in this application. Hence the web container will call the onStartUp method which will set SHAREDLIB-1 attribute in the ServletContext of the application which is read and printed by the sample application on the browser.
Perform the following steps to build, deploy, and run the
application:
app_dir is the sample application base
directory: samples_install_dir/javaee6/web/servlet/servletcontainerinitializer-war.Change directory to app_dir.
all
targetapp_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
app_dir> ant
run undeploy to undeploy the application.
app_dir> ant
undeploy
clean to remove the temporary directories
like build and dist.
app_dir> ant
clean
Perform the following steps to build, deploy, and run the application using NetBeans IDE:
samples_install_dir/javaee6/web/servlet/ directory, select servletcontainerinitializer-war, select Open Required Projects, and click Open Project.servletcontainerinitializer-war and select Run to build, deploy, and run the project.If you have problems when running the application, refer the troubleshooting document.
Copyright © 1997-2010 Oracle and/or its affiliates. All rights reserved.