文档章节

简单的DWR使用

IT-Mamba
 IT-Mamba
发布于 2017/07/25 10:18
字数 457
阅读 33
收藏 0
DWR

简介:DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在web服务器上的JAVA函数,就像它就在浏览器里一样。

1、导入相关jar包,maven项目

<dependency>
   <groupId>org.directwebremoting</groupId>
   <artifactId>dwr</artifactId>
   <version>2.0.1</version>
</dependency>

非maven项目可到DWR官网下载相关包,放置在lib下

2、在web.xml写相关配置

<!-- dwr 配置 -->
<servlet>
   <servlet-name>dwr-invoker</servlet-name>
   <servlet-class>
      org.directwebremoting.servlet.DwrServlet
   </servlet-class>
   <init-param>
      <param-name>debug</param-name>
      <param-value>true</param-value>
   </init-param>
   <init-param>   
        <param-name>crossDomainSessionSecurity</param-name>   
        <param-value>false</param-value>
       </init-param>
   <init-param>
      <param-name>classes</param-name>
      <param-value>java.lang.Object</param-value>
   </init-param>
   <load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
   <servlet-name>dwr-invoker</servlet-name>
   <url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

3、新建dwr.xml

放置在跟web.xml同级目录下

内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
   <init></init>
   <allow>
      <create javascript="dictManager" creator="spring">
         <param name="beanName">dictManager</param>
         <include method="getByCode" />
      </create>
      <create javascript="ecoPlatManager"
         creator="spring">
         <param name="beanName">ecoPlatManager</param>
         <include method="getPlatID" />
         <include method="getByNo" />
         <exclude method="getRandom" />
      </create>
   </allow>
</dwr>

简单解析:javascript="dictManager"    dictManager到了jsp使用方法时会用到

                creator="spring" 对象新建的方式,常见的还有 creator="new"

                include是类中能被调用的方法,若什么都没写则表示全部都开放

                <exclude>就是设置不允许被调用的

4.jsp页面中使用

首先配置script

<script type='text/javascript'
   src="${pageContext.request.contextPath}/dwr/interface/dictManager.js"></script>
<script type='text/javascript'
   src="${pageContext.request.contextPath}/dwr/engine.js"></script>
<script type='text/javascript'
   src="${pageContext.request.contextPath}/dwr/util.js"></script>

此处dictionaryTypeManager.js就是刚刚在dwr.xml中配置的

<script type="text/javascript">
   function checkCode()
   {
     var code = document.getElementById('code').value;
     if(code=='')
       return;
     dictManager.getByCode(code,
     { callback:function(dataFromServer)
      { 
         if(dataFromServer == null) {
                   document.getElementById("msg").innerHTML="";
            }else{
                   document.getElementById("msg").innerHTML="字典类型标识已经存在!";
                   document.getElementById("code").value='';
            }
      }
   });
   }
</script>

dictManager.java

@Service("dictManager")
public interface DictManager {
   public DictionaryType getByCode(String code);
}

具体实现写在实现类里

 

© 著作权归作者所有

共有 人打赏支持
IT-Mamba
粉丝 8
博文 123
码字总数 52078
作品 0
惠州
程序员
DWR简单实例

首先要导入DWR的jar包,同时导入common-logging包。DWR包的下载地址:http://directwebremoting.org/dwr/downloads/index.html 里面也有demo下载,有DWR的其他实例,我这里记录DWR最简单的一...

蜡笔小小小新
2015/09/09
47
0
Dwr 框架简单实例

Dwr 是一个 Java 开源库,帮助你实现Ajax网站。 它可以让你在浏览器中的Javascript代码调用Web服务器上的Java,就像在Java代码就在浏览器中一样。 Dwr 主要包括两部分: 在服务器上运行的 Se...

zsdnr
2017/07/21
0
0
Spring 整合dwr实例及详细步骤

dwr是属于Ajax框架的一种技术,其主要原理就是通过配置文件动态的将服务器端的java方法生成javascript方法,使客户端页面的js能方便的调用后台方法来处理数据,减轻服务器的压力而且实现了页...

javaEasy
2012/08/16
0
1
在 Spring Web MVC 环境下使用 DWR

DWR 简介 目前 Ajax 的开发框架有很多,使用这些框架可以简化 Ajax 的开发。DWR (Direct Web Remoting) 是一个用于改善 Web 页面与 Java 类交互的远程服务器端 Ajax 开源框架。DWR 可以动态生...

红薯
2011/01/12
1K
1
DWR Reverse Ajax

目前项目中的消息推送使用了DWR的Reverse Ajax,所以了解一下 Direct Web Remoting Reverse Ajax (http://directwebremoting.org/dwr/documentation/reverse-ajax/index.html) Index the ab......

豆仔
2012/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jetbrains系产品IDEA:mac上面提示快捷键设置

原因 由于Mac上面的Ctrl+空格变成输入法切换的快捷键,在使用IDEA的过程中,代码提示很不方便,需要使用option+/这种传统eclipse上面的代码提示快捷键作为主要快捷键。 怎么修改? 移除【opt...

亚林瓜子
34分钟前
0
0
Exclipse 输出结果时换行

System.out.println(f1 + "\n" + d1 + "\n" + d2);

笑丶笑
34分钟前
1
0
怎样治疗标签不能触发onblur事件

I realize this was over a year ago, but it showed up for me in Google while trying to solve this same issue. It seems Chrome does not consider some elements, like body and ancho......

Weijuer
37分钟前
0
0
vue常见库安装

移动设备上的浏览器默认会在用户点击屏幕大约延迟300毫秒后才会触发点击事件,这是为了检查用户是否在做双击。为了能够立即响应用户的点击事件,才有了FastClick。 安装fastclick npm insta...

林夏夕
39分钟前
0
0
kafka 教程(三) kafka Java API 编程

下午写

MrPei
40分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部