Flux rss
Collection CommentÇaMarche.net
Sessions

Les variables d'environnement avec les servlets

 
Bookmark Ajouter aux favoris / Partager

Notion de variable d'environnement

Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas d'une servlet est:

  • Le serveur
  • Le client
Java permet d'accèder à ces variables grâce à des méthodes de l'objet HttpServletRequest.

Méthodes spécifiques des servlets

Java fournit une méthode correspondant à chaque variable d'environnement. Voici la liste des méthodes de l'objet HttpServletRequest permettant de récupérer des variables d'environnement :

Variable d'environnement Méthode associée
AUTH_TYPE getAuthType()
CONTENT_LENGTH getContentLength()
CONTENT_TYPE getContentType()
HTTP_ACCEPT getHeader("Accept")
HTTP_REFERER getHeader("Referer")
HTTP_USER_AGENT getHeader("User-Agent")
PATH_INFO getPathInfo()
PATH_TRANSLATED getPathTranslated()
QUERY_STRING getQueryString()
REQUEST_METHOD getRequestMethod()
REMOTE_ADDR getRemoteAddr()
REMOTE_HOST getRemoteHost()
REMOTE_USER getRemoteUser()
SCRIPT_NAME getScriptName()
SERVER_NAME getServerName()
SERVER_PROTOCOL getServerProtocol()
SERVER_PORT getServerPort()

Récupérer n'importe quel en-tête

Toutefois, toutes les variables d'environnement ne sont pas forcément associée à une méthode de l'objet HttpServletRequest, c'est pourquoi ce dernier propose des méthodes permettant de récupérer individuellement les variables d'environnement du serveur d'après leur nom, ainsi que des méthodes permettant d'en récupérer la liste.

La méthode getHeader() de l'objet HttpServletRequest permet de récupérer la valeur d'une variable d'environnement dont le nom est pasSé en paramètre :

public String getHeader(String nomEnTete)
Il est possible de récupérer l'ensemble des noms des en-têtes disponibles dans un objet Enumeration (il est alors nécessaire d'importer java.util.*) grâce à la méthode getHeaderNames() de l'objet HttpServletRequest :
public Enumeration getHeader()
L'objet Enumeration retourné peut alors être parcouru grâce à ses méthodes hasMoreElements() et nextElement() :
Enumeration enTetes = req.getHeaderNames();

while (enTetes.hasMoreElements()) {
	String enTete = (String) enTetes.nextElement();

}
Le code suivant permet d'afficher un tableau contenant l'ensemble de en-têtes présents dans la requête :
import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*
import java.util.*
public class PremiereServlet extends HttpServlet {
  public void doGet(HttpServletRequest req, 
			HttpServletResponse res) 
			throws ServletException, IOException {
	res.setContentType("text/html");

	PrintWriter out = res.getWriter();

	out.println("<HTML>");

	out.println("<HEAD>");

	out.println("<TITLE> Tableau des en-têtes HTTP </TITLE></HEAD>");

	out.println("<BODY>");

	out.println(req.getRemoteAddr());

	out.println("<table border=\"1\" cellspacing=\"0\">");

	Enumeration enTetes = req.getHeaderNames();

	while (enTetes.hasMoreElements()) {
		String enTete = (String) enTetes.nextElement();

		out.println("<tr><td>" 
		+ enTete 
		+ "</td><td>" 
		+ req.getHeader(enTete) 
		+ "</td></tr>");

	}
	out.println("</table>");

	out.println("</HTML>");

	out.close();

	out.println("");

	out.println("");

	out.close();

  }
}


