Najlepszy samouczek JSP odpowiedzi serwera W 2024 r. W tym samouczku możesz dowiedzieć się Klasa HttpServletResponse,nagłówka odpowiedzi HTTP Program Przykład,
Response to przede wszystkim wynikiem post-processingu JSP pojemnika, aby przejść z powrotem do klienta. Można ustawić odpowiedź HTTP w zależności od czynników państwowych i przesyłania danych, takich jak ciasteczka, informacje nagłówka HTTP do klienta.
Typowa reakcja wygląda następująco:
HTTP/1.1 200 OK Content-Type: text/html Header2: pl. pl. HeaderN: pl. (空行) <!doctype pl.> <html> <head>pl.</head> <body> pl. </body> </html>
Linia stanu zawiera informacje o wersji protokołu HTTP, takich jak HTTP / 1.1, kod stanu, takich jak 200, jest bardzo krótki komunikat odpowiadający kodowi statusu, takiej jak OK.
Poniższa tabela podsumowuje nagłówek odpowiedzi HTTP1.1 najbardziej przydatne części sieci Programowanie Będziesz często je zobaczyć:
nagłówek odpowiedzi | opis |
---|---|
dopuszczać | Określa, czy serwer obsługuje metody żądania (GET, POST, etc.) |
Cache-Control | Określa dokument odpowiedź może być buforowane sytuacji w zakresie bezpieczeństwa. Wartość ta jest zwykle publiczny, prywatny lub no-cache, i tak dalej. Publiczne oznacza, że dokumenty mogą być buforowane, prywatna oznacza, że dokument jest tylko pojedyncza usługa użytkownika i używać tylko do prywatnej pamięci podręcznej. No-cache oznacza, że dokument nie będą buforowane. |
połączenie | Przeglądarka poleceń czy użyć trwałych połączeń HTTP. zamknij przeglądarek poleceń wartość nie używać stałych połączeń HTTP i keep-alive oznacza używanie stałych połączeń. |
Content-Dyspozycja | Niech przeglądarka wymaga od użytkownika odpowiedzi na danej nazwy zapisanej na dysku |
Content-Encoding | określono zasady kodowania Transmisja stronę |
Content-Language | Opis Język dokumentu używany, takie jak en, en-us ,, ru etc. |
Content-Length | Wskazuje na liczbę bajtów w reakcji. Tylko w przeglądarce aby korzystać trwałe pomocne if (Keep-alive) połączeń HTTP |
Content-Type | MIME dokumentu wskazuje, że wykorzystanie |
wygasa | Gdy podano upłynął i usuwane z pamięci podręcznej |
Last-Modified | Określone w dokumencie był ostatnio modyfikowany. Klienci mogą buforować dokumenty i dostarczyć If-Modified-Since w kolejnych żądań żądania nagłówek |
lokalizacja | W 300 sekund, w tym wszystkie mają kod stanu w odpowiedzi na adres, przeglądarka automatycznie ponownie, a następnie pobiera nowy dokument |
Odśwież | Wskazać, jak często przeglądarka żąda aktualizacji strony. |
Retry-After | I 503 (usługa niedostępna) stosowane razem poinformować użytkownika, jak długo wniosek otrzyma odpowiedź |
Set-Cookie | Odpowiadający cookies wskazuje aktualną stronę |
Obiekt odpowiedzi javax.servlet.http.HttpServletResponse jest instancją klasy. Podobnie jak serwer tworzy obiekty żądania, będzie to powodować reakcję klienta.
Obiekt odpowiedzi definiuje proces tworzenia informacje nagłówka HTTP interfejs. Za pomocą tego obiektu, programiści mogą dodawać nowe ciasteczko lub znacznik czasu, jak również kod stanu HTTP, i tak dalej.
Poniższa tabela służy do ustawiania metody nagłówki odpowiedzi HTTP, że przewidziane przez klasę HttpServletResponse:
SN | Sposób i opis |
---|---|
1 | encodeRedirectURL String (String url) Na sendRedirect () Metoda URL używany do kodowania |
2 | encodeURL String (String url) Kodowanie URL, powrót URL, który zawiera identyfikator sesji |
3 | logiczna containsHeader (String name) Zwraca określony nagłówek odpowiedzi, jeśli istnieje |
4 | logiczna isCommitted () Zwraca czy odpowiedź została przesłana do klienta |
5 | void addCookie (Cookie cookie) Dodaje określony plik cookie do odpowiedzi |
6 | void addDateHeader (String name, długa data ) Dodaj nagłówki odpowiedzi i datę podano nazwy |
7 | void AddHeader (String name, String value ) Dodaj nagłówki odpowiedzi i wartości podanej nazwie |
8 | void addIntHeader (String name, int value ) Dodaj nagłówki odpowiedzi INT wartość o podanej nazwie |
9 | unieważnić flushBuffer () Jakiejkolwiek zawartości pamięci podręcznej klienta zapisywane |
10 | void reset () Usuń wszelkie buforowania danych, w tym kody stanu i różnych nagłówków odpowiedzi |
11 | unieważnić resetBuffer () Usuń Podstawowa pamięć podręczna danych, nie licząc nagłówków odpowiedzi i kodów stanu |
12 | unieważnić sendError (int sc) Przy użyciu określonego kodu statusu wysyłany do klienta odpowiedź błędu, a następnie wyczyścić pamięć podręczną |
13 | void sendError (int sc, msg String ) Przy użyciu określonego kodu stanu i komunikat o błędzie jest wysyłany w odpowiedzi do klienta |
14 | unieważnić sendRedirect (lokalizacja String) Korzystanie z określonego adresu URL wysyłany do klienta tymczasowa odpowiedź pośrednia |
15 | void setBufferSize (int size) Ustaw rozmiar bufora ciała odpowiedzi |
16 | void setCharacterEncoding (charset String) Określa zestaw kodu odpowiedzi (zestawu znaków MIME), takie jak UTF-8 |
17 | void setContentLength (int len) Określa serwletów HTTP w odpowiedzi na długości zawartości, metoda służy do ustawiania HTTP Content-Length nagłówek |
18 | void setContentType (typu String) Ustaw typ zawartości odpowiedzi, jeśli odpowiedź nie została jeszcze przedłożona, a następnie |
19 | void setDateHeader (String name, długa data ) O określonej nazwie i ustaw wartość nazwy nagłówka i treści odpowiedzi |
20 | void setHeader (String name, String value ) O określonej nazwie i ustaw wartość nazwy nagłówka i treści odpowiedzi |
21 | void setIntHeader (String name, int value ) O określonej nazwie i ustaw wartość nazwy nagłówka i treści odpowiedzi |
22 | void setlocale (Locale loc) Locale odpowiedź ustawienie, jeśli odpowiedź nie została jeszcze przedłożona, a następnie |
23 | void setStatus (int sc) Ustaw kod stanu odpowiedzi |
W poniższym przykładzie użyto setIntHeader () metodę i setRefreshHeader () aby symulować zegar cyfrowy:
<%@ 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>本教程(w3write.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>
Zapisz powyższy kod main.jsp, a następnie uzyskać do niego dostęp za pomocą przeglądarki. Będzie on wyświetlany co pięć sekund w danym momencie.
Możemy spojrzeć na poniższych wykresach prezentacji GIF:
Można również zmodyfikować powyższy kod to sam, spróbuj użyć innych metod, będziemy w stanie uzyskać głębsze zrozumienie.