Vra

Wat is die Java ekwivalent van $_POST PHP se? Na soek op die web vir 'n uur, ek is nog nêrens nader.

Was dit nuttig?

Oplossing

Jou HttpServletRequest voorwerp het 'n getParameter(String paramName) metode wat gebruik kan word om parameterwaardes kry. http: // java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)

Ander wenke

Hier is 'n eenvoudige voorbeeld. Ek het nie fancy met die html of die Servlet kry, maar moet jy die idee kry.

Ek hoop dit help jou uit.

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

Nou vir die 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");
    ....
    ....
  }
}

POST veranderlikes moet toeganklik via die versoek voorwerp wees: HttpRequest.getParameterMap () . Die uitsondering is wanneer die vorm stuur multipart MIME data (die vorm enctype = "multipart / form-data" ). In daardie geval, moet jy die byte stroom ontleed met 'n MIME parser. Jy kan jou eie skryf of gebruik 'n bestaande een soos die Apache Commons lêer oplaai API.

Die vorige antwoorde is korrek, maar onthou om die naam kenmerk in die insette velde (html vorm) gebruik, of jy sal nie iets kry. Byvoorbeeld:

<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 -->

Alle hierdie kode is HTML geldig, maar met behulp van getParameter (java.lang.String) wat jy nodig het die naam kenmerk gestel in alle parameters wat jy wil ontvang.

Vir kry al post parameters is daar Map waarin versoek param name bevat as sleutel en param waarde as die sleutel.

Map params = servReq.getParameterMap();

Toe parameters met 'n bekende naam normale kry

String userId=servReq.getParameter("user_id");
Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top