Java EE 7 SDK |
This is a simple Servlet application that uses annotations for servlets, filters, and content listeners.
Servlet
The servlet reads the initial parameter, a request attribute and a context attribute and provides the result.
@WebServlet(name="mytest", urlPatterns={"/"}, initParams={ @WebInitParam(name="message",value="my servlet") } ) public class TestServlet extends HttpServlet { public void init(ServletConfig config) throws ServletException { // read the context attribute ... } public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { } }
@javax.servlet.annotation.WebServlet
is an annotation that specifies
metadata for a servlet. In this case, it specifies the URL pattern and an initialization parameter.
You need to extend javax.servlet.http.HttpServlet
.
Filter
The filter reads the initial parameter and sets a request attribute.
@WebFilter(urlPatterns={"/"}, initParams={ @WebInitParam(name="mesg", value="my filter") }) public class TestFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { ... } public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { ... } public void destroy() { ... } }
@javax.servlet.annotation.WebFilter
is an annotation
that specifies meta-data for a filter.
In this case, it specifies the URL pattern and an initialization parameter.
You need to extend javax.servlet.Filter
.
ContextListener
The context listener sets a context attribute in the contextInitialized()
method.
@javax.servlet.annotation.WebListener public class TestServletContextListener implements ServletContextListener { public void contextInitialized(ServletContextEvent sce) { ... } public void contextDestroyed(ServletContextEvent sce) { ... } }
@javax.servlet.annotaton.WebListener
indicates that
a class is a context listener.
Deployment Descriptor
By using annotations, the deployment descriptor is no longer required.
GlassFish Server Specific Deployment Configuration
There is no need to define any GlassFish Server deployment descriptor
(sun-web.xml
) for this sample.
Follow these instructions for building, deploying, and running this sample application:
app_dir
is the sample application base
directory: samples_install_dir/servlet/annotation-war
.
Change directory to app_dir.
mvn
target:
Use the command below to run this sample using the 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
http://<javaee.server.name>:<javaee.server.port>/annotation-war
Hello, my servlet, my filter, my listener.
app_dir>
asadmin undeploy <app_name>
clean
to remove the temporary directories
like /target.
app_dir> mvn
clean
Perform the following steps to build, deploy, and run the application using NetBeans IDE:
samples_install_dir/servlet/
directory, select annotation-war
, and click Open Project.annotation-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-2013 Oracle and/or its affiliates. All rights reserved.