微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

dwr的使用

DWR是一个Java库,它使Java在服务器和JavaScript在浏览器中进行互动,并尽可能简单地调用对方—官方解释。

DWR版本3.0.rc2是最近的开发版本。 DWR版本2.0.10是当前的稳定版本。

下面实例均采用2.0.1稳定版本。下载

Dwr很简单,就是在js中如何调用java代码。下面看一下dwr的配置过程。

第一步:拷贝dwr的jar包,只有一个dwr的jar包

第二步:在web.xml中添加如下配置

<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>
  </servlet>
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>  


上面的参数crossDomainSessionSecurity允许进行跨域的访问,认是false的,因为这样的话会导致一些风险。因为在测试过程中一直提示session error。加上此配置才节能解决问题。

第三步:编写java类和jsp页面

java类

package com.tgb.dwrtest;
 
public class Test {
         public String hello(String name,intage){
                   return "你好,你的姓名是【"+name+"】,年龄是:【"+age+"】";
         }
}


Jsp页面

<%@ page language="java"contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<!DOCTYPE htmlPUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<@R_502_5635@ http-equiv="Content-Type"content="text/html; charset=GB18030">
<title>Inserttitle here</title>
<script type="text/javascript"src="dwr/engine.js"></script>
<script type="text/javascript"src="dwr/util.js"></script>
<script type="text/javascript"src="dwr/interface/ test.js"></script>
<script type="text/javascript">
/* functiontest1(){
         T2.hello("张三",18,function(data){
                            alert(data);
                   }
         );
} */
function test1(){
         T2.hello(
                            "张三",function(data){
                                     alert(data);
                            }
                   );
}
</script>
</head>
<body>
<input type="button"value="测试" onclick="test1()">
</body>
</html>

上面引入的三个js文件前两个是在dwr的jar包中,所以不用拷贝js文件到webroot下即可使用,第三个test.js则是我们配置的js文件。即在dwr.xml文件配置。

<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE dwrPUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
<dwr>
  <allow>
    <create creator="new" javascript="test">
      <param name="class" value="com.bjsxt.dwrtest.Test"/>
    </create>
  </allow>
</dwr>

配置好后即可在js中调用java中写的代码

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