문제
PHP와 동등한 Java는 무엇입니까? $_POST
?한 시간 동안 웹을 검색한 후에도 여전히 가까운 곳이 없습니다.
해결책
당신의 HttpServletRequest
객체는 getParameter(String paramName)
매개변수 값을 가져오는 데 사용할 수 있는 메서드입니다. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)
다른 팁
다음은 간단한 예입니다.나는 HTML이나 서블릿이 마음에 들지 않았지만 여러분은 아이디어를 얻으실 것입니다.
이것이 당신에게 도움이 되기를 바랍니다.
<html>
<body>
<form method="post" action="/myServlet">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
</body>
</html>
이제 서블릿을 위해
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 변수는 요청 개체를 통해 액세스할 수 있어야 합니다. HttpRequest.getParameterMap().예외는 양식이 여러 부분으로 구성된 MIME 데이터를 보내는 경우입니다(FORM은 enctype="멀티파트/폼-데이터").이 경우 MIME 파서로 바이트 스트림을 구문 분석해야 합니다.직접 작성하거나 Apache와 같은 기존 것을 사용할 수 있습니다. 공용 파일 업로드 API.
이전 답변은 정확하지만 입력 필드(html 형식)에서 이름 속성을 사용하는 것을 기억하세요. 그렇지 않으면 아무것도 얻지 못할 것입니다.예:
<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 -->
이 코드는 모두 유효한 HTML이지만 getParameter(java.lang.String)를 사용하면 수신하려는 모든 매개변수에 name 속성을 설정해야 합니다.
모든 게시물 매개변수를 가져오려면 요청 매개변수 이름을 키로, 매개변수 값을 키로 포함하는 맵이 있습니다.
Map params = servReq.getParameterMap();
그리고 알려진 이름의 매개변수를 얻으려면
String userId=servReq.getParameter("user_id");