2008-08-07 2 views

답변

21

POST 변수는 요청 개체 (HttpRequest.getParameterMap())를 통해 액세스 할 수 있어야합니다. 양식에서 여러 부분 MIME 데이터를 전송하는 경우는 예외입니다 (FORM의 형식은 입니다. enctype = "multipart/form-data"). 이 경우 MIME 파서로 바이트 스트림을 구문 분석해야합니다. 직접 작성하거나 Apache Commons File Upload API와 같은 기존 API를 사용할 수 있습니다.

+7

참고 :이 답변은 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

46

다음은 간단한 예입니다. 나는 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"); 
    .... 
    .... 
    } 
} 
+2

서블릿 페이지에서 POST 요청 값을 얻는 방법을 알려주십시오. 양식 및 XMLHttpRequest $ .ajax 호출을 사용하고 있습니까? – selladurai

+0

내 질문 http://stackoverflow.com/questions/6068510/i-couldnt-get-the-post-value-in-servlet-page – selladurai

1

이전 답변에 대한 지금

<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의)를 사용하면 이름 속성이 사용자가 수신 할 모든 매개 변수를 설정해야합니다.