Das beste JSP Client-Anfragen-Tutorial im Jahr 2024. In diesem Tutorial können Sie HttpServletRequest Klasse,HTTP-Header-Beispiele, lernen
Wenn ein Browser eine Seite anfordert, wird es eine Reihe von Informationen senden kann direkt an den Web-Server nicht gelesen werden, da diese Informationen als Teil der Information HTTP-Header übertragen werden soll. Sie können das HTTP-Protokoll überprüfen, um weitere Informationen zu erhalten.
Die folgende Tabelle listet einige der wichtigen Inhalte des Browser-Header, nachdem der Netzwerkprogrammierung werden Sie oft sehen diese Informationen:
Information | Beschreibung |
---|---|
akzeptieren | Gibt den MIME-Typ des Browsers oder einer anderen Client verarbeiten kann. Sein Wert ist in der Regel image / jpeg oder image / jpeg |
Accept-Charset | Gibt den Zeichensatz, den Browser zu verwenden. Zum Beispiel ISO-8859-1 |
Accept-Encoding | Geben Sie den Codierungstyp. Sein Wert ist in der Regel gzip oder komprimieren |
Accept-Language | Geben Sie die bevorzugte Sprache des Client-Servlet wird vorrangig eine Ergebnismenge auf die aktuelle Sprache der Verfassung zurückzukehren, wenn das Servlet diese Sprache Worte unterstützt. Zum Beispiel en, de-de, ru usw. |
Zulassung | Identifizieren Sie verschiedene Benutzer Zugriff auf kennwortgeschützte Webseite |
Verbindung | Es zeigt an, ob der Client HTTP persistente Verbindung verarbeiten kann. Persistent-Verbindung ermöglicht den Client oder Browser mehrere Dateien in einer einzigen Anfrage abruft. Keep-Alive zeigt persistente Verbindungen ermöglichen |
Content-Length | Nur für Anfragen POST, die Anzahl von Bytes von Daten POST |
Plätzchen | Gibt zuvor an den Browser des Cookies an den Server gesendet |
Gastgeber | Wies darauf hin, dass die ursprüngliche URL des Host-Namen und die Portnummer |
If-Modified-Since | Nur wenn die Seite auf dem angegebenen Datum Client geändert wurde muss nur auf dieser Website. Der Server sendet 304 Meter an den Client, dass es keine aktualisierte Ressource ist |
If-Unveränderte-Da | Und If-Modified-Since Im Gegenteil, nur das Dokument nach dem angegebenen Datum nicht geändert worden ist, wird die Operation erfolgreich sein |
Referer | URL der Seite, durch Verweis markiert. Zum Beispiel wird im Browser enthalten sein, wenn Sie auf Seite 1, dann ein Link auf die Seite 2, dann Seite URL 1 sind fordert einen Seitenkopf 2 |
User-Agent | Es verwendet, um zwischen verschiedenen Browsern oder Anforderung durch den Client gesendet zu unterscheiden und die verschiedenen Arten von Browser unterschiedliche Inhalte zurückzukehren |
javax.servlet.http.HttpServletRequest Request-Objekt ist eine Instanz der Klasse. Jedes Mal, wenn ein Client eine Seite anfordert, wird JSP-Engine ein neues Objekt erzeugen, die Anforderung zu stellen.
Request-Objekt stellt eine Reihe von Methoden, um die HTTP-Header-Informationen, einschließlich der Formulardaten, Cookies, HTTP-Methoden, und so weiter zu erhalten.
Der nächste wird einige gemeinsame Get-HTTP-Header in JSP Programmiermethoden einzuführen. Einzelheiten siehe Tabelle unten:
Nein . | Method & Beschreibung |
---|---|
1 | Plätzchen [] getCookies () Gibt ein Array von allen Client-Cookie |
2 | Enumeration getAttributeNames () Gibt eine Auflistung aller Eigenschaften der Anfrage Objektnamen |
3 | Enumeration getHeaderNames () Gibt eine Auflistung aller Namen des HTTP-Headers |
4 | Enumeration getParameterNames () Gibt eine Auflistung aller Parameter des Antrags |
5 | Http getSession () Rückgabe fordern Sie die entsprechende Session-Objekt, wenn nicht, erstellen |
6 | Http getSession (boolean erstellen) Gibt die entsprechende Session-Objekt, wenn keine Parameter anfordern und erstellen wahr ist, gibt ein neues Session-Objekt |
7 | Locale getLocale () Gibt diese Seite Locale Objekt kann in der Antwort zur Verfügung gestellt werden |
8 | Object getAttribute (String name) Gibt den Namen des Attributs Wert, und wenn es keine Rückkehr null. |
9 | ServletInputStream getInputStream () Gibt ein Eingangsstrom Anfrage |
10 | String getAuthType () Gibt den Namen des Authentifizierungsschema verwendet, um das Servlet zu schützen, wie zum Beispiel "BASIC" oder "SSL" oder null, wenn keine Schutzmaßnahmen JSP |
11 | String getCharacterEncoding () Gibt die Anforderung Zeichencodierung Setnamen |
12 | String getContentType () Gibt den MIME-Typ des Hauptantrags oder null, wenn nicht bekannt |
13 | String getContextPath () Gibt den Kontextpfad in der Anforderung angegebene URI |
14 | String getHeader (String name) Gibt den Namen im Nachrichtenkopf angegeben |
15 | String getMethod () Gibt den HTTP-Request-Methode, wie GET ,, POST oder PUT |
16 | String getParameter (String name) Gibt die Anfrageparameter Name angegeben wurde, oder null, wenn nicht vorhanden |
17 | String getPathInfo () Gibt keine zusätzlichen Pfad URL mit dieser Anforderung zugeordnet |
18 | String getProtocol () Gibt den Namen und die Version des Protokolls von dieser Anforderung verwendete |
19 | String getQueryString () Dies gibt die Query-String-URL enthält |
20 | String getRemoteAddr () Gibt die IP-Adresse des Clients |
21 | String getRemoteHost () Bringen Sie den vollständigen Namen des Kunden |
22 | String getRemoteUser () An den Client durch den Benutzer-Login-Authentifizierung, wenn der Benutzer nicht authentifiziert oder null |
23 | String getRequestURI () Gibt die Anforderungs-URI |
24 | String getRequestedSessionId () Gibt die angegebene Sitzungs-ID-Anfrage |
25 | String getServletPath () Zurück Servlet-Pfad angefordert |
26 | String [] getParameterValues (String name) Gibt Parameter den Namen aller Werte angibt, oder null, wenn nicht vorhanden |
27 | boolean isSecure () Gibt an, ob die Anforderung Kanal verschlüsselt, wie HTTPS |
28 | int getContentLength () Gibt die Anzahl der Bytes in der Anfrage Körper enthalten ist, oder -1, wenn unbekannt |
29 | int getIntHeader (String name) Der zurückgegebene Wert gibt den Namen des Request-Header |
30 | int getServerPort () Gibt Server-Portnummer |
In diesem Beispiel werden wir getHeaderNames HttpServletRequest Klasse () -Methode verwenden, um die HTTP-Header zu lesen. Diese Methode liefert eine Aufzählung von Headerinformationen für die aktuelle HTTP-Anforderung.
Nach Erhalt bestimmen die Enumeration-Objekt, die Standard-Weg, um die Enumeration-Objekt, hasMoreElements () -Methode zu durchlaufen bei der Verwendung von next () -Methode zu stoppen den Namen der einzelnen Parameter zu erhalten.
<%@ 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>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>
Zugang main.jsp, werden die folgenden Ergebnisse erhalten:
Sie können in dem obigen Code andere Methoden der HttpServletRequest Klasse versuchen.