dwr框架的入门
DWR(Direct Web Romoting):改善Web页面与java类交互的远程开元框架,允许在浏览器中使用java函数。dwr.xml就是将java转化为js文件,实质上调用的是js方法。一个简单的例子:1)把dwr.jar包拷在lib下面2)在web.xml里面注册dwr的核心Servlet <?xml version="1.0" encoding=&
·
DWR(Direct Web Romoting):改善Web页面与java类交互的远程开元框架,允许在浏览器中使用java函数。
dwr.xml就是将java转化为js文件,实质上调用的是js方法。
一个简单的例子:
1)把dwr.jar包拷在lib下面
2)在web.xml里面注册dwr的核心Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<!-- 这其实就是dwr.xml在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>
</servlet>
<!-- 这里是映射关系 -->
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3)dwr.xml:将java代码转化为JavaScript
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr/dwr30.dtd">
<dwr>
<!-- allow段落里面定义的是DWR可以创建和转换的类 -->
<allow>
<!-- new是创造对象class的。 JavaScript是用来指定被创造出来对象的名字。scope是用来指定你这个bean在是生命范围内。 -->
<!-- 将类TestDwr转化为JavaScript代码 -->
<create creator="new" javascript="CASCO" scope="application">
<param name="class" value="com.test.ajax.TestDwr" />
</create>
</allow>
</dwr>
4)index.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
</head>
<!-- 根本找不到这个js文件,因为就没有dwr文件夹,这个是dwr自带的,不需要管他 -->
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
<!-- 此处CASCO与dwr.xml中JavaScript="CASCO"一致,这个就是将java代码转化为JavaScript -->
<script type='text/javascript' src='dwr/interface/CASCO.js'></script>
<script language="javascript">
var mycall=function callBack(data){
dwr.util.setValue("demo1",data);
}
function showMyName(){
CASCO.getMyName(mycall);
}
function clearName(){
demo1.value="";
}
</script>
<body>
<input type="button" value="显示姓名" onclick="javascript:showMyName()">
<input type="button" value="清空" onclick="javascript:clearName()"><br>
<input type="text" id="demo1"><br>
</body>
</html>

更多推荐



所有评论(0)