request.getParameter("companyName"); consiste à obtenir les données soumises par le formulaire (le nom est companyName dans le formulaire de la première page)
request.getAttribute("cc") consiste à récupérer les données de votre setAttribute (la valeur obtenue est la valeur du paramètre cc que vous avez vous-même enregistré.)
Utilisé pour les paramètres dans les hyperliens. . request.getParameter (nom du paramètre)
La classe HttpServletRequest possède à la fois la méthode getAttribute() et la méthode getParameter(). Les deux méthodes présentent les différences suivantes :
(1) La classe HttpServletRequest a une méthode setAttribute() mais pas de méthode setParameter()
(2) Lorsqu'il existe une relation de lien entre deux composants Web, le composant lié obtient les paramètres de requête via la méthode getParameter(). Par exemple, en supposant qu'il existe une relation de lien entre Welcome.jsp et Authenticate.jsp, Welcome.jsp. a le code suivant :
<a href="authenticate.jsp?username=weiqin">authenticate.jsp </a>
ou:
<form name="form1" method="post" action="authenticate.jsp">
Veuillez saisir le nom d'utilisateur : <input type="text" name="username">
<input type="submit" name="Soumettre" value="Soumettre">
</form>
Obtenez le nom d'utilisateur du paramètre de requête via la méthode request.getParameter("username") dans Authenticate.jsp :
<% String username=request.getParameter("username" %>);
(3) Lorsqu'il existe une relation de transfert entre deux composants Web, le composant cible du transfert partage les données dans la plage de requêtes avec le composant source de transfert via la méthode getAttribute(). On suppose qu'il existe une relation de transfert entre Authenticate.jsp et hello.jsp. Authenticate.jsp espère transmettre le nom d'utilisateur actuel à hello.jsp. Comment transmettre ces données ? Appelez d’abord la méthode setAttribute() dans Authenticate.jsp :
<%
String username=request.getParameter("username");
request.setAttribute("nom d'utilisateur", nom d'utilisateur);
%>
<jsp:forward page="hello.jsp" />
Obtenez le nom d'utilisateur via la méthode getAttribute() dans hello.jsp :
<% String nom d'utilisateur=(String)request.getAttribute("nom d'utilisateur" %>);
Bonjour : <%=nom d'utilisateur %>
À un niveau plus profond, les données transmises par la méthode request.getParameter() seront transmises du client Web au serveur Web, représentant les données de la requête HTTP. La méthode request.getParameter() renvoie des données de type String.
Les données transmises par les méthodes request.setAttribute() et getAttribute() n'existeront qu'à l'intérieur du conteneur Web et seront partagées entre les composants Web avec une relation de transfert. Ces deux méthodes peuvent définir des données partagées de type Objet
Pour faire simple, la méthode request.getParamenter() utilise le protocole HTTP pour transférer des données et ne peut transférer que des informations de type String, tandis que la méthode request.setAttribtute() transfère les données dans le conteneur WEB et peut transmettre tout type d'informations sur les objets. Par exemple, si une servlet listAction souhaite transmettre une collection LIST à list.jsp, elle doit utiliser setAttribute.