PHP의 $_POST
에 해당하는 Java는 무엇입니까? 1 시간 동안 웹을 검색 한 후에도, 나는 여전히 아무 곳에도 가까이 있지 않습니다.자바 서블릿을 사용하여 사후 변수에 액세스
답변
HttpServletRequest
개체에는 매개 변수 값을 가져 오는 데 사용할 수있는 getParameter(String paramName)
메서드가 있습니다. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)
POST 변수는 요청 개체 (HttpRequest.getParameterMap())를 통해 액세스 할 수 있어야합니다. 양식에서 여러 부분 MIME 데이터를 전송하는 경우는 예외입니다 (FORM의 형식은 입니다. enctype = "multipart/form-data"). 이 경우 MIME 파서로 바이트 스트림을 구문 분석해야합니다. 직접 작성하거나 Apache Commons File Upload API와 같은 기존 API를 사용할 수 있습니다.
다음은 간단한 예입니다. 나는 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 요청 값을 얻는 방법을 알려주십시오. 양식 및 XMLHttpRequest $ .ajax 호출을 사용하고 있습니까? – selladurai
내 질문 http://stackoverflow.com/questions/6068510/i-couldnt-get-the-post-value-in-servlet-page – selladurai
이전 답변에 대한 지금
<html>
<body>
<form method="post" action="/myServlet">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
</body>
</html>
는 정확하지만, 입력 필드의 이름 속성 (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의)를 사용하면 이름 속성이 사용자가 수신 할 모든 매개 변수를 설정해야합니다.
참고 :이 답변은 Servlet 3.0의 출시와 'multipate/form-data'에 대한 표준 지원 이전에 나와 있습니다. [Java EE 6 API] (http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/MultipartConfig.html) 및/또는 [이 블로그 게시물] (http : // balusc. blogspot.com/2009/12/uploading-files-in-servlet-30.html) – McDowell