Frage

Ich schreibe einen kleinen Webserver in Java, verwende HttpCore Für die meisten HTTP -Anforderungen/Antworten usw.
Jetzt möchte ich Cookies erstellen, speichern und laden können. Ich kann nichts finden in HttpCore Und ich bin mit anderen Bibliotheken nicht so vertraut. Gibt es eine existierende Bibliothek (vorzugsweise mit einem funktionierenden Beispiel), um Cookies zu verarbeiten?

Bearbeiten: Ich sehe, ich war ein bisschen verwirrt über die Verwendung von Keksen. Ich bin mir nicht ganz sicher, wie es funktioniert, aber ich möchte eine Sitzung beibehalten und auf Sitzungsvariablen vom Webserver zugreifen. Wie kann ich das machen? Wenn der Browser Cookies speichert, sendet er sie an den Server? Wie greife ich auf sie zu?

War es hilfreich?

Lösung

Sitzungsunterstützung in einem Server, wird normalerweise mit einem Objektspeicher erstellt. Ein einfacher Objektspeicher wäre eine Karte oder ein Satz. Die Objekte in diesem Speicher (die Werte im Fall der Karte) haben eine Eins-zu-Eins-Zuordnung mit dem Konzept einer logischen Sitzung, dh für jede vom Server erstellte Sitzung gibt es einen Element im Geschäft.

Die vom Geschäft verwalteten Sitzungen können ermöglichen, dass Attribute damit verbunden werden. Die Liste solcher Attribute ist möglicherweise nicht zuvor nicht bekannt, daher benötigen Sie für diesen Zweck eine andere Karte. Die Schlüssel wären die Attributnamen und die Werte wären Attributwerte.

In Bezug auf die Verwaltung des Sitzungsgeschäfts müssen Sie eine neue Sitzung im Geschäft erstellen, wenn ein API -Anruf an Ihren Server getätigt wird. Wenn eine Webanwendung beschließt, eine Sitzung zu erstellen, muss die API des Servers die erforderliche Schnittstelle dafür bereitstellen. Das Erstellen des Sitzungsobjekts allein reicht nicht aus. Sie müssen auch die Sitzungs -ID als Cookie herausstellen, wenn Sie die Sitzung zum ersten Mal erstellen. Die API muss das Schreiben der entsprechenden Antwort in einem solchen Fall zulassen. Vielleicht möchten Sie sich die Servlet -API ansehen, insbesondere für die HTTPServletRequest- und HTTPSession -Klassen sowie eine Implementierung von Servlet Container zu diesem Zweck.

Zum Thema des Zugriffs von Cookies von einer Anfrage müssen Sie die eingehenden HTTP -Anfrage -Header analysieren, um nach Cookies zu überprüfen, die vom Browser gesendet werden. Es wird erwartet, dass Browser und andere HTTP -Clients die verwenden Set-Cookie Fordern Sie zu diesem Zweck Header an. Sie müssen sicherstellen, dass ein Sitzungsobjekt nur dann an die Webanwendung zurückgegeben wird, wenn ein gültiges Cookie in der Anforderung geliefert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top