Java-Sitzungsumfang

Ich studiere Programmieren als Hobby. Ich habe mit dem Studium begonnen, weil ich eine Website für den Verkauf gebrauchter Bücher erstellen wollte. Um jedoch Webseiten dynamisch zu generieren und Daten auf dem Server zu verarbeiten, sind Kenntnisse in Java Servlet (Java Servlet) erforderlich. Ich habe angefangen zu studieren bei ... (^ _ ^;) Wenn man die Website für gebrauchte Bücher als Beispiel betrachtet, war das Sitzungskonzept, das die Informationen enthält, die der Kunde in den Warenkorb gelegt hat, nicht leicht zu verstehen, deshalb habe ich diesen Artikel geschrieben !! ヾ ^ _ ^ ♪

--Session --Mechanismus zur Aufrechterhaltung des Status jedes Benutzers

 CounterServlet.java


package session;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class CounterServlet extends HttpServlet {
	public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{

		//1.Sitzung abrufen
		HttpSession session = request.getSession();

		//2.Objekte aus einer Sitzung abrufen
		Integer count = (Integer)session.getAttribute("count");

		//3.Zähler+1
		if(count == null){
			count = new Integer(0);
		}
		count = new Integer(count.intValue() + 1);

		//4.Objekte in Sitzung speichern
		session.setAttribute("count", count);

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<html><body>");

		//Sitzungs-ID anzeigen
		out.println("<p>sessionId=" + session.getId());

		//Sitzungs-ID anzeigen
		out.print("<p>count=" + count);

		//Link zu diesem Servlet anzeigen
		String linkurl = request.getRequestURI();
		out.println("<p><a href=\"" + linkurl + "\">RELOAD</a>");
		out.println("</body></html>");
	}

}
  1. Wenn das HttpSession-Objekt erstellt wird, weist der Anwendungsserver eine eindeutige Kennung "Sitzungs-ID" zu. Die Sitzungsidentität scheint durch diese Sitzungs-ID garantiert zu werden.
  2. Rufen Sie das Objekt mit dem Namen "count" aus den Sitzungsattributen ab und wandeln Sie es in den Integer-Typ um. Bei der ersten Anforderung ist in den Sitzungsattributen kein Objekt mit dem Namen count registriert, sodass der Wert von count null ist.
  3. Zählen Sie hoch Da es in der ersten Stufe null ist, ersetzen Sie 0.
  4. Registrieren Sie in der setAttribute-Methode den Wert, nachdem Sie 1 im Sitzungsattribut hinzugefügt haben.

Daten im Sitzungsbereich übergeben Die im Anforderungsbereich registrierten Daten konnten nicht über Anforderungen hinweg weitergegeben werden, die im Sitzungsbereich registrierten Daten können jedoch weitergegeben werden.

Methoden zum Bearbeiten von Objekten mit Sitzungsbereich

Object getAttribute(java.lang.String name)
Ruft das durch das Argument angegebene Objekt ab. Gibt null zurück, wenn es nicht existiert.
Da der zurückgegebene Typ der Objekttyp ist, wird er anscheinend häufig verwendet, indem er entsprechend umgewandelt wird.

void setAttribute(java.lang.String name, java.lang.Object value)
Registrieren Sie das durch den Argumentwert angegebene Objekt mit dem Namen name.

void removeAttribute(java.lang.String name)
Löscht das durch den Argumentnamen angegebene Objekt.

java.util.Enumeration getAttributeNames()
Gibt eine Liste der registrierten Namen zurück.

Session-Timeout Wenn Sie die Sitzungsdaten nicht löschen, verbleiben nicht verwendete Daten auf dem Server. Um dieses Problem zu umgehen, verfügt der Anwendungsserver über einen Mechanismus, mit dem die seit dem letzten Zugriff des Clients verstrichene Zeit überprüft und gelöscht werden kann.

web.xml


<session-config>
        <session-timeout>3</session-timeout>
</session-config>

Recommended Posts

Java-Sitzungsumfang
Java-Variablenbereich (Bereich)
Java-Variablenbereich
Umfang
Java
Java
Java Servlet / JSP-Anforderungsbereich Teil 1
[Inhouse-Studiensitzung] Behandlung von Java-Ausnahmen (26.04.2017)
[Java] Objektorientierte Syntaxklasse / Feld / Methode / Bereich
[Memo zur Studiensitzung] Java Day Tokyo 2017
[Grundkenntnisse in Java] Umfang der Variablen
Java lernen (0)
[Java] -Array
Zusammenfassung der internen Rookie-Lernsitzung [Java]
Java geschützt
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java-Array
[Java] ArrayDeque
Java (Methode)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
Java reflektierend 获 获 举
Java (Schnittstelle)
Java-Array
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Überprüfung
Java-Framework
Java-Funktionen
[Java] Vererbung
FastScanner Java
Java-Funktionen
Java Anfänger 3
Java-Memo
Java (Kapselung)
Java-Vererbung
[Java] Überladung
Java-Grundlagen
Java dekompilieren
Java Note
Java Anfänger
[Java] -Schnittstelle