Dernière modification le mardi 14 octobre 2008 à 17:40:39.Ce document intitulé « Les variables d'environnement avec les servlets » issu de Comment Ça Marche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Help pour config fic variable environnement (Résolu) Bonjour, J'ai une Redhat 9.1 je voudrais connaitre les fichiers de config qui concernent les variables environnements des users. pour que lorsque je tape une commande par exemple mkdir , que je n'ai plus à le faire depuis /usr/sbin. ou... www.commentcamarche.net/forum/affich-4684870-help-pour-config-fic-variable-environnement
Variables d'environnement Variables d'environnement Une variable d'environnement est une valeur dynamique, chargée en mémoire, pouvant être utilisée par plusieurs processus fonctionnant simultanément. Sur la plupart des systèmes d'exploitation, les emplacement de certaines... www.commentcamarche.net/contents/systemes/variables-environnement.php3
PHP - Les variables d'environnement Notion de variable d'environnement Les variables d'environnement sont, comme leur nom l'indique, des données stockées dans des variables permettant au programme d'avoir des informations sur son environnement. L'environnement, dans le cas du script... www.commentcamarche.net/contents/php/phpenv.php3
[Bash] La variable d'environnement PATHLa variable d'environnement PATH I. Préambule II. C'est quoi le shell ? III. Définition IV. Séance de dissection V. Ajouter un répertoire à la variable PATH VI. Et puis... I. Préambule Sous les systèmes GNU/Linux qu'on le veuille ou... www.commentcamarche.net/faq/sujet-3585-bash-la-variable-d-environnement-path
[VBA/VB6] Rép. Mes Documents+Variables EnvironnementDans l'explorateur de fichiers, le dossier Mes Documents semble être sur le root, or ce n'est pas le cas. Il est situé dans un sous-répertoire de C:\Documents and Settings. Le hic, c'est que le premier sous-répertoire prend le nom de l'utilisateur et... www.commentcamarche.net/faq/sujet-12901-vba-vb6-rep-mes-documents-variables-environnement
[Shell] Tester une variable numériqueTester une variable numérique    Préambule Dans un environnement "shell", les variables sont, par défaut, de type "chaîne de caractères". De ce fait il n'est pas possible de déclarer une variable de type "entier" (enfin, ceci n'est pas tout à... www.commentcamarche.net/faq/sujet-4605-shell-tester-une-variable-numerique
[script/bash] variable environnement via sshBonjour, alors voici mon problème: Lorsque je me connecte en ssh de mon client à mon serveur, les variables d'environnement définie ne sont pas rechargées. Je m'explique: en tapant env ou ssh IP_Serveur "env" les valeurs retournées sont les mêmes bien... www.commentcamarche.net/forum/affich-3048720-script-bash-variable-environnement-via-ssh
Variable d'environnement JAVAHello, Je n'arrive pas a positionner la variable d'environnement JAVA, j'ai regardé sur le site ca a l'air simple mais y'a un truc qui coince, ca passe pas. Si qqn a une idée, merci d'avance. Conf : Windows 2000 pro; j2sdk1.4.2_05 Faut pas chercher... www.commentcamarche.net/forum/affich-2143404-variable-d-environnement-java
Variables d'environnement-exportbonjour, linstallation d'un logiciela nécessité de définir une variable d'environnement ld_library_path. je lai définie en faisant export LD_LIBRARY_PATH=chemin de mes librairies mais au redémarrage de mon système, jai fait echo $LD_LIBRARY_PATH mais... www.commentcamarche.net/forum/affich-1545570-variables-d-environnement-export
Envoyer ses voeux virtuellement pour respecter l'environnement(Paris - Relax news) - Les Français envoient chaque année des milliers de cartes de voeux avant le passage à la nouvelle année. Ce sont autant de déchets à recycler et autant d'arbres abattus. Pour préserver l'environnement, il existe une solution :... www.commentcamarche.net/actualites/envoyer-ses-voeux-virtuellement-pour-respecter-l-environnement-4338012-actualite.php3
CGI - Les variables d'environnementNotion de variable d'environnement Les variables d'environnement sont des données stockées dans des variables du système et permettent aux programmes d'avoir des informations sur son environnement. Dans le cas du programme CGI, l'environnement est... www.commentcamarche.net/contents/cgi/cgienv.php3
Java: les variablesLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Java sont typées, c'est-à-dire que les données contenues dans... www.commentcamarche.net/contents/java/javavar.php3
VBScript - Les variablesLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Il s'agit en fait d'une zone de la mémoire réservée pour le stockage d'une valeur. Les... www.commentcamarche.net/contents/vbscript/vbsvar.php3