从HttpSessionEvent获取Request对象

时间:2012-09-11 13:46:40

标签: session httprequest httpresponse

我有一个Session监听器,扩展了PortalSessionListener。我有sessionCreated(HttpSessionEvent httpSessionEvent)sessionDestroyed(HttpSessionEvent httpSessionEvent)方法

当我的Session失效时(根据我在web.xml中的配置15分钟后),我的监听器被调用,Session无效。

在我的监听器中,我希望在注销用户之前清除Cookie值。所以,我想要RequestResponse个对象,以便我可以清除Cookie值并在Response中设置它。

但是,我怎样才能在Request / Response的听众中获得HttpSessionEvent个对象?

我试过下面的代码。但是,当调用我的sessionDestroyed方法或任何其他阶段时,不会调用此方法。

public void requestInitialized(ServletRequestEvent servletRequestEvent) 
 {
        log.debug("Entered into requestInitialized method");
        HttpServletRequest request = (HttpServletRequest) servletRequestEvent.getServletRequest();

        log.debug("Request object created is :" +request);

 }

有人建议实现Filter符合此要求(获取Request对象)。如何将其应用于我的场景?

1 个答案:

答案 0 :(得分:4)

这可能是相关的:

  

您可以访问RequestContextHolder并获取值

     

String ipAddr =   ((ServletRequestAttributes)RequestContextHolder.currentRequestAttributes())              。.getRequest()的getRemoteAddr();

Posted here