Java 在另一个类中使用会话接口

Java 在另一个类中使用会话接口,java,session,tomcat,websocket,Java,Session,Tomcat,Websocket,我有一个使用websocket API来处理websocket的web应用程序,下面是该部分的代码 package comm2.hello; import java.io.IOException; import java.util.ArrayList; import javax.websocket.OnClose; import javax.websocket.OnOpen; import javax.websocket.Session; import javax.websocket.ser

我有一个使用websocket API来处理websocket的web应用程序,下面是该部分的代码

package comm2.hello;

import java.io.IOException;
import java.util.ArrayList;

import javax.websocket.OnClose;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;

import org.apache.catalina.session.*;

@ServerEndpoint(value = "/echo")
public class wschat {
    private static ArrayList<Session> sessionList = new ArrayList<Session>();

    @OnOpen
    public void onOpen(Session session) {
        try {
            sessionList.add(session);
            // asynchronous communication
            session.getBasicRemote().sendText("hello");
        } catch (IOException e) {
        }
    }

    public void send(String text, Session session) throws IOException {
        session.getBasicRemote().sendText(text);
    }
}

如您所见,我将
main.java
类中的
session
变量设置为
null
,这将始终产生
null指针
错误。这是因为我不确定如何使
session
等于,是否有人知道在
main.java
中将
session
变量初始化为什么?

session是一个接口而不是类对象。您可能想要实现session的东西。@brso05对此不知道,很抱歉。所以我希望我的类可以扩展会话,如果我想的对或者实现它的话?如果你想创建一个会话,你可以自己实现它,或者可能已经有Java实现了。我不熟悉websocket,但当我在javax.websocket.Session包中查找会话时,它说它是一个接口,因此不能从中创建对象。
package comms;
import java.io.IOException;
import java.util.ArrayList;

import javax.websocket.Session;
import javax.websocket.Session;

import comm2.hello.*;
public class main {

    public static void main(String[] args) throws IOException {
        // TODO Auto-generated method stub
        wschat h = new wschat();
        String text = "hello";
        //session shouldn't be null but not sure what to make it
        Session session = null;
        h.send(text,session);
    }

}