Latest web development tutorials

JSP Server-Antwort

Antwort Antwort ist in erster Linie das Ergebnis der Nachbearbeitung JSP-Container an den Client zurückzugeben. Sie können HTTP-Antwort von Zustandsvariablen und Übertragen von Daten, wie zum Beispiel Cookies, HTTP-Header-Informationen an den Client.

Eine typische Antwort sieht wie folgt aus:

HTTP/1.1 200 OK
Content-Type: text/html
Header2: ...
...
HeaderN: ...
  (空行)
<!doctype ...>
<html>
<head>...</head>
<body>
...
</body>
</html>

Die Statuszeile enthält die HTTP-Versionsinformationen, wie beispielsweise HTTP / 1.1, einen Statuscode, wie beispielsweise 200, gibt es eine sehr kurze Nachricht an den Statuscode entspricht, beispielsweise OK.

Die folgende Tabelle fasst eine Antwort-Header HTTP1.1 der nützlichste Teil des Netzwerk-Programmierung Sie werden sie oft zu sehen:

Antwort - Header Beschreibung
erlauben Gibt an, dass der Server Anfragemethoden (GET, POST, etc.) unterstützt
Cache-Control Gibt die Antwortdokument Sicherheitslage zwischengespeichert werden können. Der Wert ist in der Regel öffentlich, privat oder no-cache, und so weiter. Öffentliche bedeutet, dass Dokumente zwischengespeichert werden können, Privat bedeutet, dass das Dokument nur eine einzige Benutzerservice und nur über einen privaten Cache verwenden. No-Cache bedeutet, dass das Dokument nicht zwischengespeichert werden.
Verbindung Befehls Browser, ob persistente HTTP-Verbindungen zu verwenden. schließen Wert Befehl Browser verwenden keine persistenten HTTP - Verbindungen, und Keep-Alive - Mittel unter Verwendung von persistenten Verbindungen.
Content-Disposition Lassen Sie den Browser den Benutzer erfordert zu einem bestimmten Namen auf der Festplatte gespeichert zu reagieren
Content-Encoding Transmission Codierungsregeln spezifiziert Seite
Content-Language Sprache Beschreibung Dokument verwendet werden, wie zum Beispiel en, de-de ,, ru usw.
Content-Length Sie gibt die Anzahl der Bytes der Antwort. Nur in Ihrem Browser persistent hilfreich, wenn (Keep-Alive) HTTP-Verbindungen zu verwenden,
Content-Type MIME-Typ des Dokuments zeigt, dass die Verwendung von
Verfällt Wann abgelaufen angegeben und aus dem Cache entfernt
Last-Modified Spezifizierte wurde in dem Dokument zuletzt geändert wurde. Die Kunden können Dokumente zwischenspeichern und eine If-Modified-Since in nachfolgenden Anfragen Request - Header zur Verfügung stellen
Lage In 300 Sekunden, einschließlich aller Statuscode als Antwort auf die Adresse haben, wird der Browser automatisch wieder an und ruft dann das neue Dokument
auffrischen Geben Sie, wie oft der Browser eine Seite Update anfordert.
Retry-After Und 503 (Dienst nicht verfügbar) verwendet zusammen, um den Benutzer zu sagen, wie lange die Anfrage eine Antwort erhalten wird
Set-Cookie Entsprechende Cookie zeigt die aktuelle Seite

HttpServletResponse Klasse

javax.servlet.http.HttpServletResponse Antwort Objekt ist eine Instanz der Klasse. Wie Serveranfrage Objekte erstellt werden, wird es eine Client-Antwort erstellen.

Antwortobjekt definiert den Prozess der Schnittstelle HTTP-Header-Informationen zu erstellen. Durch die Nutzung dieser Aufgabe können Entwickler neue Cookie oder einen Zeitstempel hinzuzufügen, sowie HTTP-Statuscode, und so weiter.

Die folgende Tabelle listet verwendet, um die HTTP-Response-Header Methoden festlegen, die von der HttpServletResponse Klasse zur Verfügung gestellt:

SN Method & Beschreibung
1 String encodeRedirectURL (String url)

