Unterschied zwischen getAttribute() und getParameter()

Lesezeit: 6 Minuten

Unterschied zwischen getAttribute und getParameter
priya

Was ist der Unterschied zwischen getAttribute() und getParameter() Methoden darin HttpServletRequest Klasse?

  • In welcher Klasse/Paket/API? Haben Sie versucht, die JavaDocs für die relevanten Methoden zu lesen?

    – Andrew Thompson

    9. März 2011 um 9:49 Uhr

  • Verwandte: Wie funktionieren Servlets? Anwendungs-/Sitzungs-/Anfragebereiche?

    – BalusC

    5. März 2012 um 18:13 Uhr


  • -Attribut ist nur für HTTP-Anforderungen, die Servlets bei der Zusammenarbeit unterstützen

    – Bytefisch

    16. Mai 2019 um 12:17 Uhr

Unterschied zwischen getAttribute und getParameter
Bozo

  • getParameter() gibt HTTP-Anforderungsparameter zurück. Diese werden vom Client an den Server weitergegeben. Zum Beispiel http://example.com/servlet?parameter=1. Kann nur zurück String

  • getAttribute() ist nur für die serverseitige Verwendung bestimmt – Sie füllen die Anfrage mit Attributen, die Sie innerhalb derselben Anfrage verwenden können. Zum Beispiel – Sie setzen ein Attribut in einem Servlet und lesen es von einer JSP. Kann für jedes Objekt verwendet werden, nicht nur für Strings.

  • Ich nehme an, wenn Sie so etwas wie verwenden ${attrName} Auf einer JSP-Seite sind dies die Attribute, die Sie mit festlegen request.getSession().setAttribute()?

    – ha9u63ar

    29. April 2015 um 14:56 Uhr

  • Da Anforderungsattribute serverseitig gespeichert werden, kann ich Anforderungsattribute für eine Post-Redirect-Get-Anforderung zwischen Servern festlegen? Ich möchte Informationen von einem Server zu einem anderen Server in JSF über ein Attribut in einer Umleitungsanforderung senden. Ich kann ab sofort über eine POST-Anfrage senden.

    – Benutzer2918640

    11. März 2016 um 5:29 Uhr

  • In diesem Fall scheint “Parameter” gleichbedeutend mit “Abfragezeichenfolge” zu sein.

    – BWAHR

    30. Januar 2018 um 22:22 Uhr

Unterschied zwischen getAttribute und getParameter
krock

Im Allgemeinen ist ein Parameter ein Zeichenfolgenwert, der am häufigsten dafür bekannt ist, dass er vom Client an den Server gesendet (z. B. ein Formularbeitrag) und vom Server abgerufen wird Servlet-Anfrage. Die frustrierende Ausnahme davon ist ServletContext-Anfangsparameter Dies sind Zeichenfolgenparameter, die in web.xml konfiguriert und auf dem Server vorhanden sind.

Ein Attribut ist eine Servervariable, die innerhalb eines bestimmten Bereichs existiert, dh:

  • applicationverfügbar für die gesamte Lebensdauer der Anwendung
  • sessionverfügbar für die Dauer der Sitzung
  • requestnur für die Dauer der Anforderung verfügbar
  • page (nur JSP), nur für die aktuelle JSP-Seite verfügbar

  • “Im Allgemeinen ist ein Parameter ein Zeichenfolgenwert” Anders als Saiten Was könnten wir senden?

    – mfaani

    8. November 2016 um 16:31 Uhr

  • ^Objekte wie im Fall von request.setAttribute

    – Arijit

    28. September 2017 um 6:31 Uhr

Unterschied zwischen getAttribute und getParameter
AVI

request.getParameter()

Wir gebrauchen request.getParameter() zum Extrahieren von Anforderungsparametern (dh Daten, die durch das Versenden eines HTML-Formulars gesendet werden). Die request.getParameter() kehrt immer zurück String Wert und die Daten kommen vom Client.

request.getAttribute()

Wir gebrauchen request.getAttribute() um ein Objekt zum Anforderungsbereich auf der Serverseite hinzuzufügen, dh mit request.setAttribute(). Sie können hier jede Art von Objekt hinzufügen, die Ihnen gefällt, Strings, Benutzerdefinierte Objekte, in der Tat jedes Objekt. Sie fügen das Attribut der Anfrage hinzu und leiten die Anfrage an eine andere Ressource weiter, der Client weiß nichts davon. Der gesamte Code, der dies handhabt, befindet sich also normalerweise in JSP/Servlets. Sie können verwenden request.setAttribute() zusätzliche Informationen hinzuzufügen und die aktuelle Anfrage an eine andere Ressource weiterzuleiten/umzuleiten.

Betrachten Sie zum Beispiel first.jsp,

//First Page : first.jsp
<%@ page import="java.util.*" import="java.io.*"%>
<% request.setAttribute("PAGE", "first.jsp");%>
<jsp:forward page="/second.jsp"/>

