dwr开发小结

dwr version:2.0

请注意dwr的对比版本关系。

1.配置dwr响应,在工程的web.xml中添加:
1.1: dwr version :2.x配置如下:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>

<!-- This should NEVER be present in live -->
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet>

<!-- 服务起来后 在地址中直接输入 http://.../${projectName}/dwr 就可以查看对外提供的服务类 -->
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>


1.2: dwr version :1.x配置如下:
<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>
<!--用于拦截 http://localhost:8080/${projectName}/dwr-->
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>

2.暴露java对象给远程浏览器访问:
假设在com.demo.LoginCheck.java中有如下方法:
public String checkUser(String username, String password) {
if ("tomcat".equals(username) && "123".equals(password)) {
System.out.println("welecome use dwr framework .success!!");
return "welecome use dwr framework .success!!";
} else {
System.out.println("error ,you privileyes is not allow to here.");
return "error ,you privileyes is not allow to here.";
}
}

在工程的WEB-INF目录下新建dwr.xml文件,配置远程访问规则:
<?xml version="1.0" encoding="UTF-8"?>
<!--注意版本对应关系,dwr2.0...-->
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
"http://www.getahead.ltd.uk/dwr/dwr10.dtd">
<dwr>
<allow>
<create creator="new" javascript="loginCheck">
<param name="class" value="com.demo.LoginCheck" />
<include method="checkUser" />
</create>
</allow>
</dwr>

每个需要暴露给远程浏览器访问的类就需要配置一个create,其中:
creator: new 表构造函数创建对象, ioc 表通过IOC容器如spring创建对象 , bean 表通过bsf框架创建对象
javascript: 该属性表示在UI层页面引用时的对象名和DWR框架自动生成js文件的文件名

param :指定将那个类给暴露出来。
include:指定那个方法可以给远程访问,仅仅提供方法的名字就OK了。
exclude:指定那个方法禁止给远程访问,仅仅提供方法的名字就OK了,用以提高安全性。


3.UI访问:
首先需要在页面引入如下js文件:
<script type="text/javascript" src="/${工程名}/dwr/engine.js" ></script>
<script type="text/javascript" src="/${工程名}/dwr/interfact/loginCheck.js" ></script>
以上loginCheck.js 是在dwr的配置文件中配置的javascript的属性名

如果用到了dwr的工具类,还需引入:
<script type="text/javascript" src="/${工程名}/dwr/util.js" ></script>

下面就是一个完整的页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<html>
<head>
<title>My JSP 'index.jsp' starting page</title>
</head>
<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/loginCheck.js"></script>

<script type="text/javascript" >
function sendRequest(){
name= document.getElementsByName("username")[0].value;
password = document.getElementsByName("password")[0].value;
loginCheck.checkUser(username,password,active);
}
function active(data){
alert(data);
}
</script>
<body>
username:
<input type="text" name="username" />
<br />
password:
<input type="text" name="password" οnmοuseοut="sendRequest()" />
<br />
<input type="submit" value="提交" />
</body>
</html>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值