I want to send a serialized object from a Java class to a servlet, where the servlet should retrieve and save the object as a file. I know that I need to use HttpURLConnection to make a POST request for the servlet, but I do not know if the code below is correct.
private static HttpURLConnection urlCon; private static ObjectOutputStream out; public static void main(String[] args) { Names names = new Names(); names.setName("ABC"); names.setPlace("Bangalore"); URL url; try { url = new URL("http://localhost:6080/HttpClientSerializable/HttpPostServlet"); try { out = (ObjectOutputStream) urlCon.getOutputStream(); out.writeObject(names); urlCon = (HttpURLConnection) url.openConnection(); urlCon.setRequestMethod("POST"); urlCon.setDoOutput(true); out.close(); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e1) { e1.printStackTrace(); } }
And in the servlet, I have the following code:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ObjectInputStream in = new ObjectInputStream(request.getInputStream()); try { names = (Names) in.readObject(); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } in.close(); ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("C:/Documents and Settings/RAGASTH/Desktop/Names")); out.writeObject(names); out.close(); }
What should I do to make it work? In addition, I want the servlet to send back the object that it received as a response.
Any help would be greatly appreciated. Thanks!
Rajath
source share