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 onload="display();"> <div id="valueLabel"></div> </body> </html>
?
运行jetty.访问地址http://localhost:9999/comet.html效果如下:
?
1 楼
limingnihao
2011-08-04
没看懂啊。楼主,威慑呢么用jetty,tomcat支持么。
2 楼
hsys
2011-09-08
哥们,你这个导入了哪些包? 我用Tomcat做web容器,导入jetty的一些包,总是报错,java.lang.NullPointerException
at org.eclipse.jetty.websocket.WebSocketFactory.upgrade(WebSocketFactory.java:106)
at org.eclipse.jetty.websocket.WebSocketServlet.service(WebSocketServlet.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)
at org.eclipse.jetty.websocket.WebSocketFactory.upgrade(WebSocketFactory.java:106)
at org.eclipse.jetty.websocket.WebSocketServlet.service(WebSocketServlet.java:77)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
at java.lang.Thread.run(Thread.java:619)