yangzc106 发表于 2013-1-29 09:16:08

基于html5的WebSocket使用方式。承接jetty配置

html5学习总结:
 
创建类:WebSearchServlet.java
package org.search.servlet;import javax.servlet.http.HttpServletRequest;import org.eclipse.jetty.websocket.WebSocket;import org.eclipse.jetty.websocket.WebSocketServlet;public class WebSearchServlet extends WebSocketServlet{/** **/private static final long serialVersionUID = 5136484809757218548L;public WebSocket doWebSocketConnect(HttpServletRequest arg0, String arg1) {return new SearchServlet();}} 
创建类:SearchServlet.java
package org.search.servlet;import org.eclipse.jetty.websocket.WebSocket;public class SearchServlet implements WebSocket{public void onClose(int arg0, String arg1) {System.out.println("onClose");}public void onOpen(final Connection conn) {System.out.println("onOpen"); new Thread() {             @Override             public void run() {               try {               conn.sendMessage("sdfsdf");               int i =0;                     while (true) {                         sleep(1000);                         conn.sendMessage("Count:" + (i++));                     }               } catch (final Exception e) {                     System.err.println(e.getMessage());               }             }         }.start();}} 
在JSP目录下新建文件comet.html内容如下:
<html>   <head>         <title>WebSoket Demo</title>         <script type="text/javascript">             if (!window.WebSocket) {               alert("WebSocket not supported by this browser!");             }                        function display() {               var valueLabel = document.getElementById("valueLabel");               valueLabel.innerHTML = "";               var ws = new WebSocket("ws://localhost:9999/comet.do");               ws.onmessage = function(evt) {                     valueLabel.innerHTML = evt.data;               };               ws.onclose = function() {               };               ws.onopen = function() {                     ws.send("Hello, Server!");               };                           }         </script>   </head>   <body >         <div id="valueLabel"></div>   </body> </html> 
运行jetty.访问地址http://localhost:9999/comet.html效果如下:
 
http://dl.iteye.com/upload/attachment/476132/5ec2afe8-715f-3697-bfc3-518727d3fb2a.jpg
页: [1]
查看完整版本: 基于html5的WebSocket使用方式。承接jetty配置