国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

有關dwr推送的筆記

2019-11-14 21:52:03
字體:
來源:轉載
供稿:網友
有關dwr推送的筆記

想做一個web推送相關的東東,昨天搞了一天,終于把這些雜亂的配制弄清了,今天寫出來方便以后記住,也方便大家看一下吧

1:引入dwr包,我用的是maven

<dependency>    <groupId>org.directwebremoting</groupId>    <artifactId>dwr</artifactId>    <version>3.0.M1</version></dependency>

2:配制web.xml

我是在sPRingMVC下進行的

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"    xmlns="http://java.sun.com/xml/ns/javaee"    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"    version="2.5">    <display-name>SmallSP Web application</display-name>    <listener>        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>    </listener>    <listener>        <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>    </listener>    <context-param>        <param-name>contextConfigLocation</param-name>        <param-value>classpath:applicationContext.xml</param-value>    </context-param>    <servlet>        <servlet-name>springMVC</servlet-name>        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>        <init-param>            <param-name>contextConfigLocation</param-name>            <param-value>classpath*:mvc/springMVC.xml</param-value>        </init-param>        <load-on-startup>1</load-on-startup>    </servlet>    <servlet-mapping>        <servlet-name>springMVC</servlet-name>       <url-pattern>/dwr/*</url-pattern>    </servlet-mapping>    <servlet-mapping>        <servlet-name>springMVC</servlet-name>        <url-pattern>/</url-pattern>    </servlet-mapping>            <servlet-mapping>       <servlet-name>default</servlet-name>       <url-pattern>*.js</url-pattern>    </servlet-mapping>        <filter>        <filter-name>Set Encoding</filter-name>        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>        <init-param>            <param-name>encoding</param-name>            <param-value>utf8</param-value>        </init-param>    </filter>    <filter-mapping>        <filter-name>Set Encoding</filter-name>        <url-pattern>/*</url-pattern>    </filter-mapping></web-app>

以上代碼中添加的是以下這一段

<servlet-mapping>        <servlet-name>springMVC</servlet-name>       <url-pattern>/dwr/*</url-pattern>    </servlet-mapping><servlet-mapping>

3:配制springMVC.xml

在原有springMVC配制中添加以下

    <dwr:configuration />     <dwr:annotation-config id="dwr" />    <!-- 要求DWR將util.js和engine.js映射到dwrController -->    <dwr:url-mapping />    <!-- 定義dwr -->    <dwr:controller id="dwrController" debug="true">        <dwr:config-param name="allowScrsessionSecurity" value="false" />        <dwr:config-param name="pollAndCometEnabled " value="true"/>        <dwr:config-param name="activeReverseAjaxEnabled" value="true"/>        <dwr:config-param name="debug " value="true"/>    </dwr:controller>

4:配制RemoteProxy

@Controller@RemoteProxy(name = "directController") public class MyDwrController {      @RemoteMethod   public String ShowHello(){      return "hello";  }    @RemoteMethod  public void send(HttpServletRequest request,String msg){           ServletContext sc = request.getSession().getServletContext();           ServerContext sctx = ServerContextFactory.get(sc);                  //獲得當前瀏覽 index.jsp 頁面的所有腳本session           Collection<ScriptSession> sessions = sctx.getScriptSessionsByPage("/show");                Util util = new Util(sessions);                        ScriptBuffer sb = new ScriptBuffer();          sb.appendScript("show(");          sb.appendData(msg);          sb.appendScript(")");                    //推送          util.addScript(sb);                  //util.addFunctionCall("show", ": " + msg);                    //dwrtest為Javascript函數             } }

5:發送頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <!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>123</title><script type='text/javascript' src='/static/jquery-min.js'></script>  <script type='text/javascript' src='<c:url value="/dwr/engine.js"/>'></script>  <script type='text/javascript' src='<c:url value="/dwr/util.js" />'></script>  <script type='text/javascript'      src='<c:url value="/dwr/interface/directController.js" />'></script>  <script type="text/javascript">      function view() {          directController.ShowHello(function(data) {              alert(data);          });      }         function send(){        dwr.engine.setActiveReverseAjax(true);          directController.send($("#msg").val());     }       </script>  </head><body>           <input type="text" id="msg"  />       <input type="button" value="發送" id="but" onclick="send();" />      </body></html>

6:接收頁面

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>     <!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>Insert title here</title><script type='text/javascript' src='/static/jquery-min.js'></script>  <script type='text/javascript' src='<c:url value="/dwr/engine.js"/>'></script>  <script type='text/javascript' src='<c:url value="/dwr/util.js" />'></script>  <%-- <script type='text/javascript'      src='<c:url value="/dwr/interface/directController.js" />'></script>  --%>    <script type="text/javascript">      $(function(){          //這句話千萬不能少 ,表示允許使用推送技術          dwr.engine.setActiveReverseAjax(true);      });      //這個函數是提供給后臺推送的時候  調用的        function show(msg){          $("#message").text(msg);      }  </script> </head><body><div id="message" style="width: 200px;height: 200px;border: 1px solid red ; text-align: center; padding: 5px;"></div> </body></html>

總結:就是以上步驟了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 庆阳市| 宁强县| 永吉县| 沂水县| 九江市| 汕头市| 买车| 绥中县| 黔南| 罗平县| 樟树市| 六安市| 南岸区| 清水河县| 吴堡县| 定兴县| 铜山县| 仁化县| 大同县| 乌鲁木齐市| 右玉县| 信阳市| 乐业县| 陕西省| 兰考县| 宣城市| 正安县| 莒南县| 昂仁县| 固镇县| 凤凰县| 津南区| 锡林郭勒盟| 靖远县| 舒兰市| 新晃| 和平区| 武平县| 留坝县| 望奎县| 福泉市|