• [JavaEE] DWR框架简介


    DWR框架简介
    DWR框架是一个可以允许你去创建AJAX WEB站点的JAVA开源库。它可以让你在浏览器的JavaScript代码中调用Web服务器的Java代码,就像Java代码在浏览器中一样。DWR工作原理是通过动态把Java类生成JavaScript,让使用者感觉调用就像发生在浏览器端。

    2、DWR的使用场合
    当我们的业务需要在页面不提交的情况下访问服务器端并实现页面数据局部刷新时,我们就可以使用DWR。

    3、DWR的使用步骤
    1、导入dwr的jar包

    2、编写一个dwr框架在页面中用JavaScript要调用到的java类。

    3、配置web.xml文件,将以下内容配置到web.xml中
      <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>
         <url-pattern>/dwr/*</url-pattern>
      </servlet-mapping>

    4、配置dwr.xml
    创建一个dwr.xml文件,将它放在web.xml所在的WEB-INF目录下。
    该文件在dwr的jar包中可以找到,里面的dtd导入语句可以拷贝过来。
    <?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>
           <create creator="new" javascript="testClass" >
            <param name="class" value= "com.entity.DwrClass" />
            <include method="sayHello"/>
        </create>
             <convert converter="bean" match="com.entity.BookType">
                      <param name="include" value="tname,desc" />
             </convert>          
       </allow>
    </dwr>

    5、编写jsp页面,用javascript调用后台的java代码
    ⑴在页面中引入以下javascript脚本
    <script type="text/javascript" src="dwr/interface/MyHelloWorld.js" ></script>
    <script type="text/javascript" src="dwr/engine.js" ></script>
    <script type="text/javascript" src="dwr/util.js" ></script>
    其中的第一句是由DWR框架在运行时自动生成的,dwr/是一个虚拟的路径,我们并不能真是的看到这个文件的存在。后面两句中的js文件在dwr的jar包中可以找到,需要把这两个文件复制到WebRoot/dwr文件夹中,这里也可以不取名叫dwr,但为了保持和前面自动生成的虚拟文件夹路径一致,所以我们也给它取名叫dwr。
    ⑵编写javascript调用后台java代码。如果从后台获取了返回值,还可以通过DOM技术将值表现在页面上,这时页面并不会被全局刷新,只是局部发生改变,可以极大提高用户体验。

    --------------------------------------

    欢迎您,进入 我系程序猿 的cnBlog博客。

    你不能改变你的过去,但你可以让你的未来变得更美好。一旦时间浪费了,生命就浪费了。

    You cannot improve your past, but you can improve your future. Once time is wasted, life is wasted.

    --------------------------------------

    分享到QQ空间  

  • 相关阅读:
    proc_create和create_proc_entry的区别
    ubuntn 12.04 rk环境及 相关使用 配置
    postcore_initcall(), arch_initcall(), subsys_initcall(), device_initcall() 调用顺序
    linux的zip 命令
    Mutex::AutoLock介绍
    camera 管脚功能和调试分析
    Android设备中实现Orientation Sensor(图)兼谈陀螺仪
    struct stat 操作 小结
    linux中字符串转换函数 simple_strtoul
    吴裕雄--天生自然轻量级JAVA EE企业应用开发Struts2Sping4Hibernate整合开发学习笔记:HibernateMap集合属性
  • 原文地址:https://www.cnblogs.com/jqmtony/p/4099243.html
Copyright © 2020-2023  润新知