zoukankan      html  css  js  c++  java
  • Ajax 之 DWR

      DWR是开源框架,类似于hibernate。借助于DWR,开发人员无需具备专业的JavaScript知识就可以轻松实现Ajax,是Ajax更平民化。

    1. 添加jar包   dwr.jar   commons-logging-1.1.3.jar  Struts框架中有log包
    2. 修改项目的web.xml,添加Servlet映射
       1 <?xml version="1.0" encoding="UTF-8"?>
       2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
       3   <display-name>AjaxDwr</display-name>
       4   <welcome-file-list>
       5     <welcome-file>index.jsp</welcome-file>
       6   </welcome-file-list>
       7   <servlet>
       8       <servlet-name>dwr-invoker</servlet-name>
       9       <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
      10       <init-param>
      11           <param-name>debug</param-name>
      12           <param-value>true</param-value>
      13       </init-param>
      14       <!-- 添加crossDomainSessionSecurity参数 -->
      15       <init-param>
      16           <param-name>crossDomainSessionSecurity</param-name>
      17           <param-value>false</param-value>
      18       </init-param>
      19   </servlet>
      20   <servlet-mapping>
      21       <!-- 以/dwr/起始的全部URL所指向的请求都交给org.directwebremoting.servlet.DwrServlet 来处理 -->
      22       <servlet-name>dwr-invoker</servlet-name>
      23      <url-pattern>/dwr/*</url-pattern>
      24   </servlet-mapping>
      25 </web-app>
    3. 创建dwr.xml文件   在项目的web-inf 文件夹下创建
       1 <?xml version="1.0" encoding="UTF-8"?>
       2 <!DOCTYPE dwr PUBLIC 
       3     "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
       4     "http://www.getahead.ltd.uk/dwr/dwr10.dtd">
       5 <dwr>
       6     <allow>
       7     <!-- 配置文件定义哪个java类,可以被DWR应用创建并通过JavaScript调用,
       8         这里为java.util.Date,并给这个类赋予一个javascript名称 AjaxDate
       9         通过修改dwr.xml也可以将自定义的java类公开给JavaScript远程调用 
      10     -->
      11     <!-- creator属性时必须的,他指定了使用哪种创造器,
      12             new :最常用,他代表将使用java类默认的无参构造方法创建类的实例对象
      13             scripted :使用脚本语言来创建java类对象
      14             Spring : 使用spring框架的bean来创建对象
      15      -->
      16     <create creator="new" javascript="AjaxDate">
      17         <param name="class" value="java.util.Date"/>
      18         <!--  可以选择将类的方法公开给javascript调用 -->
      19         <include method="toString"/>
      20     </create>
      21     </allow>
      22 </dwr>
    4. 使用JavaScript远程调用Java类方法
       1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
       2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
       3 <html>
       4   <head>
       5     <title>DWR 应用</title>
       6     
       7     <script language="javascript" src="dwr/interface/AjaxDate.js"></script>
       8     <script language="javascript" src="dwr/engine.js"></script>
       9     <script language="javascript" src="dwr/util.js"></script> 
      10     <script language="javascript">
      11         function doTest(){
      12         AjaxDate.toString(load);
      13         }
      14         function load(data){
      15         window.alert("现在时间是:"+data);
      16         }
      17     </script>
      18   </head> 
      19   <body>
      20    <input type="button" value="查询现在时间" onclick="doTest()">
      21   </body>
      22 </html>
  • 相关阅读:
    C# 拖放操作源码详解
    Dev系列控件之XtraCharts(一)
    DateEdit如果开启Vista模式并显示日期+时间模式
    DevXpress控件: 第二篇将绘图进行到底: Charter控件(附图)
    C#操作Word (1)Word对象模型
    文曲星猜数,纯粹乱写
    转 浩方原理初步分析
    生成变换方向矩阵
    关于嵌套类的调用更新问题
    所有前n位可以被n整除的9位数
  • 原文地址:https://www.cnblogs.com/the-wang/p/7800691.html
Copyright © 2011-2022 走看看