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.