Java 类javax.servlet.ServletRequestEvent 实例源码

项目:lams    文件:RequestContextListener.java   
@Override
public void requestDestroyed(ServletRequestEvent requestEvent) {
    ServletRequestAttributes attributes = null;
    Object reqAttr = requestEvent.getServletRequest().getAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE);
    if (reqAttr instanceof ServletRequestAttributes) {
        attributes = (ServletRequestAttributes) reqAttr;
    }
    RequestAttributes threadAttributes = RequestContextHolder.getRequestAttributes();
    if (threadAttributes != null) {
        // We're assumably within the original request thread...
        LocaleContextHolder.resetLocaleContext();
        RequestContextHolder.resetRequestAttributes();
        if (attributes == null && threadAttributes instanceof ServletRequestAttributes) {
            attributes = (ServletRequestAttributes) threadAttributes;
        }
    }
    if (attributes != null) {
        attributes.requestCompleted();
    }
}
项目:spring4-understanding    文件:RequestContextListener.java   
@Override
public void requestDestroyed(ServletRequestEvent requestEvent) {
    ServletRequestAttributes attributes = null;
    Object reqAttr = requestEvent.getServletRequest().getAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE);
    if (reqAttr instanceof ServletRequestAttributes) {
        attributes = (ServletRequestAttributes) reqAttr;
    }
    RequestAttributes threadAttributes = RequestContextHolder.getRequestAttributes();
    if (threadAttributes != null) {
        // We're assumably within the original request thread...
        LocaleContextHolder.resetLocaleContext();
        RequestContextHolder.resetRequestAttributes();
        if (attributes == null && threadAttributes instanceof ServletRequestAttributes) {
            attributes = (ServletRequestAttributes) threadAttributes;
        }
    }
    if (attributes != null) {
        attributes.requestCompleted();
    }
}
项目:spring4-understanding    文件:RequestContextListenerTests.java   
@Test
public void requestContextListenerWithSameThread() {
    RequestContextListener listener = new RequestContextListener();
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    request.setAttribute("test", "value");

    assertNull(RequestContextHolder.getRequestAttributes());
    listener.requestInitialized(new ServletRequestEvent(context, request));
    assertNotNull(RequestContextHolder.getRequestAttributes());
    assertEquals("value",
            RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST));
    MockRunnable runnable = new MockRunnable();
    RequestContextHolder.getRequestAttributes().registerDestructionCallback(
            "test", runnable, RequestAttributes.SCOPE_REQUEST);

    listener.requestDestroyed(new ServletRequestEvent(context, request));
    assertNull(RequestContextHolder.getRequestAttributes());
    assertTrue(runnable.wasExecuted());
}
项目:spring4-understanding    文件:RequestContextListenerTests.java   
@Test
public void requestContextListenerWithSameThreadAndAttributesGone() {
    RequestContextListener listener = new RequestContextListener();
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    request.setAttribute("test", "value");

    assertNull(RequestContextHolder.getRequestAttributes());
    listener.requestInitialized(new ServletRequestEvent(context, request));
    assertNotNull(RequestContextHolder.getRequestAttributes());
    assertEquals("value",
            RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST));
    MockRunnable runnable = new MockRunnable();
    RequestContextHolder.getRequestAttributes().registerDestructionCallback(
            "test", runnable, RequestAttributes.SCOPE_REQUEST);

    request.clearAttributes();
    listener.requestDestroyed(new ServletRequestEvent(context, request));
    assertNull(RequestContextHolder.getRequestAttributes());
    assertTrue(runnable.wasExecuted());
}
项目:MBaaS    文件:ServletRequestListener.java   
@Override
public void requestInitialized(ServletRequestEvent sre) {
    ServletContext servletContext = sre.getServletContext();
    ApplicationContext applicationContext = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);
    GroovyClassLoader classLoader = applicationContext.getBean(GroovyClassLoader.class);
    if (Thread.currentThread().getContextClassLoader() instanceof GroovyClassLoader) {
    } else {
        Thread.currentThread().setContextClassLoader(classLoader);
    }
    DataSource dataSource = applicationContext.getBean(DataSource.class);
    try {
        this.connection = dataSource.getConnection();
        this.connection.setAutoCommit(true);
    } catch (SQLException e) {
    }
}
项目:domui    文件:WebApplicationListener.java   
@Override
public void requestInitialized(ServletRequestEvent e) {
    LOG.debug("Request entered");

    HttpServletRequest req = (HttpServletRequest) e.getServletRequest();
    WebConfiguration wc = Iocular.getConfiguration(e.getServletContext());
    Container sc = createSessionContainer(req.getSession(true));
    if(sc == null)
        throw new IllegalStateException("No session container found!?");

    //-- Create a request container,
    BasicContainer bc = new BasicContainer(wc.getRequestDefinition(), sc);
    bc.start();
    req.setAttribute(Keys.REQUEST_CONTAINER, bc);
    Iocular._setRequest((HttpServletRequest) e.getServletRequest(), bc);
}
项目:opengse    文件:WebAppImpl.java   
/**
 * {@inheritDoc}
 */
