In this post, I am going to explain how
to submit a form using HTTP client.
For example, following servlet class
handles user registration data.
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Servlet implementation class RegistrationHandler */ @WebServlet("/RegistrationHandler") public class RegistrationHandler extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); PrintWriter out = response.getWriter(); out.println("Hello " + name); out.close(); } }
Following HTTP Client application
submits data to above servlet and get response.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.List; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicNameValuePair; public class Main { public static void main(String args[]) throws ClientProtocolException, IOException, URISyntaxException { String uri = "http://localhost:8080/sample_app/RegistrationHandler"; List<NameValuePair> formparams = new ArrayList<NameValuePair>(); formparams.add(new BasicNameValuePair("name", "Hari Krishna Gurram")); formparams.add(new BasicNameValuePair("password", "password")); formparams.add(new BasicNameValuePair("mailId", "abcdef@abcdef.com")); UrlEncodedFormEntity requestBody = new UrlEncodedFormEntity(formparams, Consts.UTF_8); HttpPost httppost = new HttpPost(uri); httppost.setEntity(requestBody); CloseableHttpClient httpclient = HttpClientBuilder.create().build(); CloseableHttpResponse response = httpclient.execute(httppost); HttpEntity responseBody = response.getEntity(); if (responseBody != null) { InputStream instream = responseBody.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader( instream)); try { String data; while ((data = br.readLine()) != null) { System.out.println(data); } } finally { instream.close(); } } response.close(); } }
Output
Hello Hari
Krishna Gurram
No comments:
Post a Comment