Java 在Tomcat6中使用WebSocket

Java 在Tomcat6中使用WebSocket,java,tomcat,websocket,Java,Tomcat,Websocket,有没有办法在Tomcat6(业务需求)中使用WebSocket 我一直在尝试使用javax.websocket.jar,但我无法让它工作 这是我的密码: import java.io.IOException; import java.nio.ByteBuffer; import javax.websocket.OnMessage; import javax.websocket.Session; import javax.websocket.server.ServerEndpoint; @Se

有没有办法在Tomcat6(业务需求)中使用WebSocket

我一直在尝试使用javax.websocket.jar,但我无法让它工作

这是我的密码:

import java.io.IOException;
import java.nio.ByteBuffer;

import javax.websocket.OnMessage;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

@ServerEndpoint("/echoAnnotation")
public class EchoAnnotation {    @OnMessage
     public void echoTextMessage(Session session, String msg, boolean last) {
          try {
               if (session.isOpen()) {
                    session.getBasicRemote().sendText(msg, last);
               }
          } catch (IOException e) {
               try {
                    session.close();
               } catch (IOException e1) {
                    // Ignore
               }
          }
     }

}
和my web.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
   version="2.5"> 

    <description>
      Servlet and JSP Examples.
    </description>
    <display-name>Servlet and JSP Examples</display-name>

    <servlet>
        <servlet-name>echoAnnotation</servlet-name>
        <servlet-class>EchoAnnotation</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>echoAnnotation</servlet-name>
        <url-pattern>/echoAnnotation</url-pattern>
    </servlet-mapping>
</web-app>

Servlet和JSP示例。
Servlet和JSP示例
回声注释
回声注释
回声注释
/回声注释
但是,我无法建立websocket连接,我收到一条错误消息
Firefox无法在ws://192.168.1.101:8080/Prototype/echoAnnotation上建立到服务器的连接,直接转到页面会导致
HTTP状态404-Servlet echoAnnotation不可用


这可能吗?我做错了什么?

因为我发现tomcat 6不支持Java WebSocket。请参见

看来,
EchoAnnotation
没有被识别为servlet,因为它没有扩展任何servlet类型。对,这是因为我使用了javax.websocket的示例,它使用了tomcat或glassfish(但不是tomcat 6)更高版本中支持的注释。