您现在的位置:首页 >> 前端 >> 内容

dwr快速入门

时间:2017/1/7 9:23:00 点击:

  核心提示:Dwr快速入门引入jar包:Web.xml配置dwrservletservlet-namedwr-invoker/servlet-nameservlet-classorg.directwebremot...

Dwr快速入门

引入jar包:

Web.xml配置dwr

<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>
       
        <init-param>
             <param-name>crossDomainSessionSecurity</param-name>
             <param-value>false</param-value>
      </init-param>
      <init-param>
            <param-name>allowScriptTagRemoting</param-name>
            <param-value>true</param-value>
      </init-param>
      <init-param>
            <param-name>activeReverseAjaxEnabled</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>

在web.xml同级目录新建个dwr.xml

<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting3.0//EN" "https://getahead.org/dwr/dwr30.dtd">
 
<dwr>
    <allow>
        <!--配置的一个演示类,JavaScript="Demo" 表示可以在页面中用Demo这个名称指向DwrDemo这个Java类,类中的方法可以在前台调用 -->
        <!-- creater="new"表示每调用一次时,都需要new一个 -->
        <create creator="new" javascript="DwrTest">
            <param name="class"value="com.th.dwr.DwrTest"/>
        </create>
       
        <!-- java类库类 -->
        <create creator="new" javascript="MyDate">
            <param name="class"value="java.util.Date"/>
        </create>
 
        <!-- 测试阶段使用,运营阶段不要使用 -->
        <!-- convert元素用于数据类型转换,即java类和javascript之间相互转换
        <convertconverter="exception" match="java.lang.Exception" />
        <convert converter="bean"match="java.lang.StackTraceElement" />
        -->
    </allow>
</dwr>

新建DwrTest类:

import java.util.Collection;
import org.directwebremoting.ScriptBuffer;
import org.directwebremoting.WebContext;
import org.directwebremoting.WebContextFactory;
import org.directwebremoting.proxy.dwr.Util;
 
public class DwrTest {
 
       public voidsend(String msg){
             
              WebContextwebContext = WebContextFactory.get();
              Collectionsessions = webContext.getAllScriptSessions();
              ScriptBuffersb = newScriptBuffer();
              sb.appendScript("callback(");
              sb.appendScript(msg);
              sb.appendScript(")");
              Utilutil = newUtil(sessions);
              util.addScript(sb);
       }
}

Jsp

//前两个js固定不变,第三个js引入自己类同名的js
<scripttype='text/javascript'src='${pageContext.request.contextPath}/dwr/engine.js'></scrit>
<script type='text/javascript'src='${pageContext.request.contextPath}/dwr/util.js'></script>
<scriptlanguage="javascript"src="${pageContext.request.contextPath}/dwr/interface/DwrTest.js"> </script>
 
<script type='text/javascript'src='<%=request.getContextPath() %>/js/jQuery-3.1.1.min.js'></script>
 
 
<script type="text/javascript">
       $(document).ready(
              function(){
                     dwr.engine.setActiveReverseAjax(true);
                    
                     $('#sign').click(function(){
                            DwrTest.send($('#msg').val());
                     })
              }     
       );
 
       functioncallback(msg){
              $('#ul').html($('#ul').html() + "<br/>" + msg);
       }
</script>
</head>
<body>
      
       <ul id="ul"style="color:red;font-size: 50px;"></ul>
       <input type="text"name="msg"id="msg"size="30"style="height50px;font-size: 35px;"> 
       <input type="button"id="sign"value="发布信息">
      
</body>

Tags:DW WR R快 快速 
作者:网络 来源:小菜鸟的博客
  • 上一篇:html5中CanvasAPI
  • 下一篇:NPMMagic