当前位置: 首页>>代码示例>>Java>>正文


Java HttpSessionBindingListener类代码示例

本文整理汇总了Java中javax.servlet.http.HttpSessionBindingListener的典型用法代码示例。如果您正苦于以下问题:Java HttpSessionBindingListener类的具体用法?Java HttpSessionBindingListener怎么用?Java HttpSessionBindingListener使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


HttpSessionBindingListener类属于javax.servlet.http包,在下文中一共展示了HttpSessionBindingListener类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: attributeUpdated

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
@Override
public void attributeUpdated(final Session session, final String name, final Object value, final Object old) {
    if(name.startsWith(IO_UNDERTOW)) {
        return;
    }
    final HttpSessionImpl httpSession = SecurityActions.forSession(session, servletContext, false);
    if (old != value) {
        if (old instanceof HttpSessionBindingListener) {
            ((HttpSessionBindingListener) old).valueUnbound(new HttpSessionBindingEvent(httpSession, name, old));
        }
        applicationListeners.httpSessionAttributeReplaced(httpSession, name, old);
    }
    if (value instanceof HttpSessionBindingListener) {
        ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(httpSession, name, value));
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:17,代码来源:SessionListenerBridge.java

示例2: serializeState

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
/**
 * Serialize the attributes of this session into an object that can be
 * turned into a byte array with standard Java serialization.
 *
 * @return a representation of this session's serialized state
 */
public Serializable serializeState() {
	HashMap<String, Serializable> state = new HashMap<String, Serializable>();
	for (Iterator<Map.Entry<String, Object>> it = this.attributes.entrySet().iterator(); it.hasNext();) {
		Map.Entry<String, Object> entry = it.next();
		String name = entry.getKey();
		Object value = entry.getValue();
		it.remove();
		if (value instanceof Serializable) {
			state.put(name, (Serializable) value);
		}
		else {
			// Not serializable... Servlet containers usually automatically
			// unbind the attribute in this case.
			if (value instanceof HttpSessionBindingListener) {
				((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
			}
		}
	}
	return state;
}
 
开发者ID:langtianya,项目名称:spring4-understanding,代码行数:27,代码来源:MockHttpSession.java

示例3: shouldUnbindOnInvalidate

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
@Test
public void shouldUnbindOnInvalidate() throws Exception {

    Map<String, Object> sampleData = new HashMap<>();
    HttpSessionBindingListener mockA = mock(HttpSessionBindingListener.class);
    HttpSessionBindingListener mockC = mock(HttpSessionBindingListener.class);
    sampleData.put("a", mockA);
    sampleData.put("b", "b");
    sampleData.put("c", mockC);
    sampleData.put("b", "b");
    when(session.data()).thenReturn(sampleData);
    vertxWrappedSession.invalidate();
    verify(session).destroy();
    ArgumentCaptor<HttpSessionBindingEvent> sessionBindingEventCaptor = ArgumentCaptor.forClass(HttpSessionBindingEvent.class);
    verify(mockA).valueUnbound(sessionBindingEventCaptor.capture());
    verify(mockC).valueUnbound(sessionBindingEventCaptor.capture());
    assertThat(sessionBindingEventCaptor.getAllValues()).hasSize(2);
    assertHttpSessionBindingEvent("a", mockA, sessionBindingEventCaptor.getAllValues().get(0));
    assertHttpSessionBindingEvent("c", mockC, sessionBindingEventCaptor.getAllValues().get(1));
}
 
开发者ID:mcollovati,项目名称:vaadin-vertx-samples,代码行数:21,代码来源:VertxWrappedSessionUT.java

示例4: removeAttribute

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
/**
 * Removes the object bound with the specified name from
 * this session.
 */
public void removeAttribute(String name) {
  maybeThrowIllegalStateException();
  checkValid();
  Object value = getAttribute(name);
  // notify binding listeners
  if (value != null) {
    sessionData_.remove(name);
    updateCache();
    if (value instanceof HttpSessionBindingListener) {
      ((HttpSessionBindingListener) value).valueUnbound(
        new HttpSessionBindingEvent(this, name));
    }
  }
  // notify attribute listeners
  ServletSessionCache.getCache(cacheId_).
    notifySessionAttributeRemoved(this, name);
}
 
开发者ID:bboypscmylife,项目名称:opengse,代码行数:22,代码来源:HttpSessionImpl.java

示例5: serializeState

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
/**
 * Serialize the attributes of this session into an object that can
 * be turned into a byte array with standard Java serialization.
 * @return a representation of this session's serialized state
 */
public Serializable serializeState() {
	HashMap state = new HashMap();
	for (Iterator it = this.attributes.entrySet().iterator(); it.hasNext();) {
		Map.Entry entry = (Map.Entry) it.next();
		String name = (String) entry.getKey();
		Object value = entry.getValue();
		it.remove();
		if (value instanceof Serializable) {
			state.put(name, value);
		}
		else {
			// Not serializable... Servlet containers usually automatically
			// unbind the attribute in this case.
			if (value instanceof HttpSessionBindingListener) {
				((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
			}
		}
	}
	return state;
}
 
开发者ID:edolganov,项目名称:live-chat-engine,代码行数:26,代码来源:MockHttpSession.java

示例6: serializeState

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
public Serializable serializeState() {
	HashMap<String, Serializable> state = new HashMap<String, Serializable>();
	for (Iterator<Map.Entry<String, Object>> it = this.attributes.entrySet().iterator(); it.hasNext();) {
		Map.Entry<String, Object> entry = it.next();
		String name = entry.getKey();
		Object value = entry.getValue();
		it.remove();
		if (value instanceof Serializable) {
			state.put(name, (Serializable) value);
		}
		else {
			// Not serializable... Servlet containers usually automatically
			// unbind the attribute in this case.
			if (value instanceof HttpSessionBindingListener) {
				((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
			}
		}
	}
	return state;
}
 
开发者ID:Armatiek,项目名称:xslweb,代码行数:21,代码来源:XSLWebHttpSession.java

示例7: serializeState

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
/**
 * Serialize the attributes of this session into an object that can
 * be turned into a byte array with standard Java serialization.
 * @return a representation of this session's serialized state
 */
public Serializable serializeState() {
    HashMap<String, Object> state = new HashMap<String, Object>();
    for (Iterator it = this.attributes.entrySet().iterator(); it.hasNext();) {
        Map.Entry entry = (Map.Entry) it.next();
        String name = (String) entry.getKey();
        Object value = entry.getValue();
        it.remove();
        if (value instanceof Serializable) {
            state.put(name, value);
        }
        else {
            if (value instanceof HttpSessionBindingListener) {
                ((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
            }
        }
    }
    return state;
}
 
开发者ID:sakaiproject,项目名称:sakai,代码行数:24,代码来源:EntityHttpServletRequest.java

示例8: setAttribute

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
/**
 * Binds an object to this session, using the name specified. If an object of 
 * the same name is already bound to the session, the object is replaced.
 * @param name The name to which the object is bound; cannot be null.
 * @param value The object to be bound.
 */
public void setAttribute(String name, Object value) {
    if (!isValid())
        throw new IllegalStateException(
            "Method is called on an invalidated session");
    if (value == null) removeAttribute(name);
    else {
        attributes.put(name, value);
        try {
            HttpSessionBindingListener listener = (HttpSessionBindingListener) value;
            listener.valueBound(new HttpSessionBindingEvent(this, name, value));
            listener.notifyAll();
        }
        catch (ClassCastException e) { }
    }
}
 
开发者ID:wzhishen,项目名称:youtube-cache,代码行数:22,代码来源:FakeSession.java

示例9: cleanUpAttributes

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
private void cleanUpAttributes() {
    if (!isValid())
        throw new IllegalStateException(
            "Method is called on an invalidated session");
    Iterator iter = attributes.entrySet().iterator();
    while (iter.hasNext()) {
        Entry e = (Entry) iter.next();
        String name = e.getKey() + "";
        Object value = e.getValue();
        iter.remove();
        try {
            HttpSessionBindingListener listener = (HttpSessionBindingListener) value;
            listener.valueUnbound(new HttpSessionBindingEvent(this, name, value));
            listener.notifyAll();
        }
        catch (ClassCastException err) { }
    }
}
 
开发者ID:wzhishen,项目名称:youtube-cache,代码行数:19,代码来源:FakeSession.java

示例10: serializeState

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
/**
 * Serialize the attributes of this session into an object that can be
 * turned into a byte array with standard Java serialization.
 * @return a representation of this session's serialized state
 */
public Serializable serializeState() {
	HashMap<String, Serializable> state = new HashMap<>();
	for (Iterator<Map.Entry<String, Object>> it = this.attributes.entrySet().iterator(); it.hasNext();) {
		Map.Entry<String, Object> entry = it.next();
		String name = entry.getKey();
		Object value = entry.getValue();
		it.remove();
		if (value instanceof Serializable) {
			state.put(name, (Serializable) value);
		}
		else {
			// Not serializable... Servlet containers usually automatically
			// unbind the attribute in this case.
			if (value instanceof HttpSessionBindingListener) {
				((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
			}
		}
	}
	return state;
}
 
开发者ID:gocd,项目名称:gocd,代码行数:26,代码来源:MockHttpSession.java

示例11: isWeb

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
private static boolean isWeb(final Class<?> beanClass) {
    if (Servlet.class.isAssignableFrom(beanClass)
        || Filter.class.isAssignableFrom(beanClass)) {
        return true;
    }
    if (EventListener.class.isAssignableFrom(beanClass)) {
        return HttpSessionAttributeListener.class.isAssignableFrom(beanClass)
               || ServletContextListener.class.isAssignableFrom(beanClass)
               || ServletRequestListener.class.isAssignableFrom(beanClass)
               || ServletContextAttributeListener.class.isAssignableFrom(beanClass)
               || HttpSessionListener.class.isAssignableFrom(beanClass)
               || HttpSessionBindingListener.class.isAssignableFrom(beanClass)
               || HttpSessionActivationListener.class.isAssignableFrom(beanClass)
               || HttpSessionIdListener.class.isAssignableFrom(beanClass)
               || ServletRequestAttributeListener.class.isAssignableFrom(beanClass);
    }

    return false;
}
 
开发者ID:apache,项目名称:tomee,代码行数:20,代码来源:WebContext.java

示例12: removeAttribute

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
@Override
public void removeAttribute(String name) {
    if (attributes != null) {
        Object value = attributes.get(name);
        if (value != null && value instanceof HttpSessionBindingListener) {
            ((HttpSessionBindingListener) value).valueUnbound(new HttpSessionBindingEvent(this, name, value));
        }
        attributes.remove(name);
    }
}
 
开发者ID:geeker-lait,项目名称:tasfe-framework,代码行数:11,代码来源:HttpSessionImpl.java

示例13: setAttribute

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
@Override
public void setAttribute(String name, Object value) {
    attributes.put(name, value);

    if (value != null && value instanceof HttpSessionBindingListener) {
        ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(this, name, value));
    }

}
 
开发者ID:geeker-lait,项目名称:tasfe-framework,代码行数:10,代码来源:HttpSessionImpl.java

示例14: attributeAdded

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
@Override
public void attributeAdded(final Session session, final String name, final Object value) {
    if(name.startsWith(IO_UNDERTOW)) {
        return;
    }
    final HttpSessionImpl httpSession = SecurityActions.forSession(session, servletContext, false);
    applicationListeners.httpSessionAttributeAdded(httpSession, name, value);
    if (value instanceof HttpSessionBindingListener) {
        ((HttpSessionBindingListener) value).valueBound(new HttpSessionBindingEvent(httpSession, name, value));
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:12,代码来源:SessionListenerBridge.java

示例15: attributeRemoved

import javax.servlet.http.HttpSessionBindingListener; //导入依赖的package包/类
@Override
public void attributeRemoved(final Session session, final String name, final Object old) {
    if(name.startsWith(IO_UNDERTOW)) {
        return;
    }
    final HttpSessionImpl httpSession = SecurityActions.forSession(session, servletContext, false);
    if (old != null) {
        applicationListeners.httpSessionAttributeRemoved(httpSession, name, old);
        if (old instanceof HttpSessionBindingListener) {
            ((HttpSessionBindingListener) old).valueUnbound(new HttpSessionBindingEvent(httpSession, name, old));
        }
    }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:14,代码来源:SessionListenerBridge.java


注:本文中的javax.servlet.http.HttpSessionBindingListener类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。