Accesarea variabilelor post utilizând servlets Java

Care este echivalentul Java al codului $ _ POST al PHP? După ce am căutat pe web timp de o oră, nu sunt niciunde mai aproape.

0
fr hi bn

5 răspunsuri

Your HttpServletRequest object has a getParameter(String paramName) method that can be used to get parameter values. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

0
adăugat

Variabilele POST trebuie să fie accesibile prin intermediul obiectului de solicitare: HttpRequest.getParameterMap() . Excepția este dacă formularul trimite date MIME multiparte (FORMUL are enctype = "multipart / form-data" ). În acest caz, trebuie să parsezi fluxul de octeți cu un parser MIME. Puteți să vă scrieți sau să utilizați unul existent, cum ar fi Apache API pentru încărcarea fișierelor Google Commons .

0
adăugat
Notă: acest răspuns precede lansarea serviciului Servlet 3.0 și a suportului standard pentru multipate / form-data . Consultați Java EE 6 API și / sau acest post pe blog
adăugat autor McDowell, sursa

Iată un exemplu simplu. Nu m-am imaginat cu html sau cu servletul, dar ar trebui să ai ideea.

Sper că te ajută.

<html>
<body>
<form method="post" action="/myServlet">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
</body>
</html>

Acum pentru Servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class MyServlet extends HttpServlet {
  public void doPost(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {

    String userName = request.getParameter("username");
    String password = request.getParameter("password");
    ....
    ....
  }
}
0
adăugat
mă puteți suna cum să obțineți valoarea solicitării POST în pagina servletului? Folosesc $ .ajax nu formează acțiune și XMLHttpRequest?
adăugat autor selladurai, sursa
adăugat autor selladurai, sursa

Răspunsurile anterioare sunt corecte, dar nu uitați să utilizați atributul nume în câmpurile de introducere (formular html) sau nu veți primi nimic. Exemplu:

<input type="text" id="username" /> <!-- won't work --> <input type="text" name="username" /> <!-- will work --> <input type="text" name="username" id="username" /> <!-- will work too -->

Tot acest cod este HTML valid, dar folosind getParameter (java.lang.String), veți avea nevoie de atributul name a fost setat în toți parametrii pe care doriți să primiți.

0
adăugat

Pentru a obține toate parametrii de postare, există o hartă care conține param nume de cerere ca valoare cheie și param ca valoare.

Map params = servReq.getParameterMap();

Și pentru a obține parametrii cu nume cunoscut normal

String userId=servReq.getParameter("user_id");
0
adăugat