`

Dwr的ScriptSessionListener使用,监听ScriptSessionListener的产生,消亡(2)

阅读更多

index.jsp

  <%
  //添加监听器
    Container container = ServerContextFactory.get().getContainer(); 
 ScriptSessionManager manager = container.getBean(ScriptSessionManager.class); 
 manager.addScriptSessionListener(new AddScriptSessionListener());
  %>

<script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/engine.js'></script>
<script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/util.js'></script>
<script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/interface/UserService.js'></script>

<body onload="dwr.engine.setActiveReverseAjax(true);">

-------------------------------------------------------------------------------------------------------

AddScriptSessionListener.java

 

 package com.huawei.listener;
 
 import java.util.HashMap;
 import java.util.Map;
 
 import org.directwebremoting.ScriptSession;
 import org.directwebremoting.WebContext;
 import org.directwebremoting.WebContextFactory;
 import org.directwebremoting.event.ScriptSessionEvent;
 import org.directwebremoting.event.ScriptSessionListener;
 
 public class AddScriptSessionListener implements ScriptSessionListener {
  public static Map<String, ScriptSession> sc=new HashMap<String, ScriptSession>();
 
  public void sessionCreated(ScriptSessionEvent ev) {
   WebContext webContext = WebContextFactory.get();
   sc.put(webContext.getSession().getId(), ev.getSession());
   System.out.println("add --------->"+ev.getSession().getId());
  }
 
  public void sessionDestroyed(ScriptSessionEvent ev) {
   System.out.println("remove --------->"+ev.getSession().getId());
  }
 
 
 }

----------------------------------------------------------------------

UserService.java

 

public void addUser(){
        ScriptBuffer script = new ScriptBuffer();  
        script.appendScript("add(").appendData(System.currentTimeMillis())  
          .appendScript(");");  
        sc2=AddScriptSessionListener.sc;
        for (String str:sc2.keySet()) {
         System.err.println("-------"+sc2.get(str).getId());
         sc2.get(str).addScript(script);  
  }
 }

 

 

//如果服务器关闭dwr还弹错误提示窗口,在页面上加上这一句
   dwr.engine.setErrorHandler(function(){});

 

分享到:
评论
1 楼 hehe264 2012-07-15  
在index.jsp 加监听器 报错。
No singleton ServerContext see logs for possible causes and solutions.
咋会事?

相关推荐

    DWR的使用方法

    **DWR(Direct Web Remoting)使用方法详解** DWR,全称为Direct Web Remoting,是一种开源Java技术,用于在Web应用程序中实现浏览器与服务器之间的实时双向通信。它允许JavaScript直接调用Java方法,就像它们在...

    Dwr的使用实例

    Dwr的使用实例 war文件 1. lib要导入包: dwr-2.0.M3.jar 2. web.xml配置: 3. WEB-INF下dwr.xml的配置 4. bean例子: 5. index.jsp的例子 详细内容请下载

    DWR 框架使用手册

    &lt;param-value&gt;WEB-INF/dwr2.xml ``` - 如果有多个Servlet,每个Servlet可以有自己的`dwr.xml`配置,如: ```xml &lt;servlet-name&gt;dwr-invoker1 &lt;servlet-class&gt;uk.ltd.getahead.dwr.DWRServlet ...

    dwr demo dwr简单使用

    在"Dwr demo - Dwr简单使用"这个项目中,你可以通过以下步骤了解和学习DWR的基本用法: 1. **环境准备**:首先确保你有Eclipse IDE,并且已经安装了Java Development Kit (JDK)。由于DWR是一个Java库,所以你需要一...

    java dwr 使用例子

    对于初学者来说,这是一个很好的起点,它涵盖了DWR基本的使用方式和配置,同时也提供了一个可运行的示例,帮助理解Ajax通信的工作原理。通过深入学习和实践,你可以利用DWR构建更复杂的交互式Web应用。

    适合初学者的DWR基本使用视频教程

    资源名称:适合初学者的DWR基本使用视频教程资源目录:【】dwr01_dwr的安装【】dwr02_dwr的转换器和异常处理【】dwr03_dwr的util的介绍【】dwr04_文件上传和与spring进行整合【】dwr05_dwr的debug和获取ServletAPI...

    DWR使用方法-step by step

    ### DWR使用方法详解:逐步指南 #### 一、引言 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它允许在浏览器端直接调用服务器端的方法,如同调用本地对象一样简单。本篇文章将从安装DWR、配置相关文件到...

    dwr跨域访问以及dwr的使用+dwr.jar

    2. **版本兼容性**:确保DWR版本与使用的浏览器版本兼容,避免出现不兼容问题。 3. **安全考虑**:跨域访问增加了安全风险,务必做好权限控制和安全配置。 总结,DWR作为一个强大的工具,极大地简化了Web应用的...

    Spring 2中整合DWR 2

    ### Spring 2中整合DWR 2:详细解析与实践 #### 一、Spring与DWR简介 在探讨如何在Spring 2框架中整合DWR 2之前,我们首先需要了解这两个技术的基本概念。 - **Spring框架**:Spring是目前Java开发中最流行的开源...

    DWR2相关资料

    通过这个示例项目,学习者可以深入理解DWR2的工作原理,如何配置和使用DWR,以及如何在实际项目中利用DWR提高用户体验。同时,它也提供了实践机会,帮助开发者熟练掌握DWR2的各种特性和用法。在探索这个压缩包的过程...

    dwr 2.jar dwr 2.jar

    dwr 2.jar dwr 2.jar

    dwr1+dwr2+dwr3 jar包

    在实际使用中,你需要根据项目需求选择合适的DWR版本。DWR1.0适用于简单的AJAX应用,而DWR2.0和DWR3.0则更适合大型、复杂的应用,尤其是那些需要高度定制和优化性能的项目。在部署时,将相应的jar包添加到Web应用的...

    dwr使用例子配置和使用

    下面我们将详细探讨DWR的配置和使用方法。 首先,配置DWR涉及以下几个关键步骤: 1. **引入DWR库**:在项目中添加dwr.jar,这是DWR的核心库,包含了所有必要的类和接口。 2. **创建Java类**:定义你需要在客户端...

    dwr 包的 使用入门

    以下是对DWR包的使用入门的详细说明: 1. **DWR的安装与配置**: - 在Java项目中引入DWR库,通常通过Maven或Gradle添加依赖。 - 配置DWR的`dwr.xml`文件,定义允许的远程方法和类,这是DWR的核心配置文件,用于...

    dwr的使用返回json

    要使用DWR返回JSON数据,首先需要在服务器端设置DWR配置。创建一个`dwr.xml`配置文件,在其中定义允许前端访问的Java类和方法。例如: ```xml ``` 这里,`com.example.MyService`是你定义的Java服务类...

    dwr配置和使用详解

    本篇文章将深入讲解DWR的配置与使用。 首先,配置DWR是使用它的第一步。在DWR的配置过程中,主要涉及到两个关键文件:`dwr.xml`和`web.xml`。`dwr.xml`是DWR的核心配置文件,它定义了哪些Java类和方法可以被...

    dwr dwrdwr

    dwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwrdwr dwr

    关于dwr及使用

    2. **DWR的配置**:在项目中使用DWR,首先需要在服务器端进行配置,包括在web.xml中配置DWR过滤器和Servlet,以及在项目的类路径下创建dwr.xml配置文件,用于定义允许客户端访问的Java类和方法。 3. **DWR的使用**...

    DWR 视频教程 使用DWR开发AJAX For JavaEE

    2. **环境配置**:如何在JavaEE环境中集成DWR,包括添加DWR库、配置web.xml文件,以及设置DWR的context配置文件。 3. **Java对象的远程化**:学习如何使用DWR的注解(如`@RemoteProxy`和`@Include`)将Java类和方法...

Global site tag (gtag.js) - Google Analytics