339 votes

Différence entre getAttribute() et getParameter()

Quelle est la différence entre getAttribute() et getParameter() méthodes au sein de HttpServletRequest classe ?

381voto

Bozho Points 273663
  • getParameter() renvoie les paramètres de la requête http. Ceux qui sont transmis par le client au serveur. Par exemple http://example.com/servlet?parameter=1 . Peut seulement retourner String

  • getAttribute() est réservé à un usage côté serveur - vous remplissez la requête avec des attributs que vous pouvez utiliser dans la même requête. Par exemple, vous définissez un attribut dans une servlet et vous le lisez dans un JSP. Peut être utilisé pour n'importe quel objet, pas seulement une chaîne.

60voto

krock Points 13537

En général, un paramètre est une valeur de type chaîne de caractères qui est le plus souvent connue pour être envoyée par le client au serveur (par exemple, un post de formulaire) et récupérée dans le fichier demande de servlet . L'exception frustrante à cette règle est Paramètres initiaux du ServletContext qui sont des paramètres de type chaîne configurés dans le fichier web.xml et existant sur le serveur.

Un attribut est une variable de serveur qui existe dans un champ d'application spécifique, par exemple :

  • application disponible pendant toute la durée de vie de l'application
  • session disponible pour la durée de la session
  • request disponible uniquement pour la durée de la demande
  • page (JSP uniquement), disponible uniquement pour la page JSP en cours.

28voto

oneiros Points 948

Il est essentiel de savoir que attributs ne sont pas paramètres .

Le type de retour pour les attributs est un Objet alors que le type de retour pour un paramètre est un Chaîne de caractères . Lorsque vous appelez le getAttribute(String name) n'oubliez pas que les attributs doivent être coulés.

En outre, il y a pas d'attributs spécifiques aux servlets et il n'y a pas de paramètres de la session .

Ce post est écrit dans le but de se connecter sur la réponse de @Bozho, comme une information supplémentaire qui peut être utile pour d'autres personnes.

11voto

Abhi Points 31

La différence entre getAttribute et getParameter est que getParameter renvoie la valeur d'un paramètre qui a été soumis par un formulaire HTML ou qui a été inclus dans une chaîne de requête. getAttribute renvoie un objet que vous avez défini dans la requête, la seule façon de l'utiliser est en conjonction avec un RequestDispatcher. Vous utilisez un RequestDispatcher pour transmettre une requête à une autre ressource (JSP / Servlet). Ainsi, avant de transmettre la demande, vous pouvez définir un attribut qui sera disponible pour la ressource suivante.

4voto

PaulStevens Points 1

getParameter - sert à obtenir les informations dont vous avez besoin à partir de la page HTML du client

getAttribute - Elle est utilisée pour récupérer les paramètres définis précédemment dans une autre ou la même page JSP ou Servlet.

Fondamentalement, si vous faites suivre ou passez simplement d'un jsp/servlet à un autre, il n'y a aucun moyen d'avoir les informations que vous voulez à moins que vous ne choisissiez de les mettre dans un objet et d'utiliser l'attribut set-attribute pour les stocker dans une variable de session.

En utilisant getAttribute, vous pouvez récupérer la variable de session.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X