[JAVA] Verwendung der Scope- und Pass-Verarbeitung (Servist)

Umfang

Ein Bereich ist ein Speicherbereich, der verwendet wird, wenn Sie Daten für Servlets und JSPs freigeben möchten. Abhängig vom Freigabebereich gibt es die folgenden drei Typen.

Speichern Sie im Bereich innerhalb der doGet- oder doPost-Methode des Servlets Es gibt viele Möglichkeiten, es als nächstes mit der Vorwärtsmethode zu übergeben.

Die Vorlage für den Deklarationsteil der doGet-Methode und der doPost-Methode lautet wie folgt.

doGet,Deklaration der doPost-Methode


// doGet
Public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException{
}

//Gleiches gilt für doPost
Public void doPost(HttpServletRequest request, HttpServletResponse response)
      Throws ServletException, IOException{
}

Umfang anfordern

Ein Bereich, der für jede Anforderung vom Browser generiert wird. Im Prinzip wird es nicht beibehalten, wenn die nächste Anforderung eingeht, der Browser geschlossen oder der Anwendungsserver neu gestartet wird.

Wie benutzt man

//Speichern, um den Bereich anzufordern
request.setAttribute("Attributname",Instanz, die Sie speichern möchten);

//Holen Sie sich eine Instanz aus dem Anforderungsbereich
Modellname= (Schimmel) request.getAttribute("Attributname");


//Der Attributname ist ein Index, der auf den Bereich verweist.
//Ein Typ ist der Typ einer gespeicherten Instanz
//Der Name ist die Referenzvariable, die Sie der erfassten Instanz geben möchten.

Sitzungsumfang

Ein Bereich, der beibehalten wird, sofern der Browser nicht geschlossen wird oder eine Zeitüberschreitung auftritt.

Wie benutzt man

//Sicherer Speicherbereich für den Sitzungsumfang
HttpSession session = request.getSession();

//Im Sitzungsbereich speichern
Session.setAttribute("Attributname",Instanz, die Sie speichern möchten)

//Instanz aus dem Sitzungsbereich abrufen
Modellname= (Schimmel) session.getAttribute("Attributname");

Anwendungsbereich

Ein Bereich, der beibehalten wird, bis der Anwendungsserver beendet wird. Es bleibt auch dann erhalten, wenn der Browser geschlossen ist.

Wie benutzt man

//Sicherer Speicherbereich für den Anwendungsbereich
ServletContext sc = getServletContext();

//Im Anwendungsbereich speichern
sc.setAttribute("Attributname",Instanz, die Sie speichern möchten)

//Instanz aus Anwendungsbereich abrufen
Modellname= (Schimmel) sc.getAttribute("Attributname");

Lieferung der Verarbeitung

Bei der Übergabe des Prozesses an das nächste Servlet oder die nächste JSP wird eine im Forward aufgerufene Methode verwendet, um die im Bereich gespeicherten Daten zu übernehmen. Wenn die Daten nicht vererbt werden, kann der Prozess mithilfe der Umleitung übergeben werden. Er wird jedoch häufig verwendet, wenn er an eine externe Site übergeben wird. Die Weiterleitungsmethode kann nur die Verarbeitung innerhalb des Servers bestehen.

nach vorne

Eine Methode zum Erben der im Bereich gespeicherten Daten und zum Weiterleiten des Prozesses an die nächste Seite. Der Server führt den folgenden Vorgang automatisch aus und gibt ihn an den Browser zurück. Bei der Übergabe der Verarbeitung auf demselben Server kann die Weiterleitung verwendet werden, auch wenn keine bestimmte Datenübergabe erfolgt.

Wie benutzt man

RequestDispatcher dispatcher = request.getRequestDispatcher("Ziel weiterleiten");
dispatcher.forward(request, response);

//Benötigt die folgenden Pakete
import javax.servlet.RequestDispatcher;

//Schreiben Sie für das Weiterleitungsziel den Pfad gemäß der Verzeichnisstruktur
//Zum Beispiel:
request.getRequestDispatcher("/WEB-INF/jsp/hogehoge.jsp")

umleiten

Der Server kehrt zu dem Browser zurück, auf den als nächstes zugegriffen werden soll, und der Browser fordert den nächsten Prozess vom angegebenen Ziel an. Aufgrund dieses Mechanismus ist es für den Zugriff auf externe Sites geeignet.

Wie benutzt man

request.sendRedirect("Ziel umleiten");

//Das Umleitungsziel kann durch eine URL angegeben werden, oder ein Pfad gemäß der Dateistruktur kann auf demselben Server verwendet werden.
//Zum Beispiel:
request.sendRedirect("http://www.hogehoge.com")
request.sendRedirect("/Servlet-Name")

Recommended Posts

Verwendung der Scope- und Pass-Verarbeitung (Servist)
[Schienen] Verwendung von Scope
Verwendung von StringBurrer und Arrays.toString.
Verwendung des Bereichs (JSP & Servlet)
Verwendung von EventBus3 und ThreadMode
Wie man Gleichheit und Gleichheit benutzt (wie man Gleichheit benutzt)
[Verarbeitung × Java] Verwendung von Variablen
[Verarbeitung × Java] Verwendung von Arrays
Verwendung von OrientJS und OrientDB zusammen
[Verarbeitung × Java] Verwendung der Schleife
So richten Sie kapt ein und verwenden es
[Verarbeitung × Java] Verwendung der Klasse
[Verarbeitung × Java] Verwendung der Funktion
Verwendung von Teilzeichenfolgen und Substratmethoden
Verwendung von @Builder und @NoArgsConstructor zusammen
[Java] Verwendung der FileReader-Klasse und der BufferedReader-Klasse
Verwendung von Map
Wie benutzt man rbenv?
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
[Ruby] Verwendung der gsub-Methode und der sub-Methode
Verwendung von collection_select
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
Verwendung von MapStruct
Verwendung von Segmented Control und zu notierenden Punkten
Verwendung von TreeSet
[Verwendung des Etiketts]
Wie man Identität benutzt
Wie man Hash benutzt
[Java] Beachten Sie, wie Sie RecyclerView verwenden und die animierte Swipe-Verarbeitung implementieren.
Verwendung von Dozer.mapper
Wie benutzt man Gradle?
Verwendung von org.immutables
Verwendung von java.util.stream.Collector
Verwendung von VisualVM
Verwendung von Map
[Java] Verwendung der Kalenderklasse und der Datumsklasse
Verwendung und Anwendung der JFrame / Canvas-Klasse von Java
Verwendung der Ketten-API
[Java] Verwendung von Map
Verwendung der Warteschlange mit Priorität
[Rails] Verwendung von Enum
Verwendung von JUnit (Anfänger)
Verwendung von Ruby return
[Rails] Verwendung von Enum
Verwendung von @Builder (Lombok)
Verwendung der Java-Klasse
Wie man Big Decimal benutzt
[Java] Verwendung von removeAll ()