Latest web development tutorials

demandes des clients JSP

Lorsqu'un navigateur demande une page, il va envoyer une série d'informations ne peut pas être lu directement sur le serveur Web, parce que cette information dans le cadre des informations d'en-tête HTTP à transmettre. Vous pouvez vérifier le protocole HTTP pour obtenir plus d'informations.

Le tableau ci-dessous présente quelques-uns des contenus importants de l'en-tête du navigateur, après la programmation de réseau, vous verrez souvent ces informations:

Informations description
accepter Indique le type de navigateur ou un autre client peut gérer MIME. Sa valeur est généralement image / png ou image / jpeg
Accept-Charset Indique le jeu de caractères à utiliser le navigateur. Par exemple, ISO-8859-1
Accept-Encoding Spécifiez le type de codage. Sa valeur est généralement gzip ou compresser
Accept-Language Spécifiez la langue préférée du client, servlet donnera la priorité à retourner un jeu de résultats à la langue actuelle de la constitution, si le servlet supporte cette langue des mots. Par exemple en, fr-fr, ru etc.
autorisation Identifier différents utilisateurs d'accéder à la page Web protégé par mot de passe
raccordement Il indique si le client peut gérer HTTP connexion persistante. Connexion permanente permet au client ou navigateur récupère plusieurs fichiers en une seule demande. Keep-Alive indique activer les connexions persistantes
Content-Length Seulement pour les requêtes POST, le nombre d'octets de données POST
gâteau Retours précédemment envoyé aux cookies du navigateur au serveur
hôte Remarqué que l'URL d'origine du nom d'hôte et le numéro de port
If-Modified-Since Afficher uniquement lorsque la page a été modifié sur le client de la date spécifiée seulement besoin de ce site. Le serveur envoie 304 verges au client qu'il n'y a aucune ressource à jour
Si-Unmodified-Since Et If-Modified-Since, au contraire, que le document n'a pas été modifié après la date spécifiée, l'opération sera couronnée de succès
Referer URL de la page marquée par référence. Par exemple, si vous êtes dans la page 1, puis un lien vers la page 2, puis la page URL 1 sera inclus dans le navigateur demande un en-tête de page 2
User-Agent Il permet de distinguer entre les différents navigateurs ou demande envoyés par le client et les différents types de navigateur pour revenir contenu différent

HttpServletRequest classe

javax.servlet.http.HttpServletRequest objet de requête est une instance de la classe. Chaque fois qu'un client demande une page, le moteur JSP produira un nouvel objet pour représenter la demande.

demande objet fournit une série de méthodes pour obtenir les informations d'en-tête HTTP, y compris les données de formulaire, les cookies, les méthodes HTTP, et ainsi de suite.

La prochaine va introduire un certain Get-tête HTTP communs dans les méthodes de programmation JSP. Pour plus de détails, s'il vous plaît voir le tableau ci-dessous:

Non . Méthode & Description
1 Cookie [] getCookies ()

Renvoie un tableau de tous Cookie du client
2 getAttributeNames Enumeration ()

Retourne une collection de toutes les propriétés des noms demande d'objets
3 getHeaderNames Enumeration ()

Retourne une collection de tous les noms de l'en-tête HTTP
4 getParameterNames Enumeration ()

Retourne une collection de tous les paramètres de la requête
5 HttpSession getSession ()

Retours demandent l'objet de session correspondant, sinon, créer un
6 HttpSession getSession (booléen créer)

Retours demander l'objet de session correspondante si aucun paramètre et créer est vrai, renvoie un nouvel objet de session
7 Locale getLocale ()

Renvoie cet objet Page Locale peut être fournie dans la réponse
8 Object getAttribute (String name)

Retourne le nom du nom de valeur d'attribut, et s'il n'y a pas de retour nulle.
9 ServletInputStream getInputStream ()

Renvoie une demande de flux d'entrée
10 getAuthType String ()

Renvoie le nom du système d'authentification utilisé pour protéger le servlet, tels que "BASIC" ou "SSL" ou si aucune mesure de protection nulles JSP
11 getCharacterEncoding String ()

Renvoie la demande caractère nom de l'ensemble de codage
12 getContentType String ()

Retourne le type MIME de la requête principale, ou null si non
13 Chaîne getContextPath ()

Retourne le chemin de contexte spécifié dans la demande URI
14 Chaîne getHeader (String name)

Renvoie le nom spécifié dans l'en-tête du message
15 Chaîne getMethod ()

Retourne la méthode de requête HTTP, comme GET ,, POST ou PUT
16 Chaîne getParameter (String name)

Retourne le nom demande de paramètre spécifié, ou null if not exists
17 Chaîne getPathInfo ()

Renvoie une URL de chemin supplémentaire associé à cette demande
18 Chaîne getProtocol ()

Retourne le nom et la version du protocole utilisé par cette demande
19 getQueryString String ()

Ceci renvoie la demande de chaîne de requête URL contient
20 Chaîne getRemoteAddr ()

Retourne l'adresse IP du client
21 Chaîne getRemoteHost ()

Retourne le nom complet du client
22 Chaîne getRemoteUser ()

Retourné au client grâce à l'authentification utilisateur de connexion, si l'utilisateur n'authentifie pas ou null
23 Chaîne getRequestURI ()

Renvoie la demande URI
24 Chaîne getRequestedSessionId ()

Renvoie la demande d'ID de session spécifié
25 Chaîne getServletPath ()

chemin de servlet Retour demandé
26 String [] getParameterValues (String name)

Retourne paramètre spécifie le nom de toutes les valeurs, ou null if not exists
27 booléen isSecure ()

Retourne si la demande chaîne cryptée, comme HTTPS
28 int getcontentlength ()

Retourne le nombre d'octets contenus dans le corps de la demande, ou -1 si inconnue
29 int getIntHeader (String name)

La valeur renvoyée indique le nom de l'en-tête de demande
30 int getServerPort ()

Retourne le numéro de port du serveur

exemples d'en-tête HTTP

Dans cet exemple, nous allons utiliser la méthode getHeaderNames HttpServletRequest classe () pour lire l'en-tête HTTP. Cette méthode renvoie une énumération des informations d'en-tête pour la requête HTTP actuelle.

Après avoir obtenu l'objet Enumeration, le moyen standard pour traverser l'objet Enumeration, méthode hasMoreElements () pour déterminer le moment de cesser d'utiliser la méthode nextElement () pour obtenir le nom de chaque paramètre.

<%@ 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>

Accès main.jsp, va obtenir les résultats suivants:

Vous pouvez essayer d'autres méthodes de la classe HttpServletRequest dans le code ci-dessus.