`
huangxiaoke20
  • 浏览: 42344 次
  • 来自: 福建福州
最近访客 更多访客>>
社区版块
存档分类
最新评论

在DWR调用的java代码中使用Session,Request,Response等

阅读更多

DWR Java API

There are only 2 Java classes that you commonly need to depend on within DWR as a user - WebContext and WebContextFactory. In DWR 1.x these are in the uk.ltd.getahead.dwr package, for DWR 2.0 onwards they are in org.directwebremoting. These classes give you to access to the standard HTTP servlet objects:

  • HttpServletRequest
  • HttpServletResponse
  • HttpSession
  • ServletContext
  • ServletConfig

You use WebContext like this:

import uk.ltd.getahead.dwr.WebContext;
import uk.ltd.getahead.dwr.WebContextFactory;
///
WebContext ctx = WebContextFactory.get();
req = ctx.getHttpServletRequest();

It is important that you treat the HTTP request and response as read-only. While HTTP headers might get through OK, there is a good chance that some browsers will ignore them (IE ignores cache pragmas for example) Any attempt to change the HTTP body WILL cause DWR errors.

WebContext uses a ThreadLocal variable so you can use the line above anywhere in your code (so long as it has been fired off by DWR).

See also the JavaDoc for DWR in general, or the specific page for WebContext.

WebContext replaces ExecutionContext which is deprecated as of DWR 1.1.

Alternative Method

It is possible to get access to the HTTP servlet objects without writing code that depends on DWR - just have the needed parameter (i.e. HttpServletRequest, HttpServletResponse, HttpSession, ServletContext or ServletConfig) declared on your method. DWR will not include it on the generated stub and upon a call of the method it will fill it in automagically.

For example if you have remoted a class like this:

public class Remote {
  public void method(int param, ServletContext cx, String s) { ... }
}

Then you will be able to access it from Javascript just as though the ServletContext parameter was not there:

Remote.method(42, "test", callback);

DWR will do the work of filling in the parameter for you.

There is one slight caveat with this method. You should ensure you are not using the 'callback function as first parameter' idiom, instead use the 'callback as last parameter' or 'callback in meta-data object' idioms. See the scripting introduction

分享到:
评论

相关推荐

    springboot整合dwr实现js调用java方法

    通过DWR,开发者可以在不涉及繁琐的AJAX请求和响应处理的情况下,直接在JavaScript中调用Java对象的方法,使得前端和后端的通信变得更为便捷。 **整合SpringBoot与DWR** 1. **添加依赖**:在SpringBoot项目的`pom....

    dwr实例,JavaScript调用java方法的小例子

    通过"TestDwr"中的示例,你可以看到如何配置DWR,创建可调用的Java服务,以及在JavaScript中如何使用这些服务。这个实例可以帮助你快速理解和上手DWR,进一步探索如何在实际项目中运用这一技术。

    dwr测试,java调用js

    DWR的主要目标是简化AJAX(Asynchronous JavaScript and XML)开发,使得开发者能够轻松地在浏览器中调用服务器上的Java方法,就像调用本地JavaScript函数一样。这个技术极大地提升了用户体验,因为数据可以在不刷新...

    DWR中各种java方法的调用

    本文将详细探讨DWR的配置与使用,尤其是如何在JavaScript环境中调用Java方法,帮助初学者快速掌握这一技能。 #### 一、DWR配置详解:web.xml中的关键设置 ##### 1. 最小配置 在web.xml中,DWR的最基础配置涉及创建...

    DWR中取得session等信息.doc

    在 DWR 中取得 Session 等信息可以使用两种方法:使用 DWR 的 API 或者在 Java 服务方法中定义参数。后者是推荐的做法,因为它更简洁、更易于维护。无论使用哪种方法,都是为了获取用户信息,以便更好地实现业务逻辑...

    DWR技术文档、快速使用DWR、java技术

    DWR,全称Direct Web Remoting,是一种在Web应用程序中实现客户端JavaScript与服务器端Java代码之间直接交互的开源框架。它旨在简化远程方法调用(Remote Method Invocation,RMI)的过程,使得在浏览器环境中可以像...

    dwr dwr项目 js 调用 java 后台 方法 js调用java后台方法 后台方法 异步

    DWR使得开发者能够轻松地在Web应用中调用后台Java方法,就像调用本地JavaScript函数一样。下面将详细阐述DWR的工作原理、配置过程以及如何使用DWR实现JS调用Java后台方法。 1. **DWR概述** DWR的核心功能是提供一...

    怎么将利用DWR调用JAVA类方法所返回的ArrayList数组   赋值给   logiciterate 迭代器

    通过DWR,开发者可以在客户端JavaScript中直接调用服务器端的Java方法,而无需编写复杂的Ajax代码。这大大降低了开发难度,提高了开发效率。 #### 实现步骤 1. **配置DWR:** - 在项目中引入DWR相关的jar包。 - ...

    java dwr 使用例子

    Java DWR(Direct Web Remoting)是一个开源框架,它允许JavaScript和Java在Web应用程序中进行交互,实现异步通信,即Ajax(Asynchronous JavaScript and XML)功能。DWR简化了客户端与服务器端之间的数据交换,使得...

    DWR案例 js嗲用java代码

    这个案例是关于如何使用DWR来实现在JavaScript中调用Java代码的一个实例,特别适合初学者了解和学习。 DWR的核心思想是创建一个在客户端和服务器端之间的桥梁,使得JavaScript可以像调用本地函数一样调用远程的Java...

    Ext tree 结合dwr 调用后台数据

    DWR是一种让Java方法可以直接在JavaScript中调用的技术,无需编写复杂的AJAX代码。它通过在服务器端运行一个Servlet,允许前端JavaScript代码像调用本地函数一样调用远程服务器上的Java方法,实现了前后端的无缝通信...

    java与js相互调用,含可用的dwr.jar

    在提供的压缩包中,`js与java相互调用.docx`文档可能详细阐述了如何设置和使用DWR实现Java和JavaScript的交互,包括配置步骤、示例代码和最佳实践。建议仔细阅读这份文档,以深入理解DWR的工作原理和实际应用。 ...

    dwr推送及js访问java代码

    4. **JavaScript调用Java**:在JavaScript中,我们可以使用DWR的API来调用服务器端的方法。例如: ```javascript DWRUtil.useLoadingMessage("正在处理..."); MyService.executeTask(data, { success: function...

    dwr 各种调用方法

    dwr (Direct Web Remoting) 是一种开源技术,它允许在Web应用程序中实现在客户端JavaScript与服务器端Java之间进行安全的远程方法调用。DWR简化了前后端交互,使得前端可以直接调用后端的Java方法,就像调用本地函数...

    dwr示例代码,绝对好用

    4. **DWR API**:DWR提供了几种主要的API,如`DWRUtil`、`RemoteProxy`等,用于在JavaScript中创建和调用Java对象。例如,`create()`方法用于创建一个与后端Java对象的连接,`call()`方法用于执行远程方法。 5. **...

    DWR:java ajax application

    DWR使用了一种称为“动态远程调用”的技术,它允许JavaScript直接调用Java方法,并将结果返回给调用方。这种方式极大地简化了数据传输过程,同时也减少了网络延迟的影响。 ##### 3. 自动序列化与反序列化 DWR能够...

    dwr和java整合完整版例子

    1. **配置DWR**: 首先,你需要在Java项目的web.xml文件中配置DWR的Servlet。这包括设置DWR的过滤器、安全配置以及允许访问的类等。 2. **创建Java Beans**: 在服务器端,你需要定义一些Java类(通常称为Beans),...

    DWR调用及传参总结

    DWR (Direct Web Remoting) 是一种用于在Web应用程序中实现AJAX技术的框架,它允许JavaScript直接调用服务器端的Java方法,从而实现实时的动态数据交换。以下是对DWR调用及传参方式的详细说明: 1. **无返回值和...

    ext js配合dwr在java中的用法

    1. **配置DWR**:首先,在Java项目中集成DWR,添加DWR库,然后配置DWR的Context配置文件(如dwr.xml),定义允许JavaScript调用的Java类和方法。 2. **创建Java服务**:在Java后端编写需要暴露给前端的方法,这些...

Global site tag (gtag.js) - Google Analytics