und second.jsp:

<%@ page import="java.util.*" import="java.io.*"%>
From Which Page : <%=request.getAttribute("PAGE")%><br>
Data From Client : <%=request.getParameter("CLIENT")%>

Führen Sie in Ihrem Browser aus first.jsp?CLIENT=Sie und die Ausgabe in Ihrem Browser ist

From Which Page : *first.jsp*
Data From Client : you

Der grundlegende Unterschied zw getAttribute() und getParameter() besteht darin, dass die erste Methode ein (serialisiertes) Java-Objekt extrahiert und die andere einen String-Wert bereitstellt. Für beide Fälle wird ein Name angegeben, damit sein Wert (sei es ein String oder eine Java-Bean) nachgeschlagen und extrahiert werden kann.

  • Dies war ein großartiges Beispiel. Dies sollte die akzeptierte Antwort sein. Die akzeptierte Antwort ist richtig, aber für Neueinsteiger hat ein Beispiel alles verdeutlicht. Danke.

    Benutzer5228393

    26. Februar 2017 um 3:57 Uhr

  • Gute Antwort. Vielleicht lohnt es sich hinzuzufügen, dass der Umfang der Attribute ins Spiel kommt, wenn Sie die Serverseite der Anfrage eines Clients abfangen und einige zusätzliche Informationen an die Anfrage anhängen.

    – Nabster

    19. Mai 2021 um 18:43 Uhr

Es ist entscheidend, das zu wissen Attribute sind nicht Parameter.

Der Rückgabetyp für Attribute ist an Objektwährend der Rückgabetyp für einen Parameter a ist Schnur. Beim Anrufen der getAttribute(String name) -Methode beachten, dass die Attribute gecastet werden müssen.

Außerdem gibt es keine servletspezifischen Attributeund es gibt keine Sitzungsparameter.

Dieser Beitrag wurde mit dem Zweck geschrieben, auf die Antwort von @Bozho als zusätzliche Informationen zuzugreifen, die für andere Personen nützlich sein können.

1646255230 650 Unterschied zwischen getAttribute und getParameter
Abhi

Der Unterschied zwischen getAttribute und getParameter besteht darin, dass getParameter den Wert eines Parameters zurückgibt, der von einem HTML-Formular übermittelt oder in einer Abfragezeichenfolge enthalten war. getAttribute gibt ein Objekt zurück, das Sie in der Anfrage festgelegt haben. Sie können dies nur in Verbindung mit einem RequestDispatcher verwenden. Sie verwenden einen RequestDispatcher, um eine Anfrage an eine andere Ressource (JSP / Servlet) weiterzuleiten. Bevor Sie also die Anfrage weiterleiten, können Sie ein Attribut setzen, das der nächsten Ressource zur Verfügung steht.

1646255230 569 Unterschied zwischen getAttribute und getParameter
Nenad Bulatovic

getParameter() :

<html>
<body>
<form name="testForm" method="post" action="testJSP.jsp">
<input type="text" name="testParam" value="ClientParam">
<input type="submit">
</form>
</body>
</html>

    <html>
    <body>
    <%
    String sValue = request.getParameter("testParam");
    %>
    <%= sValue %>
    </body>
    </html>

request.getParameter("testParam") erhält den Wert aus dem geposteten Formular des Eingabefelds mit dem Namen “testParam”, das “Client param” ist. Es wird es dann ausdrucken, also sollten Sie “Client Param” auf dem Bildschirm sehen. Request.getParameter() ruft also einen Wert ab, den der Client übermittelt hat. Sie erhalten den Wert auf der Serverseite.

getAttribute() :
request.getAttribute(), das ist alles serverseitig erledigt. SIE fügen das Attribut der Anfrage hinzu und SIE senden die Anfrage an eine andere Ressource, der Client weiß nichts davon. Der gesamte Code, der dies handhabt, befindet sich normalerweise in servlets.getAttribute, das immer ein Objekt zurückgibt.

1646255230 924 Unterschied zwischen getAttribute und getParameter
rahul pasricha

getParameter – Wird verwendet, um die benötigten Informationen von der HTML-Seite des Clients zu erhalten

getAttribute – Dies wird verwendet, um die zuvor in einer anderen oder derselben JSP- oder Servlet-Seite festgelegten Parameter abzurufen.

Wenn Sie von einem JSP/Servlet zu einem anderen weiterleiten oder einfach nur dorthin wechseln, gibt es keine Möglichkeit, die gewünschten Informationen zu erhalten, es sei denn, Sie legen sie in einem Objekt ab und verwenden das set-Attribut zum Speichern in einer Session-Variablen.

Mit getAttribute können Sie die Session-Variable abrufen.

916140cookie-checkUnterschied zwischen getAttribute() und getParameter()

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy