`

DWR(js访问类方法)

    博客分类:
  • DWR
dwr 
阅读更多
Ajax开源框架:
   DWR:服务器框架,它的好处是,响应如果是后台的java类。dwr引擎自动把类改装成servlet并通过web服务的方式。将函数库全部公开。
JS框架 
jQuery:客户端框架,它仅仅是将客户端的js和ajax的关键对象XMLHttpRequest的函数封装了而已
       比如$.ajax()
       类似jquery的前台框架:prototype、extJS、DOJO

   DWR的开发步骤:
     1.导入包(2个dwr包)
     2.定义xml的dtd,并导入dtd格式文件(dtd在这的作用:手写dwr.xml时可提示,避免手写时写错)
     3.编写前台和后台的访问逻辑
     4.定义dwr.xml引入dtd,包含需要公开的后台函数库(如:<include method="findCondition"/>)
        然后交给dwr引擎来处理整合函数库和前台的调用关系。
     5.通过/dwr为前缀的访问。产生dwr需要的三个js文件。util.js  enginee.js  XXX类.js
       (对于web,在地址栏输入:localhost:端口号/项目访问名/dwr,进入可显示相应的方法名以及js名,把js地址复制到jsp或html页面即可使用)
     6.通过回调获取访问的结果

  小结:通过这种方法,html页面也可实现数据交互,不必在意后台的语言(C,C#等都可以)。
  注意:dwr.xml需要与其dtd同级。web.xml中需要对dwr进行过滤配置
  说明:
localhost:端口号/项目访问名/dwr进入可显示相应的方法名以及js名,
1.方法名红色表示不能访问
   原因1:继承父类的函数,不能被访问。
   原因2:没有在dwr.xml中被include的函数,不能被访问


web.xml中需要加入:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

dwr.xml:
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "/WEB-INF/dwr10.dtd">
<dwr>
<allow>
   <create javascript="EmployeesDao" creator="new">
<param name="class" value="dao.EmployeesDao">
</param>
                       <include method="findAll"/>
                       <include method="findCondition"/>
    </create>
   <convert match="bean.Employees" converter="bean">
  <param name="include      value="empId,empFName,empLName,email,phone"></param>
   </convert>
</allow>
</dwr>
注:每个类都需要配一个create


每个需要被js访问的类,都需要一个create,一个param(确定类的路径),
include用于包含可调用的方法
<exclude>标签指定要防止被访问的方法。 注意:include和exclude不能同时存在。
当include与exclude都不写时,表示所有非继承类都可以被访问。


js中调用服务器的方式:
     EmployeesDao.findCondition(employee_id,function(v){
          result.innerHTML=v;
       });
EmployeesDao为dwr.xml中类的逻辑映射名,findCondition为对应类的方法,employee_id为js传给改方法的参数,function(v){... }为回调函数,v为服务器端该方法返回值


服务器端:
  普通方法,




转换器:(会把返回的User对象或全是User对象的集合转换成json格式后交给页面  服务端:  对象-->json) (<convert match="bean.Employees" converter="bean"></convert>搞定)
   

也可以把页面的json对象传给方法参数为实体对象的方法,由dwr将json转为对象,然后传给方法,即  json——>对象,(<param name="include" value="实体类属性列表" />这个配置搞定)

      <convert match="bean.Employees" converter="bean">
  <param name="include      value="empId,empFName,empLName,email,phone"></param>
   </convert>
分享到:
评论

相关推荐

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

    4. **配置DWR映射**:在`dwr.xml`配置文件中,声明你想要暴露给JavaScript的Java类和方法。这个文件通常放在`src/main/resources`目录下。 ```xml &lt;create creator="new" javascript="MyService"&gt; ``` ...

    DWR(包括engine.js+util.js).rar

    为了使用DWR,开发者需要在服务器端配置DWR引擎,定义允许访问的Java类和方法,并在客户端引入`engine.js`和`util.js`。然后,通过JavaScript代码就可以直接调用服务器端的方法,实现双向通信。 总之,DWR提供了一...

    dwr推送及js访问java代码

    1. **DWR配置**:项目中通常会有`dwr.xml`配置文件,用于配置DWR允许哪些Java类和方法被JavaScript调用。在这里,我们可能会看到类似这样的配置: ```xml &lt;create creator="new" javascript="MyService"&gt; ...

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

    6. **安全考虑**:DWR提供了多种安全机制,如白名单机制,只允许特定的Java类和方法被调用,防止未授权的访问。此外,还可以设置跨域策略,限制只有特定的域名可以访问DWR服务。 7. **回调函数**:在JavaScript中...

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

    3. **映射Java方法**:在DWR的配置文件(如dwr.xml)中,映射这些Java接口和方法,以便它们可以通过JavaScript访问。 4. **生成JavaScript API**:DWR会根据配置自动生成JavaScript API,这些API可以直接在浏览器中...

    DWR js框架 javascript框架 web与java交互 Direct Web Remoting Ajax开源框架

    - **配置DWR**:在Web应用的`web.xml`文件中配置DWR的Servlet和过滤器,指定允许访问的Java类和方法。 - **创建Java接口和实现**:定义服务器端的Java接口,实现这些接口以提供服务。 - **生成JavaScript接口**:...

    dwr 各种调用方法

    在`dwr.xml`配置文件中,你需要创建一个允许JavaScript访问的Java类,并指定其创建方式、JavaScript中的名称以及暴露的方法。例如,`&lt;create&gt;`标签创建一个名为`testClass`的JavaScript对象,它对应于`/...

    DWR的使用方法

    这里,`/dwr/interface/MyRemoteService.js`是DWR自动生成的JavaScript文件,包含了对`MyRemoteService`类的引用。调用`sayHello`方法后,DWR会自动发送一个HTTP请求到服务器,并在得到响应后执行回调函数。 **安全...

    dwr-任何java类-测试

    1. **配置文件**:DWR的配置文件(通常为`dwr.xml`)定义了哪些Java类和方法可以被JavaScript访问。你可以在这里指定安全策略,限制暴露给客户端的API。 2. **引擎(Engine)**:这是DWR的核心组件,负责处理...

    dwr测试,java调用js

    然后,创建一个Java类并暴露需要访问的方法。最后,在JavaScript中,你可以使用DWR提供的API(如`DWREngine`或`RemoteObject`)来调用这些方法,DWR会处理所有网络通信的细节。 2. **后台调用前端(Reverse Call...

    dwr.jar engine.js util.js,Dwr相关

    "engine.js"是DWR的客户端引擎文件,它包含了一组JavaScript库,使得在浏览器中可以轻松地调用服务器端的Java方法。这个文件应该被包含在Web页面中,以便Web应用能够利用DWR的功能。`engine.js`提供了诸如对象转换、...

    dwr教程+dwr.jar+util.js+engine.js

    `dwr.xml` 文件是DWR的配置文件,用于设置DWR的行为,如允许访问的Java类和方法、安全性设置、错误处理等。通过编辑这个文件,开发者可以控制哪些服务器端的对象和方法可以被AJAX调用,以及如何处理这些调用。此外,...

    DWR所需js文件及jar包以及配置说明

    - 在`dwr.xml`中,你可以配置`&lt;allow&gt;`元素来指定哪些Java类和方法可以暴露给JavaScript。例如: ```xml &lt;create creator="new" javascript="MyService"&gt; ``` - 安全性设置:可以使用`&lt;convert&gt;`元素来...

    dwr demo dwr简单使用

    这个文件定义了哪些服务器端的Java类和方法可以被JavaScript访问。你需要在这里配置允许客户端调用的Java类和方法。 4. **创建Java类**:DWR项目通常包含一些服务器端的Java类,这些类的方法会被暴露给JavaScript...

    DWR框架对各种类型方法调用的示例

    只需在DWR配置文件中声明该方法,然后在JavaScript中直接调用即可。这使得执行简单的查询或获取服务器状态等操作变得简单。 2. **有字符串参数的方法**: 在需要传递字符串数据到服务器端时,DWR支持将字符串作为...

    dwr 前台调用后台的java类 hello

    DWR简化了AJAX开发,使得前端JavaScript可以方便地调用后端的Java方法,仿佛它们都在同一个环境中运行。在本文中,我们将深入探讨如何使用DWR创建一个简单的"Hello, World!"应用,以理解其基本工作原理。 ### 一、...

    dwr js 查询 java jsp

    DWR通过创建JavaScript的代理类来调用服务器端的Java方法。这些代理类由DWR自动生成,使得前端开发者能够像调用本地JavaScript函数一样调用远程Java方法。这大大简化了客户端与服务器端的交互过程。 在JavaScript端...

    dwr3_helloword入门

    这涉及到编辑dwr.xml文件,该文件告诉DWR哪些Java类和方法可供JavaScript调用。你需要指定类的路径、在JavaScript中的对象名以及类的生命周期管理。例如,如果你有一个名为`MyTest`的JavaBean,你可能会在dwr.xml中...

    dwr用到的2个js文件

    1. **配置**:在服务器端,你需要配置DWR的`dwr.xml`文件,声明允许客户端访问的Java类和方法。 2. **初始化**:在HTML页面中,引入`engine.js`和`util.js`,然后调用`DWREngine.init`来启动DWR引擎。 3. **调用**:...

Global site tag (gtag.js) - Google Analytics