`
Reverie夜
  • 浏览: 21179 次
  • 性别: Icon_minigender_1
  • 来自: 惠州
社区版块
存档分类
最新评论

struts2监听器

    博客分类:
  • JAVA
阅读更多

与拦截器差不多~配置→写类√两步解决~_(:зゝ∠)_,~这是一个统计在线人数的小测试~

web.xml中配置listener标签,用自定义的监听类替换掉原先的~session-config标签中设置session的超时时间

web.xml:

 

        <listener>
    	<!-- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> -->
    	<listener-class>com.web.listener.CountLineListener</listener-class>
	</listener>
	<!-- 设置session超时时间 -->
	<session-config>
		<session-timeout>60</session-timeout>
	</session-config>

 

 

CountLineListener.java:

package com.web.listener;

import java.text.SimpleDateFormat;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

import org.springframework.web.context.ContextLoaderListener;

/**
 * 监听器
 * @author Administrator
 *
 */
public class CountLineListener extends ContextLoaderListener implements HttpSessionListener{
	
	public CountLineListener() {
		super();
	}
	
	public void sessionCreated(HttpSessionEvent se) {
		System.out.println("创建session......"); 
        ServletContext context = se.getSession().getServletContext(); 
        Integer count = (Integer)context.getAttribute("count"); 
        if(count == null){ 
            count = new Integer(1); 
        }else{ 
            int co = count.intValue( ); 
            count= new Integer(co+1); 
        } 
        System.out.println(new SimpleDateFormat("HH:mm:ss").format(System.currentTimeMillis())+" 当前用户人数:"+count); 
        context.setAttribute("count", count);//保存人数
		
	}
	
	public void sessionDestroyed(HttpSessionEvent se) {
		System.out.println("销毁session......"); 
        ServletContext context = se.getSession().getServletContext(); 
        Integer count = (Integer)context.getAttribute("count"); 
        int co = 0;
        if(count != null)count.intValue();
        count = new Integer(co - 1); 
        context.setAttribute("count", count); 
        System.out.println(new SimpleDateFormat("HH:mm:ss").format(System.currentTimeMillis())+" 当前用户人数:"+count); 
		
	}
	
} 

session创建时会调用sessionCreated(HttpSessionEvent se)方法,销毁时调用sessionDestroyed(HttpSessionEvent se)方法,用不同浏览器测试√:


 

  • 大小: 1.9 KB
分享到:
评论

相关推荐

    Struts2的监听器的使用

    在Struts2中,监听器是用于监控特定事件并执行相应操作的重要组件。下面我们将深入探讨Struts2监听器的使用及其在实际开发中的作用。 首先,了解监听器在Web应用中的基本概念。监听器是Servlet容器(如Tomcat)中的...

    struts2拦截器及监听器示例demo

    默认登录页面 http://localhost:8080/Struts_ljq ...登录成功页面有add,delete,modify方法,配置有不同拦截,在后台看拦截信息。...有全局拦截器配置和方法拦截,及监听器简单运用, 仅新手学习demo

    STRUTS:listener监听器

    ### STRUTS:Listener监听器详解 #### 一、引言 在Java Web开发中,监听器(Listener)是十分重要的组成部分,它们主要用于监听特定事件的发生,并执行相应的处理逻辑。Struts框架作为早期流行的MVC架构之一,充分...

    struts2 Https 配置

    这通常涉及到修改服务器的配置文件(如Tomcat的`server.xml`),添加一个监听443端口的SSL连接器。你需要提供一个有效的SSL证书,这可以是自签名证书或者由权威证书颁发机构签发的证书。 ```xml SSLEnabled=...

    Struts2 拦截结果监听器(三十)

    在"Struts2 拦截结果监听器(三十)"这个主题中,我们将深入探讨Struts2的拦截器机制,特别是与拦截结果相关的监听器。 拦截器是Struts2的核心组件,它们按照预定义的顺序组成一个拦截器栈,每个拦截器在处理请求时...

    struts2+cas单点登陆例子

    2. **配置web.xml**:在项目的`web.xml`文件中,我们需要配置CAS过滤器和监听器,它们负责拦截请求,处理CAS的票据验证。过滤器会检查用户是否已经通过CAS验证,如果没有,则重定向到CAS服务器的登录页面。 3. **...

    Struts2漏洞2.0.xx升级为Struts-2.5.12步骤

    查看官方文档,确认并更新任何必要的配置元素,如过滤器和监听器。 **6. 更新Struts配置** 检查所有的`.struts.xml`配置文件,确保它们与新版本兼容。可能需要更新或删除不再支持的配置选项。 **7. 修复动作类和...

    Struts2教程DOC版

    本教程将逐步引导你了解并实践这些核心概念,从创建第一个Struts2项目,到配置Action、编写拦截器、处理表单提交、实现文件上传,再到利用Tiles进行页面布局,一步步深化对Struts2的理解。无论你是初学者还是有经验...

    struts2PreResultListener接口

    在Struts2配置文件(struts.xml)中,你需要将自定义的监听器添加到Action或全局拦截器栈中: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; &lt;!-- 添加自定义预结果监听器 --&gt; ...

    Struts2属性文件详解

    该属性用于指定加载Struts 2配置文件的配置文件管理器,默认值为`org.apache.struts2.config.DefaultConfiguration`,这是Struts 2默认的配置文件管理器。若需要实现自定义的配置管理器,则需创建一个实现了`...

    struts2所有包和配置文件

    这是每个Java Web应用的标准部署描述符,用于配置应用程序的基本设置,比如Servlet、过滤器和监听器。在Struts2中,`web.xml`通常会包含Struts2的前端控制器Servlet,即`org.apache.struts2.dispatcher.ng.filter....

    搭建struts2的jar包

    4. **配置web.xml**:这是Servlet容器的配置文件,需要配置Struts2的过滤器和监听器。 5. **编写Action类**:Action类是业务逻辑的入口点,继承自Struts2的ActionSupport类。 6. **创建配置文件**:编写struts.xml...

    搭建SSH框架需要引入的Struts2包(log4j,spring-web,struts2-spring-plugin)

    Spring Web模块包含了Servlet监听器、过滤器、DispatcherServlet等核心组件,它们协同工作以接收请求、解析请求参数、执行业务逻辑并返回响应。此外,Spring还提供了事务管理、数据访问/集成、AOP等功能,极大地增强...

    flex与struts2整合

    配置包括定义Flex的上下文监听器、消息代理Servlet等,这些都是Flex与Struts2之间通信的关键组件。 #### 三、深入理解整合原理 整合Flex与Struts2不仅仅是在项目中简单地添加几个库或配置文件。更重要的是理解两者...

    Struts2 tiles操作例子

    在`web.xml`中,我们注册了`StrutsTilesListener`监听器,并配置了tiles容器的定义位置。这是tiles插件能够正确解析和应用布局的关键所在。 #### 3.4 struts.xml配置 最后,在`struts.xml`中,我们定义了一个名为...

    struts2 开发依赖的所有jar包

    为了确保项目能够成功运行,开发者需要正确地配置这些jar包,包括将它们添加到构建路径、设置web.xml中的过滤器和监听器,以及可能需要的额外配置文件如struts.xml。同时,了解每个jar包的功能和用途,可以帮助...

    struts2必备的包和配置文件

    2. `web.xml`:这是Servlet容器的部署描述符,用于配置过滤器和监听器。在Struts2中,你需要配置`StrutsPrepareAndExecuteFilter`来拦截HTTP请求并交给Struts2框架处理。 在实际开发中,可能还需要根据需求添加其他...

    struts2整合fileupload

    Struts2整合FileUpload是Java Web开发中常见的一项任务,它允许用户在应用程序中上传文件。Struts2是一个强大的MVC框架,而FileUpload则是一个处理文件上传的库,通常与Struts2结合使用,以提供更完善的文件上传功能...

    struts2 拦截器 权限 ajax jsp

    Struts2是一个强大的MVC(模型-视图-控制器)框架,它在Java Web开发中广泛应用。拦截器是Struts2框架的核心特性之一,能够帮助开发者实现诸如日志记录、性能监控、事务管理以及权限控制等多种功能。在这个场景中,...

    Struts2框架笔记

    此外,还需要配置监听器(Listener)来加载Struts2的配置文件。 - **配置示例**: ```xml &lt;filter-name&gt;struts2 &lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter ...

Global site tag (gtag.js) - Google Analytics