先看看整个工程在eclipse下的结构:
第一步:安装jar开发包。
从DWR官方网站http://directwebremoting.org/dwr/下载DWR的开发包。将dwr.jar这个开发包放到{APPLICATION_ WEB_HOME} \WEB-INF\lib目录下。
第二步:修改web.xml,添加Servlet映射。
修改后的文件如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
- <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>
===========================================
第三步:创建dwr.xml
在{APPLICATION_WEB_HOME}\WEB-INF目录下创建dwr.xml部署描述文件,其代码如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">
- <dwr>
- <allow>
- <create javascript="service" creator="new">
- <param name="class" value="com.mydwr.hello.Hello"/>
- </create>
- </allow>
- </dwr>
第四步:编写com.mydwr.hello.Hello类
- package com.mydwr.hello;
- public class Hello {
- public String sayHello(String yourName) {
- return "Hello," + yourName;
- }
- }
第五步:测试DWR
在浏览器地址栏中输入http://127.0.0.1:8080/dwr/dwr/,页面效果如图:
单击“service”链接,查看Javascript能够调用的com.mydwr.hello.Hello类的方法,其效果如图11-3所示。单击每个方法后面的“Execute”按钮,尝试执行这些方法。
第六步: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>Hello DWR</title>
- <meta http-equiv="pragma" content="no-cache">
- <meta http-equiv="cache-control" content="no-cache">
- <meta http-equiv="expires" content="0">
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
- <meta http-equiv="description" content="This is my page">
- <script type='text/javascript' src='dwr/util.js'></script>
- <script type='text/javascript' src='dwr/engine.js'></script>
- <script type='text/javascript' src='dwr/interface/service.js'></script>
- <script type="text/javascript">
- function firstDwr(){
- service.sayHello(document.getElementById('name').value,callBackHello);
- }
- function callBackHello(data){
- alert(data);
- }
- </script>
- </head>
- <body>
- <input type="text" id="name" name="name">
- <input type="button" value="测试DWR" οnclick="firstDwr()">
- <br>
- </body>
- </html>
OK,一切顺利
转载于:https://blog.51cto.com/huqianhao/955121