Package com.righettod.jee6s3.listener

Source Code of com.righettod.jee6s3.listener.Sample03Listener

package com.righettod.jee6s3.listener;

import java.util.EnumSet;

import javax.servlet.DispatcherType;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

import com.righettod.jee6s3.filter.Sample03SyncFilter;
import com.righettod.jee6s3.servlet.Sample03SyncServlet;

/**
* Sample context listener used to declare filters/servlets/listeners
* dynamically using JEE6 API.<br>
* <br>
* This listener must be declared statically !
*
* @author Dominique Righetto (dominique.righetto@gmail.com)
*
*/
@WebListener
public class Sample03Listener implements ServletContextListener {

  /**
   * {@inheritDoc}
   *
   * @see javax.servlet.ServletContextListener#contextDestroyed(javax.servlet.ServletContextEvent)
   */
  @Override
  public void contextDestroyed(ServletContextEvent sce) {
    System.out.println("Sample03Listener::ContextDestroyed");
  }

  /**
   * {@inheritDoc}
   *
   * @see javax.servlet.ServletContextListener#contextInitialized(javax.servlet.ServletContextEvent)
   */
  @Override
  @SuppressWarnings({ "rawtypes", "unchecked" })
  public void contextInitialized(ServletContextEvent sce) {
    System.out.println("Sample03Listener::ContextInitialized");

    ServletContext context = sce.getServletContext();

    /* Declare Servlet */
    // Declare Servlet into the ServletContext
    Class servlet = Sample03SyncServlet.class;
    javax.servlet.ServletRegistration.Dynamic servletConfiguration = context.addServlet("Sample03SyncServlet", servlet);
    // Configure the Servlet added
    servletConfiguration.addMapping("/Sample03SyncServlet");
    servletConfiguration.setInitParameter("msg", "Hello From Dynamic declared servlet ;o)");

    /* Declare Filter */
    // Declare Filter into the ServletContext
    Class filter = Sample03SyncFilter.class;
    javax.servlet.FilterRegistration.Dynamic filterConfiguration = context.addFilter("Sample03SyncFilter", filter);
    // Configure the Filter added
    EnumSet<DispatcherType> dispatcherTypes = EnumSet.of(DispatcherType.REQUEST);
    filterConfiguration.addMappingForUrlPatterns(dispatcherTypes, false, "/Sample03SyncServlet/*");

    /* Declare Listener */
    // Declare FiListener into the ServletContext
    context.addListener("com.righettod.jee6s3.listener.Sample04Listener");
  }

}
TOP

Related Classes of com.righettod.jee6s3.listener.Sample03Listener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.