Latest web development tutorials

Klient żąda JSP

Gdy przeglądarka żąda strony, wysyła szereg informacji nie można odczytać bezpośrednio do serwera WWW, ponieważ te informacje jako część informacji nagłówka HTTP mają być przekazywane. Można sprawdzić protokół HTTP, aby uzyskać więcej informacji.

W poniższej tabeli przedstawiono niektóre z najważniejszych treści nagłówka przeglądarki, po programowaniu sieciowym często można zobaczyć te informacje:

Informacja opis
akceptować Określa typ MIME przeglądarki lub innego klienta może obsługiwać. Jego wartość jest zwykle image / png lub image / jpeg
Accept-Charset Określa zestaw znaków do korzystania z przeglądarki. Na przykład, ISO 8859-1
Accept-Encoding Należy określić rodzaj kodowania. Jego wartość jest zwykle gzip lub skompresować
Accept-Language Określ preferowany język klienta, serwlet nada priorytet zwraca zestaw wyników do języka potocznego konstytucji, jeśli aplet obsługuje tego języka słów. Na przykład en, en-us, gumy itp
autoryzacja Zidentyfikuj inny użytkownikom dostęp do chronionej hasłem stronie internetowej
połączenie Wskazuje, czy klient może obsłużyć HTTP stałe połączenie. Trwałe połączenie pozwala klientowi lub przeglądarka pobiera wielu plików w jednym wniosku. Keep-Alive wskazuje umożliwiają stałe połączenia
Content-Length Tylko w przypadku żądań POST, liczba bajtów danych post
ciastko Zwraca wcześniej wysłane do plików cookie w przeglądarce na serwerze
gospodarz Zwrócił uwagę, że oryginalnego URL nazwę hosta i numer portu
If-Modified-Since Pokaż tylko wtedy, gdy strona została zmodyfikowana w dniu określonym klient musi jedynie z tej strony. Serwer wysyła 304 jardów do klienta, że ​​nie ma dostarczyły uaktualnione zasobem
Jeśli-Niemodyfikowany-Since I If-Modified-Since przeciwnie, tylko dokument nie został zmodyfikowany po określonej dacie, operacja zakończy się sukcesem
Referer Adres strony oznaczonej przez odniesienie. Na przykład, jeśli jesteś na stronie 1, a następnie link do strony 2, a następnie URL strony 1 zostanie włączony w przeglądarce żąda nagłówek strony 2
User-Agent Jest używane do rozróżnienia różnych przeglądarek lub żądanie wysłane przez klienta, a także różne rodzaje przeglądarce aby powrócić inną treść

HttpServletRequest klasy

javax.servlet.http.HttpServletRequest wniosek obiekt jest instancją klasy. Za każdym razem gdy klient zażąda stronę, silnik JSP będzie produkować nowy obiekt do reprezentowania żądanie.

Żądanie Obiekt zapewnia szereg metod, aby uzyskać informacje nagłówka HTTP, w tym danych formularzy, plików cookie, metod HTTP, i tak dalej.

Następnego wprowadzi jakiś wspólny nagłówek HTTP GET w metodach programowania JSP. Aby uzyskać szczegółowe informacje, patrz tabela poniżej:

Nie. Sposób i opis
1 Cookie [] getCookies ()

Zwraca tablicę wszystkich Cookie klienta
2 metody getAttributeNames wyliczenie ()

Zwraca kolekcję wszystkich właściwości nazwami Object Request
3 getHeaderNames wyliczenie ()

Zwraca kolekcję wszystkich nazw nagłówka HTTP
4 getParameterNames wyliczenie ()

Zwraca kolekcję wszystkich parametrach żądania
5 HttpSession getSession ()

Zwraca żądać odpowiedniego obiektu sesji, jeśli nie, utworzyć
6 HttpSession getSession (logiczna utworzyć)

Zwraca żądać odpowiedniego obiektu sesji gdy żaden z parametrów i tworzenia jest prawdą, zwraca nowy obiekt sesji
7 Locale getLocale ()

Zwraca obiekt ten strona Locale mogą być dostarczone w odpowiedzi
8 Object getAttribute (String name)

Zwraca nazwę nazwę wartości atrybutu, a jeśli nie ma zerowy powrotu.
9 ServletInputStream getInputStream ()

Zwraca żądanie strumienia wejściowego
10 getAuthType String ()

Zwraca nazwę systemu uwierzytelniania wykorzystywane do ochrony aplet, takich jak "podstawowe" lub "SSL" lub null, jeśli nie ma środków ochronnych JSP
11 getCharacterEncoding String ()

Zwraca nazwę zestawu znaków wniosek kodowania
12 getContentType String ()

Zwraca typ MIME głównego żądania lub null, jeśli nie wiadomo
13 String getContextPath ()

Zwraca ścieżkę kontekst określony w żądaniu URI
14 String getHeader (String name)

Zwraca nazwę podaną w nagłówku wiadomości
15 String getMethod ()

Zwraca metodę żądania HTTP, takie jak ,, GET POST, lub umieścić
16 String getParameter (String name)

Zwraca nazwę wniosek parametr określony, lub null, jeśli nie istnieje
17 String getPathInfo ()

Zwraca dodatkowej ścieżki URL powiązany z tym wnioskiem
18 String getProtocol ()

Zwraca nazwę i wersję protokołu wykorzystywanego przez tę prośbę
19 getQueryString String ()

To zwraca wniosek ciąg zapytania URL zawiera
20 String getRemoteAddr ()

Zwraca adres IP klienta
21 String getRemoteHost ()

Zwraca pełną nazwę klienta
22 String getRemoteUser ()

Wrócił do klienta za pośrednictwem uwierzytelniania logowania użytkownika, jeśli użytkownik nie uwierzytelnienia lub null,
23 String getRequestURI ()

Zwraca URI żądania
24 String getRequestedSessionId ()

Zwraca określony wniosek identyfikator sesji
25 String getServletPath ()

Ścieżka Powrót aplet wymagane
26 String [] getParameterValues (String name)

Zwraca parametr określa nazwę wszystkich wartości lub null, jeśli nie istnieje
27 logiczna isSecure ()

Zwraca czy żądanie szyfrowany kanał, takich jak HTTPS
28 int getContentLength ()

Zwraca liczbę bajtów zawartych w treści żądania lub -1 jeśli nie wiadomo
29 int getIntHeader (String name)

Zwrócona wartość określa nazwę nagłówka żądania
30 int getServerPort ()

Zwraca numer portu serwera

przykłady nagłówków HTTP

W tym przykładzie użyjemy metody getHeaderNames HttpServletRequest klasy () w celu zapoznania się z nagłówka HTTP. Ta metoda zwraca wyliczenie informacji nagłówka dla bieżącego żądania HTTP.

Po uzyskaniu obiektu wyliczanie, standardowy sposób przemierzać obiekt wyliczanie metoda hasMoreElements (), aby określić, kiedy należy zaprzestać stosowania metody nextElement (), aby uzyskać nazwę każdego parametru.

<%@ 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>HTTP 头部请求实例</h2>
<table width="100%" border="1" align="center">
<tr bgcolor="#949494">
<th>Header Name</th><th>Header Value(s)</th>
</tr>
<%
   Enumeration headerNames = request.getHeaderNames();
   while(headerNames.hasMoreElements()) {
      String paramName = (String)headerNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getHeader(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

Dostęp main.jsp, otrzyma następujące wyniki:

Można spróbować innych metod klasy HttpServletRequest w powyższym kodzie.