public void doFilter(ServletRequest request, ServletResponse response)
    throws IOException, ServletException {
  // set our context classloader
  Thread.currentThread().setContextClassLoader(classLoader);
  // send a requestInititalized event
  ServletRequestEvent sre = new ServletRequestEvent(context, request);
  srListeners.requestInitialized(sre);
  // if (!sraListeners.isEmpty()) {
  // if we have at least one request attribute listener, wrap the
  // request so we can intercept calls to setAttribute/removeAttribute
  request = wrapRequestForServletRequestAttributeListeners(request);
  // }
  RegularExpressionRequestHandler handler = regexHandler.getRequestHandler();
  handler.doFilter(request, response);
}
项目:bootique-jetty    文件:DefaultServletEnvironmentTest.java   
@Test
public void testRequest() {
    DefaultServletEnvironment o = new DefaultServletEnvironment();

    assertFalse(o.request().isPresent());

    ServletContext mockContext = mock(ServletContext.class);
    ServletRequest mockRequest = mock(HttpServletRequest.class);
    o.requestInitialized(new ServletRequestEvent(mockContext, mockRequest));
    assertSame(mockRequest, o.request().get());

    o.requestDestroyed(new ServletRequestEvent(mockContext, mockRequest));
    assertFalse(o.request().isPresent());

    ServletRequest mockRequest2 = mock(HttpServletRequest.class);
    o.requestInitialized(new ServletRequestEvent(mockContext, mockRequest2));
    assertSame(mockRequest2, o.request().get());

    o.requestDestroyed(new ServletRequestEvent(mockContext, mockRequest2));
    assertFalse(o.request().isPresent());

    // TODO: test multithreaded scenario..
}
项目:BookStore    文件:StoreRequestListener.java   
@Override
public void requestInitialized(ServletRequestEvent sre) {
    //System.out.println("Requset 初始化了:" + sre.getServletRequest());

    ServletContext ctx = sre.getServletContext();
    exector.execute(new Runnable() {
        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName());
            Integer count = (Integer) ctx.getAttribute(BookStoreConstants.REQUEST_COUNT); // 获得list
            if (count == null) {
                count = 0;
            }
            ctx.setAttribute(BookStoreConstants.REQUEST_COUNT, count+1);

        }
    });


}
项目:iss    文件:DBInitializer.java   
@Override
public void requestDestroyed(ServletRequestEvent arg0) {
    logger.entering("DBInitializer","requestDestroyed");
    ServletRequest req = arg0.getServletRequest();

    req.removeAttribute(StringConstants.REQUEST_ATTR_USER_DAO);
    req.removeAttribute(StringConstants.REQUEST_ATTR_TAG_DAO);
    req.removeAttribute(StringConstants.REQUEST_ATTR_SCREEN_DAO );
    req.removeAttribute(StringConstants.REQUEST_ATTR_CONTENT_DAO );
    req.removeAttribute(StringConstants.REQUEST_ATTR_SETTING_DAO );
    req.removeAttribute(StringConstants.REQUEST_ATTR_ENTITY_MANAGER);

    EntityManager em = (EntityManager) req.getAttribute(StringConstants.REQUEST_ATTR_ENTITY_MANAGER);
    if(em!=null && em.isOpen()){
        em.close();
    }
    req.removeAttribute(StringConstants.REQUEST_ATTR_ENTITY_MANAGER);

    logger.exiting("DBInitializer","requestDestroyed");
}
项目:iss    文件:DBInitializer.java   
@Override
public void requestInitialized(ServletRequestEvent arg0) {
    logger.entering("DBInitializer","requestInitialized");
    EntityManager em = DBConfig.getEntityManager();
    UserDao userDAO = new UserDao(em);
    TagDao tagDAO = new TagDao(em);
    ScreenDao screenDAO = new ScreenDao(em);
    ContentDao contentDAO = new ContentDao(em);
    SettingDao settingDAO = new SettingDao(em);

    ServletRequest req = arg0.getServletRequest();
    req.setAttribute(StringConstants.REQUEST_ATTR_USER_DAO, userDAO);
    req.setAttribute(StringConstants.REQUEST_ATTR_TAG_DAO, tagDAO);
    req.setAttribute(StringConstants.REQUEST_ATTR_SCREEN_DAO, screenDAO);
    req.setAttribute(StringConstants.REQUEST_ATTR_CONTENT_DAO, contentDAO);
    req.setAttribute(StringConstants.REQUEST_ATTR_SETTING_DAO, settingDAO);
    req.setAttribute(StringConstants.REQUEST_ATTR_ENTITY_MANAGER, em);
    logger.exiting("DBInitializer","requestInitialized");
}
项目:class-guard    文件:RequestContextListener.java   
public void requestDestroyed(ServletRequestEvent requestEvent) {
    ServletRequestAttributes attributes = null;
    Object reqAttr = requestEvent.getServletRequest().getAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE);
    if (reqAttr instanceof ServletRequestAttributes) {
        attributes = (ServletRequestAttributes) reqAttr;
    }
    RequestAttributes threadAttributes = RequestContextHolder.getRequestAttributes();
    if (threadAttributes != null) {
        // We're assumably within the original request thread...
        LocaleContextHolder.resetLocaleContext();
        RequestContextHolder.resetRequestAttributes();
        if (attributes == null && threadAttributes instanceof ServletRequestAttributes) {
            attributes = (ServletRequestAttributes) threadAttributes;
        }
    }
    if (attributes != null) {
        attributes.requestCompleted();
    }
}
项目:class-guard    文件:RequestContextListenerTests.java   
public void testRequestContextListenerWithSameThread() {
    RequestContextListener listener = new RequestContextListener();
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    request.setAttribute("test", "value");

    assertNull(RequestContextHolder.getRequestAttributes());
    listener.requestInitialized(new ServletRequestEvent(context, request));
    assertNotNull(RequestContextHolder.getRequestAttributes());
    assertEquals("value",
            RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST));
    MockRunnable runnable = new MockRunnable();
    RequestContextHolder.getRequestAttributes().registerDestructionCallback(
            "test", runnable, RequestAttributes.SCOPE_REQUEST);

    listener.requestDestroyed(new ServletRequestEvent(context, request));
    assertNull(RequestContextHolder.getRequestAttributes());
    assertTrue(runnable.wasExecuted());
}
项目:class-guard    文件:RequestContextListenerTests.java   
public void testRequestContextListenerWithSameThreadAndAttributesGone() {
    RequestContextListener listener = new RequestContextListener();
    MockServletContext context = new MockServletContext();
    MockHttpServletRequest request = new MockHttpServletRequest(context);
    request.setAttribute("test", "value");

    assertNull(RequestContextHolder.getRequestAttributes());
    listener.requestInitialized(new ServletRequestEvent(context, request));
    assertNotNull(RequestContextHolder.getRequestAttributes());
    assertEquals("value",
            RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST));
    MockRunnable runnable = new MockRunnable();
    RequestContextHolder.getRequestAttributes().registerDestructionCallback(
            "test", runnable, RequestAttributes.SCOPE_REQUEST);

    request.clearAttributes();
    listener.requestDestroyed(new ServletRequestEvent(context, request));
    assertNull(RequestContextHolder.getRequestAttributes());
    assertTrue(runnable.wasExecuted());
}
项目:lutece-core    文件:SearchAppTest.java   
/**
 * Test of getPage method, of class fr.paris.lutece.portal.web.search.SearchApp.
 * 
 * @throws SiteMessageException
 */
