天天看點

Dwr —— 第一個例子

步驟:

1、 引入dwr的依賴

<dependency>
	    <groupId>org.directwebremoting</groupId>
	    <artifactId>dwr</artifactId>
	    <version>3.0.1-RELEASE</version>
	</dependency>
           

2、在 web.xml中進行配置dwr,啟動dwr架構

<listener>
    <listener-class>org.directwebremoting.servlet.DwrListener</listener-class>
  </listener>
  
  <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>
  
    <load-on-startup>1</load-on-startup>
  </servlet>
   
  <servlet-mapping>
    <servlet-name>dwr-invoker</servlet-name>
    <url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
           

3、建立一個 java類

public class DwrHello {

	public String say(String name) {
		name = "hello:"+name;
		System.out.println(name);
		return name;
	}
}
           

4、在 WEB-INF目錄下,建立 dwr.xml檔案,進行dwr的詳細配置

<?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>
    <!-- 将java對象公布為javascript對象 -->
    <create creator="new">
      <param name="class" value="org.ljm.dwr.service.DwrHello"/>
    </create>
  </allow>

</dwr>
           

5、在需要用到dwr的jsp檔案中,引入dwr引擎和具體功能的js

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>dwr的第一個例子</title>
<!-- 必須引入dwr的引擎,此js檔案由dwr架構提供 -->
<script type="text/javascript" src="<%=request.getContextPath() %>/dwr/engine.js"></script>
<!-- 引入java對象轉成的js ,DwrHello就是類的名字-->
<script type="text/javascript" src="<%=request.getContextPath() %>/dwr/interface/DwrHello.js"></script>
<script type="text/javascript">
  /* 像java一樣調用js,函數的最後一個參數是回調函數,用來接收傳回值 */
  DwrHello.say("張三",function(data){
	  alert(data);
  });
</script>
</head>
<body>

</body>
</html>
           
dwr