PHP'nin $_POST
Java eşdeğeri ne kadardır? İnterneti bir saat aradıktan sonra, hala daha yakın bir yerdeyim.Java Servlet kullanarak gönderi değişkenlerine erişme
cevap
HttpServletRequest
nesnesinin, parametre değerlerini almak için kullanılabilecek bir getParameter(String paramName)
yöntemine sahipsiniz. http://java.sun.com/javaee/5/docs/api/javax/servlet/ServletRequest.html#getParameter(java.lang.String)
POST değişkenlerine şu nesne aracılığıyla erişilebilmelidir: HttpRequest.getParameterMap(). Bunun istisnası, eğer form multipart MIME veri gönderiyorsa (FORM, enctype = "multipart/form-data"). Bu durumda, bayt akışını bir MIME ayrıştırıcısıyla ayrıştırmanız gerekir. Kendi yazabilir veya Apache Commons File Upload API'sı gibi mevcut olanı kullanabilirsiniz.
İşte basit bir örnek. Html veya servlet ile süslü olmadım, ama fikri almalısın.
Umarım bu size yardımcı olur. 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");
....
....
}
}
Servlet sayfasında POST istek değerini nasıl alacağımı bildirir misin? $ .ajax çağrı formu eylemi ve XMLHttpRequest kullanıyorum? – selladurai
Benim sorum http://stackoverflow.com/questions/6068510/i-couldnt-get-the-post-value-in-servlet-page – selladurai
önceki cevaplar için Şimdi
<html>
<body>
<form method="post" action="/myServlet">
<input type="text" name="username" />
<input type="password" name="password" />
<input type="submit" />
</form>
</body>
</html>
doğru ancak giriş alanlarında isim niteliği (html formu) kullanmayı unutmayın veya herhangi bir şey alamayacak. Örnek:
<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 -->
Bütün bu kod geçerli HTML olmakla getParameter (java.lang.String) kullanarak adı özniteliği almak istediğiniz tüm parametrelerde ayarlanmış gerekecektir.
Not: Bu yanıt, Servlet 3.0 sürümü ve 'multipate/form-data 'için standart destek sunulmasından önce gelir. [Java EE 6 API] 'na bakın (http://docs.oracle.com/javaee/6/api/javax/servlet/annotation/MultipartConfig.html) ve/veya [bu blog yazısı] (http: // balusc. blogspot.com/2009/12/uploading-files-in-servlet-30.html) – McDowell