项目中实现的统计现在人数的例子

一、在web.xml中配置过滤器:

    <listener>
        <listener-class>com.geo.dsp.webapp.listener.UserCounterListener</listener-class>
    </listener>


1、启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener> 和<context-param>两个结点。 
2、紧急着,容创建一个ServletContext(servlet上下文),这个 web项目的所有部分都将共享这个上下文。 
3、容器将<context-param>转换为键值对,并交给 servletContext。 ---》容器的一些常量
4、容器创建<listener>中的类实例,创建监听器。  --》在应用启动前就完成

二、UserCounterListener此方法实现了ServletContextListener, HttpSessionAttributeListener这两个接口,监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent 

  se)方法,这样
就可以给在线人数加1。常用的监听接口有以下几个:
ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改属性。
ServletContextListener监听ServletContext。当创建ServletContext时,激发 contextInitialized(ServletContextEvent   sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContextEvent   sce)方法。
HttpSessionListener监听HttpSession的操作。当创建一个Session时,激发session   Created(HttpSessionEvent   se)方法;当销毁一个Session时,激发sessionDestroyed   (HttpSessionEvent   se)方法。
HttpSessionAttributeListener监听HttpSession中的属性的操作。当在Session增加一个属性时,激发 attributeAdded(HttpSessionBindingEvent   se)   方法;当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent   se)方法;当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent   se)   方法。



UserCounterListener设置全局变量USERS_KEY来保存登陆用户,页面读取

           <c:forEach items="${applicationScope.userNames}" var="user">
                      <tr align="center" οnmοuseοver="this.style.background='#f7f9fb'" οnmοuseοut="this.style.background=''" >
                        <td >&nbsp;${user.username}</td>
                        <td >&nbsp;${user.firstName} ${user.lastName}</td>
                     </tr>
           </c:forEach>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue项目使用Office.js可以实现Word、Excel、PowerPoint等Office文档的操作,下面是一个使用Office.js操作Word文档的例子: 1. 安装Office.js 在Vue项目安装Office.js可以使用npm包管理器,使用以下命令进行安装: ``` npm install @microsoft/office-js ``` 2. 引入Office.js 在Vue项目可以在需要使用Office.js的组件引入,例如在`HelloWorld.vue`组件引入: ```javascript import * as OfficeHelpers from '@microsoft/office-js-helpers'; ``` 3. 初始化Office.js 在组件定义一个`initOffice`方法,用于初始化Office.js,代码如下: ```javascript methods: { async initOffice() { try { await OfficeHelpers.loadOfficeJs(); console.log('Office.js is ready'); } catch (error) { console.error(error); } } } ``` 4. 创建Word文档 在组件定义一个`createWordDoc`方法,用于创建Word文档,代码如下: ```javascript methods: { async createWordDoc() { try { const document = await OfficeHelpers.Word.run(async context => { const range = context.document.getSelection(); range.insertText('Hello World!', 'Start'); return context.document; }); console.log('Document created:', document); } catch (error) { console.error(error); } } } ``` 在方法使用`OfficeHelpers.Word.run`方法创建Word文档,并在文档插入文本。 5. 调用初始化和创建Word文档方法 在`mounted`钩子函数调用`initOffice`方法进行Office.js初始化,在需要创建Word文档的地方调用`createWordDoc`方法,代码如下: ```javascript mounted() { this.initOffice(); }, methods: { async createDoc() { await this.createWordDoc(); } } ``` 以上就是使用Office.js操作Word文档的Vue项目例子

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值