Auf sendRedirect () verwendet URL-Methode zu kodieren
2 String encodeURL (String url)

Die URL-Codierung, Rückgabe-URL, die die Session-ID enthält
3 boolean containsHeader (String name)

Gibt die angegebene Antwort-Header, wenn es
4 boolean isCommitted ()

Gibt an, ob die Reaktionen an den Kunden vorgelegt
5 Leere addCookie (Cookie Cookie)

Fügt das angegebene Cookie auf die Antwort
6 Leere addDateHeader (String name, lange Datum )

In Antwort-Header und Datum angegebenen Namen
7 Leere addHeader (String name, String - Wert )

In Antwort-Header und Werte angegebenen Namen
8 Leere addIntHeader (String name, int value )

In Antwort-Header und int-Wert mit dem angegebenen Namen
9 nichtig Flushbuffer ()

Jegliche Inhalte des Cache zum Client geschrieben
10 void reset ()

Klären Sie jeden Cache alle Daten, einschließlich der Statuscodes und Antwort-Header verschiedene
11 nichtig resetBuffer ()

Klare Grunddaten-Cache, ohne die Antwort-Header und Statuscodes
12 nichtig sendError (int sc)

Die Verwendung des angegebenen Statuscode an den Client gesendet, um den Cache eine Fehlerreaktion, und deaktivieren
13 Leere sendError (int sc, String msg )

Unter Verwendung des angegebenen Statuscode und eine Fehlermeldung wird in Reaktion auf den Client gesendet
14 nichtig sendRedirect (String Standort)

Mit Hilfe der angegebenen URL an den Client eine temporäre indirekte Antwort gesendet
15 Leere setBufferSize (int size)

Stellen Sie die Puffergröße des Antworttext
16 Leere setCharacterEncoding (String charset)

Gibt einen Antwortcode Satz (MIME-Zeichensatz), wie zB UTF-8
17 Leere setContentLength (int len)

Gibt HTTP-Servlets als Reaktion auf die Länge des Inhalts, die verwendete Methode, den HTTP-Content-Length-Header zu setzen
18 Leere setContentType (String)

Stellen Sie den Inhaltstyp der Antwort, wenn die Antwort noch nicht vorgelegt worden ist, dann
19 Leere setDateHeader (String name, lange Datum )

Mit dem angegebenen Namen und den Wert der Response-Header Name und Inhalt
20 Leere setHeader (String name, String - Wert )

Mit dem angegebenen Namen und den Wert der Response-Header Name und Inhalt
21 Leere setIntHeader (String name, int value )

Mit dem angegebenen Namen und den Wert der Response-Header Name und Inhalt
22 Leere setLocale (Locale loc)

Spracheinstellung für Antwort, wenn die Antwort noch nicht vorgelegt worden ist, dann
23 Leere setStatus (int sc)

Stellen Sie den Antwortstatuscode

HTTP-Response-Header Programmbeispiel

Das folgende Beispiel verwendet setIntHeader () -Methode und setRefreshHeader () -Methode eine digitale Uhr zu simulieren:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>本教程(w3big.com)</title>
</head>
<body>
<h2>自动刷新实例</h2>
<%
   // 设置每隔5秒自动刷新
   response.setIntHeader("Refresh", 5);
   // 获取当前时间
   Calendar calendar = new GregorianCalendar();
   String am_pm;
   int hour = calendar.get(Calendar.HOUR);
   int minute = calendar.get(Calendar.MINUTE);
   int second = calendar.get(Calendar.SECOND);
   if(calendar.get(Calendar.AM_PM) == 0)
      am_pm = "AM";
   else
      am_pm = "PM";
   String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
   out.println("当前时间: " + CT + "\n");
%>
</body>
</html>

Speichern Sie den obigen Code main.jsp, greifen sie dann über einen Browser. Es wird alle fünf Sekunden zu der aktuellen Zeit angezeigt werden.

Wir können auf den folgenden Gif Präsentations-Charts aussehen:

Sie können auch die oben genannten Code ändern Sie es selbst, versuchen, andere Methoden zu verwenden, werden wir in der Lage sein, ein tieferes Verständnis zu bekommen.