public void testGetPage( ) throws SiteMessageException
{
    System.out.println( "getPage" );

    MockHttpServletRequest request = new MockHttpServletRequest( );
    request.addParameter( "query", "lutece" );
    request.addParameter( "items_per_page", "5" );

    RequestContextListener listener = new RequestContextListener( );
    ServletContext context = new MockServletContext( );
    listener.requestInitialized( new ServletRequestEvent( context, request ) );

    int nMode = 0;
    Plugin plugin = null;
    SearchApp instance = SpringContextService.getBean( "core.xpage.search" );

    XPage result = instance.getPage( request, nMode, plugin );

    listener.requestDestroyed( new ServletRequestEvent( context, request ) );
}
项目:opennmszh    文件:DispatcherServlet.java   
@Override
public void service(HttpServletRequest req, HttpServletResponse res)
    throws ServletException, IOException
{
    final ServletRequestEvent sre = new ServletRequestEvent(getServletContext(), req);
    this.controller.getRequestListener().requestInitialized(sre);
    try
    {
        req = new AttributeEventRequest(getServletContext(), this.controller.getRequestAttributeListener(), req);
        this.controller.getDispatcher().dispatch(req, res, new NotFoundFilterChain());
    }
    finally
    {
        this.controller.getRequestListener().requestDestroyed(sre);
    }
}
项目:tomee    文件:BeginWebBeansListener.java   
/**
 * {@inheritDoc}
 */
