Guten Tag,
ich möchte Nutzerinformationen ein einer HashMap speichern, damit ich auf ihre Verbindungen und Usernamen zugreifen kann.
Ich poste jetzt erstmal meinen Code und gebe anschließend meine Gedankengänge zum besten
Ich weiß, dass das PathParam quasi das Request des Clients "auffängt". Allerdings ich verstehe nicht ganz, was hier an dieser Stelle passiert:
Der Username ist klar. Aber was macht da der String in Klammern? Ich Schätze das ist der Zeiger. Ich hatte zuerst gedacht, dass da die Verbindungsdetails mitgeteilt werden, aber das passiert ja in der Session.
Ich hatte mich bei dem Code an ein Tutorial gehalten. Was da an sich passiert ist mir klar, bis auf die Sache mit dem @PathParam.
In dem Tutorial war oben neben der ServerEndpoint Notation das gestanden.
Was ich daran aber nicht verstehe, wo da die Verbindung liegt. Aber auch das brachte nichts wegen wegen der NullPointer Exception die PathParam auslöst.
Also kurz:
Was genau macht PathParam und was bedeutet der String in Klammern. Und warum habe ich eine NullPointer Exception.
Über eine Erklärung wäre ich sehr dankbar.
Schon mal allen eine schöne Weihnachtszeit
ich möchte Nutzerinformationen ein einer HashMap speichern, damit ich auf ihre Verbindungen und Usernamen zugreifen kann.
Ich poste jetzt erstmal meinen Code und gebe anschließend meine Gedankengänge zum besten
Code:
@ServerEndpoint("/websocketendpoint")
public class WsServer {
private Session session;
private static Set<WsServer> chatEndpoints = new CopyOnWriteArraySet<>();
private static HashMap<String, String> users = new HashMap<>();
@OnOpen
public void onOpen(Session session, @PathParam("user_id") String username) throws IOException {
this.session = session;
System.out.print("Session: "+session);
chatEndpoints.add(this);
System.out.print("PathParam" + username);
session.getUserProperties().put("user_id", username);
users.put(session.getId(), username);
}
Ich weiß, dass das PathParam quasi das Request des Clients "auffängt". Allerdings ich verstehe nicht ganz, was hier an dieser Stelle passiert:
Code:
@PathParam("user_id") String username
Der Username ist klar. Aber was macht da der String in Klammern? Ich Schätze das ist der Zeiger. Ich hatte zuerst gedacht, dass da die Verbindungsdetails mitgeteilt werden, aber das passiert ja in der Session.
Ich hatte mich bei dem Code an ein Tutorial gehalten. Was da an sich passiert ist mir klar, bis auf die Sache mit dem @PathParam.
In dem Tutorial war oben neben der ServerEndpoint Notation das gestanden.
Code:
@ServerEndpoint(value="/chat/{username}")
Was ich daran aber nicht verstehe, wo da die Verbindung liegt. Aber auch das brachte nichts wegen wegen der NullPointer Exception die PathParam auslöst.
Also kurz:
Was genau macht PathParam und was bedeutet der String in Klammern. Und warum habe ich eine NullPointer Exception.
Über eine Erklärung wäre ich sehr dankbar.
Schon mal allen eine schöne Weihnachtszeit