DWR comet 消息推送 長連接

        引入的js文件:
<script type="text/javascript" src="dwr/engine.js"></script>
    <script type="text/javascript" src="dwr/util.js"></script>
    <script type="text/javascript" src="dwr/interface/Msgdeal.js"></script> 

javascript語言:

<script type="text/javascript">
function Test1(){    
	 var _data = "";
	 dwr.engine.setAsync(false);//設置同步
     Msgdeal.getMsg(1,function(data){_data = data;});//調用java中MsgDeal類的消息處理方法
     dwr.engine.setAsync(true); //設置到初始狀態
     document.getElementById("serverResponse").value= _data;   //設置獲取的值 
     if(_data > 0){//有新的消息
     	//是消息圖表閃動
     }else{
     	//沒有新消息
     }
}   

function init(){
	Test1();//先加載一次
	var time = 5000*10; //5*10秒
	window.setInterval('Test1()',time); 
}
</script>
  </head>
 
 <body onload="init()">
      新消息<input type="text" id="serverResponse" />
  </body>

dwr.xml

<?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="Msgdeal">
			<param name="class" value="com.msg.MsgDeal"/>
		</create>
	</allow>
</dwr>

web.xml裏面增加dwr支持:

<!-- dwr configuration -->	
<servlet>
  	<display-name>DWR Servlet</display-name>
  	<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>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>dwr-invoker</servlet-name>
  	<url-pattern>/dwr/*</url-pattern>
  </servlet-mapping>
	
  <servlet>
  	<servlet-name>MsgController</servlet-name>
  	<servlet-class>com.msg.MsgController</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>MsgController</servlet-name>
  	<url-pattern>/msgcontroller</url-pattern>
  </servlet-mapping>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章