@Override
public void requestInitialized(final ServletRequestEvent event) {
    final Object oldContext = ThreadSingletonServiceImpl.enter(this.webBeansContext);
    if (event != null) {
        event.getServletRequest().setAttribute(contextKey, oldContext);
    }

    try {
        if (logger.isDebugEnabled()) {
            logger.debug("Starting a new request : [{0}]", event == null ? "null" : event.getServletRequest().getRemoteAddr());
        }

        if (webBeansContext instanceof WebappWebBeansContext) { // start before child
            ((WebappWebBeansContext) webBeansContext).getParent().getContextsService().startContext(RequestScoped.class, event);
        }
        contextsService.startContext(RequestScoped.class, event);

        // we don't initialise the Session here but do it lazily if it gets requested
        // the first time. See OWB-457

    } catch (final Exception e) {
        logger.error(OWBLogConst.ERROR_0019, event == null ? "null" : event.getServletRequest());
        WebBeansUtil.throwRuntimeExceptions(e);
    }
}
项目:tomee    文件:HttpRequestImpl.java   
public void destroy() {
    final boolean openejbRequestDestroyed = getAttribute("openejb_requestDestroyed") == null;
    if (listeners != null && !listeners.isEmpty()) {
        if (begin != null && end != null && openejbRequestDestroyed) {
            end.requestDestroyed(new ServletRequestEvent(getServletContext(), this));
        }
        final ServletRequestEvent event = new ServletRequestEvent(getServletContext(), this);
        for (final ServletRequestListener listener : listeners) {
            listener.requestDestroyed(event);
        }
    }
    if (begin != null && openejbRequestDestroyed) {
        setAttribute("openejb_requestDestroyed", "ok");
        begin.requestDestroyed(new ServletRequestEvent(getServletContext(), this));
    }
}
项目:bugsnag-java    文件:ServletCallbackTest.java   
/**
 * Generate a new request instance which will be read by the servlet
 * context and callback
 */
@Before
public void setUp() {
    HttpServletRequest request = mock(HttpServletRequest.class);

    Map<String, String[]> params = new HashMap<String, String[]>();
    params.put("account", new String[]{"Acme Co"});
    params.put("name", new String[]{"Bill"});
    when(request.getParameterMap()).thenReturn(params);

    when(request.getMethod()).thenReturn("PATCH");
    when(request.getRequestURL()).thenReturn(new StringBuffer("/foo/bar"));
    when(request.getRequestURI()).thenReturn("/foo/bar");
    when(request.getRemoteAddr()).thenReturn("12.0.4.57");

    Enumeration<String> headers = new Vector<String>(
            Arrays.asList("Content-Type", "Content-Length")).elements();
    when(request.getHeaderNames()).thenReturn(headers);
    when(request.getHeader("Content-Type")).thenReturn("application/json");
    when(request.getHeader("Content-Length")).thenReturn("54");

    ServletContext context = mock(ServletContext.class);
    BugsnagServletRequestListener listener = new BugsnagServletRequestListener();
    listener.requestInitialized(new ServletRequestEvent(context, request));
}
项目:geomajas-project-server    文件:GeomajasContextListener.java   
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
    ServletRequestAttributes attributes = (ServletRequestAttributes) servletRequestEvent.getServletRequest()
            .getAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE);
    ServletRequestAttributes threadAttributes =
            (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
    if (threadAttributes != null) {
        if (attributes == null) {
            attributes = threadAttributes;
        }
        RequestContextHolder.setRequestAttributes(null);
        LocaleContextHolder.setLocale(null);
    }
    if (attributes != null) {
        attributes.requestCompleted();
    }
}
项目:lucee-websocket    文件:HttpSessionInitializer.java   
/**
 * Receives notification that a ServletRequest is about to come into scope of the web application.
 *
 * @param sre
 *            the ServletRequestEvent containing the ServletRequest and the ServletContext representing the web
 *            application
 */
@Override
public void requestInitialized(ServletRequestEvent sre) {
    // TODO: log debug level only
    // System.out.println(HttpSessionInitializer.class.getSimpleName() + ": requestInitialized");

    HttpServletRequest servletRequest = (HttpServletRequest) sre.getServletRequest();

    // call getSession() so that the Servlet Container will initialize the HttpSession
    servletRequest.getSession();
}
项目:dubbo-transaction    文件:DefaultServletListener.java   
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
    HttpServletRequest request=(HttpServletRequest)servletRequestEvent.getServletRequest();
    long now=System.currentTimeMillis();
    try {
        HOOK.get().postHook();
    } catch (RpcTransactionRollbackException e) {
        e.printStackTrace();
    }
    log.debug(request.getRequestURL()+" spend:"+(System.currentTimeMillis()-now));
    HOOK.set(null);
}
项目:tomcat7    文件:StandardContext.java   
@Override
public boolean fireRequestInitEvent(ServletRequest request) {

    Object instances[] = getApplicationEventListeners();

    if ((instances != null) && (instances.length > 0)) {

        ServletRequestEvent event = 
                new ServletRequestEvent(getServletContext(), request);

        for (int i = 0; i < instances.length; i++) {
            if (instances[i] == null)
                continue;
            if (!(instances[i] instanceof ServletRequestListener))
                continue;
            ServletRequestListener listener =
                (ServletRequestListener) instances[i];

            try {
                listener.requestInitialized(event);
            } catch (Throwable t) {
                ExceptionUtils.handleThrowable(t);
                getLogger().error(sm.getString(
                        "standardContext.requestListener.requestInit",
                        instances[i].getClass().getName()), t);
                request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
                return false;
            }
        }
    }
    return true;
}
项目:tomcat7    文件:StandardContext.java   
@Override
public boolean fireRequestDestroyEvent(ServletRequest request) {
    Object instances[] = getApplicationEventListeners();

    if ((instances != null) && (instances.length > 0)) {

        ServletRequestEvent event = 
            new ServletRequestEvent(getServletContext(), request);

        for (int i = 0; i < instances.length; i++) {
            int j = (instances.length -1) -i;
            if (instances[j] == null)
                continue;
            if (!(instances[j] instanceof ServletRequestListener))
                continue;
            ServletRequestListener listener =
                (ServletRequestListener) instances[j];

            try {
                listener.requestDestroyed(event);
            } catch (Throwable t) {
                ExceptionUtils.handleThrowable(t);
                getLogger().error(sm.getString(
                        "standardContext.requestListener.requestInit",
                        instances[j].getClass().getName()), t);
                request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
                return false;
            }
        }
    }
    return true;
}
项目:lams    文件:RequestContextListener.java   
@Override
public void requestInitialized(ServletRequestEvent requestEvent) {
    if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
        throw new IllegalArgumentException(
                "Request is not an HttpServletRequest: " + requestEvent.getServletRequest());
    }
    HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
    ServletRequestAttributes attributes = new ServletRequestAttributes(request);
    request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
    LocaleContextHolder.setLocale(request.getLocale());
    RequestContextHolder.setRequestAttributes(attributes);
}
项目:lams    文件:ApplicationListeners.java   
public void requestDestroyed(final ServletRequest request) {
    final ServletRequestEvent sre = new ServletRequestEvent(servletContext, request);
    for (int i = servletRequestListeners.length - 1; i >= 0; --i) {
        ManagedListener listener = servletRequestListeners[i];
        try {
            this.<ServletRequestListener>get(listener).requestDestroyed(sre);
        } catch (Exception e) {
            UndertowServletLogger.REQUEST_LOGGER.errorInvokingListener("requestDestroyed", listener.getListenerInfo().getListenerClass(), e);
        }
    }
}
项目:apache-tomcat-7.0.73-with-comment    文件:StandardContext.java   
@Override
public boolean fireRequestInitEvent(ServletRequest request) {

    Object instances[] = getApplicationEventListeners();

    if ((instances != null) && (instances.length > 0)) {

        ServletRequestEvent event = 
                new ServletRequestEvent(getServletContext(), request);

        for (int i = 0; i < instances.length; i++) {
            if (instances[i] == null)
                continue;
            if (!(instances[i] instanceof ServletRequestListener))
                continue;
            ServletRequestListener listener =
                (ServletRequestListener) instances[i];

            try {
                listener.requestInitialized(event);
            } catch (Throwable t) {
                ExceptionUtils.handleThrowable(t);
                getLogger().error(sm.getString(
                        "standardContext.requestListener.requestInit",
                        instances[i].getClass().getName()), t);
                request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
                return false;
            }
        }
    }
    return true;
}
项目:apache-tomcat-7.0.73-with-comment    文件:StandardContext.java   
@Override
public boolean fireRequestDestroyEvent(ServletRequest request) {
    Object instances[] = getApplicationEventListeners();

    if ((instances != null) && (instances.length > 0)) {

        ServletRequestEvent event = 
            new ServletRequestEvent(getServletContext(), request);

        for (int i = 0; i < instances.length; i++) {
            int j = (instances.length -1) -i;
            if (instances[j] == null)
                continue;
            if (!(instances[j] instanceof ServletRequestListener))
                continue;
            ServletRequestListener listener =
                (ServletRequestListener) instances[j];

            try {
                listener.requestDestroyed(event);
            } catch (Throwable t) {
                ExceptionUtils.handleThrowable(t);
                getLogger().error(sm.getString(
                        "standardContext.requestListener.requestInit",
                        instances[j].getClass().getName()), t);
                request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
                return false;
            }
        }
    }
    return true;
}
项目:lazycat    文件:StandardContext.java   
@Override
public boolean fireRequestInitEvent(ServletRequest request) {

    Object instances[] = getApplicationEventListeners();

    if ((instances != null) && (instances.length > 0)) {

        ServletRequestEvent event = new ServletRequestEvent(getServletContext(), request);

        for (int i = 0; i < instances.length; i++) {
            if (instances[i] == null)
                continue;
            if (!(instances[i] instanceof ServletRequestListener))
                continue;
            ServletRequestListener listener = (ServletRequestListener) instances[i];

            try {
                listener.requestInitialized(event);
            } catch (Throwable t) {
                ExceptionUtils.handleThrowable(t);
                getLogger().error(sm.getString("standardContext.requestListener.requestInit",
                        instances[i].getClass().getName()), t);
                request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
                return false;
            }
        }
    }
    return true;
}
项目:lazycat    文件:StandardContext.java   
@Override
public boolean fireRequestDestroyEvent(ServletRequest request) {
    Object instances[] = getApplicationEventListeners();

    if ((instances != null) && (instances.length > 0)) {

        ServletRequestEvent event = new ServletRequestEvent(getServletContext(), request);

        for (int i = 0; i < instances.length; i++) {
            int j = (instances.length - 1) - i;
            if (instances[j] == null)
                continue;
            if (!(instances[j] instanceof ServletRequestListener))
                continue;
            ServletRequestListener listener = (ServletRequestListener) instances[j];

            try {
                listener.requestDestroyed(event);
            } catch (Throwable t) {
                ExceptionUtils.handleThrowable(t);
                getLogger().error(sm.getString("standardContext.requestListener.requestInit",
                        instances[j].getClass().getName()), t);
                request.setAttribute(RequestDispatcher.ERROR_EXCEPTION, t);
                return false;
            }
        }
    }
    return true;
}
项目:xiaov    文件:XiaoVServletListener.java   
@Override
public void requestDestroyed(final ServletRequestEvent servletRequestEvent) {
    try {
        super.requestDestroyed(servletRequestEvent);
    } finally {
        Stopwatchs.release();
    }
}
项目:spring4-understanding    文件:RequestContextListener.java   
@Override
public void requestInitialized(ServletRequestEvent requestEvent) {
    if (!(requestEvent.getServletRequest() instanceof HttpServletRequest)) {
        throw new IllegalArgumentException(
                "Request is not an HttpServletRequest: " + requestEvent.getServletRequest());
    }
    HttpServletRequest request = (HttpServletRequest) requestEvent.getServletRequest();
    ServletRequestAttributes attributes = new ServletRequestAttributes(request);
    request.setAttribute(REQUEST_ATTRIBUTES_ATTRIBUTE, attributes);
    LocaleContextHolder.setLocale(request.getLocale());
    RequestContextHolder.setRequestAttributes(attributes);
}
项目:spring4-understanding    文件:RequestContextListenerTests.java   
@Test
public void requestContextListenerWithDifferentThread() {
    final RequestContextListener listener = new RequestContextListener();
    final MockServletContext context = new MockServletContext();
    final MockHttpServletRequest request = new MockHttpServletRequest(context);
    request.setAttribute("test", "value");

    assertNull(RequestContextHolder.getRequestAttributes());
    listener.requestInitialized(new ServletRequestEvent(context, request));
    assertNotNull(RequestContextHolder.getRequestAttributes());
    assertEquals("value",
            RequestContextHolder.getRequestAttributes().getAttribute("test", RequestAttributes.SCOPE_REQUEST));
    MockRunnable runnable = new MockRunnable();
    RequestContextHolder.getRequestAttributes().registerDestructionCallback(
            "test", runnable, RequestAttributes.SCOPE_REQUEST);

    // Execute requestDestroyed callback in different thread.
    Thread thread = new Thread() {
        @Override
        public void run() {
            listener.requestDestroyed(new ServletRequestEvent(context, request));
        }
    };
    thread.start();
    try {
        thread.join();
    }
    catch (InterruptedException ex) {
    }
    // Still bound to original thread, but at least completed.
    assertNotNull(RequestContextHolder.getRequestAttributes());
    assertTrue(runnable.wasExecuted());

    // Check that a repeated execution in the same thread works and performs cleanup.
    listener.requestInitialized(new ServletRequestEvent(context, request));
    listener.requestDestroyed(new ServletRequestEvent(context, request));
    assertNull(RequestContextHolder.getRequestAttributes());
}
项目:leopard    文件:TopnbRequestServletRequestListener.java   
@Override
public void requestInitialized(ServletRequestEvent sre) {
    // System.err.println("requestInitialized:" + sre);
    START.set(System.nanoTime());

    // methodtime
    HttpServletRequest request = (HttpServletRequest) sre.getServletRequest();
    RequestHolder.setRequest(request);
    String uri = request.getRequestURI();
    EntryService.add(uri);
}
项目:leopard    文件:TopnbRequestServletRequestListener.java   
@Override
public void requestDestroyed(ServletRequestEvent sre) {
    long start = START.get();
    long time = System.nanoTime() - start;

    HttpServletRequest request = (HttpServletRequest) sre.getServletRequest();
    String url = request.getRequestURI();
    // System.out.println("add:" + url + " time:" + time);
    topService.add(url, time);
}
项目:sumk    文件:RequestListener.java   
@Override
public void requestDestroyed(ServletRequestEvent sre) {
    if (sre == null) {
        return;
    }
    HttpHeadersHolder.remove();
}
项目:sumk    文件:RequestListener.java   
@Override
public void requestInitialized(ServletRequestEvent sre) {
    if (sre == null) {
        return;
    }
    ServletRequest request = sre.getServletRequest();
    if (HttpServletRequest.class.isInstance(request)) {
        HttpHeadersHolder.setHttpRequest((HttpServletRequest) request);
    }

}
项目:tomcat-8-wffweb-demo-apps    文件:WSServerForIndexPage.java   
@Override
public void requestDestroyed(ServletRequestEvent sre) {
    httpSession = ((HttpServletRequest) sre.getServletRequest())
            .getSession();
    LOGGER.info("requestDestroyed httpSession " + httpSession);

}
项目:domui    文件:WebApplicationListener.java   
@Override
public void requestDestroyed(ServletRequestEvent e) {
    LOG.debug("Request destroyed");
    Container c = Iocular.findRequestContainer((HttpServletRequest) e.getServletRequest());
    if(c != null)
        c.destroy();
}
项目:symphonyx    文件:SymphonyServletListener.java   
@Override
public void requestInitialized(final ServletRequestEvent servletRequestEvent) {
    final HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequestEvent.getServletRequest();

    httpServletRequest.setAttribute(Keys.TEMAPLTE_DIR_NAME, Symphonys.get("skinDirName"));

    if (Requests.searchEngineBotRequest(httpServletRequest)) {
        LOGGER.log(Level.DEBUG, "Request made from a search engine[User-Agent={0}]", httpServletRequest.getHeader("User-Agent"));
        httpServletRequest.setAttribute(Keys.HttpRequest.IS_SEARCH_ENGINE_BOT, true);

        return;
    }

    httpServletRequest.setAttribute(Keys.HttpRequest.IS_SEARCH_ENGINE_BOT, false);

    if (StaticResources.isStatic(httpServletRequest)) {
        return;
    }

    // Gets the session of this request
    final HttpSession session = httpServletRequest.getSession();
    LOGGER.log(Level.TRACE, "Gets a session[id={0}, remoteAddr={1}, User-Agent={2}, isNew={3}]",
            new Object[]{session.getId(), httpServletRequest.getRemoteAddr(), httpServletRequest.getHeader("User-Agent"),
                session.isNew()});

    resolveSkinDir(httpServletRequest);
}