File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Servlets and the fly likes Accessing servlets using URLConnection Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Servlets
Bookmark "Accessing servlets using URLConnection" Watch "Accessing servlets using URLConnection" New topic
Author

Accessing servlets using URLConnection

Poornachandran R
Ranch Hand

Joined: Sep 11, 2002
Posts: 47
Hai all,
Good morning.
I have a small problem in accessing servlets using URLConnection in stand-alone application. Following is the snippet of client and servlet.
URL url = new URL("http://mymachine/abc/Servlet");
HttpURLConnection httpConnection = (HttpURLConnection) url.openConnection();
httpConnection.setDoOutput(true);
httpConnection.setDoInput(true);
httpConnection.setRequestMethod("POST");
httpConnection.setUseCaches(false);
httpConnection.setRequestProperty("Content-type", "application/octet-stream");
httpConnection.setAllowUserInteraction(false);
PrintWriter out = new PrintWriter(httpConnection.getOutputStream());
String str = "Hello world";
out.println(str);
out.close();

Servlet

public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("in doGet");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("in doPost");
}
But it does not seem to invoke any of these methods in servlet.
FYI : I have deployed this servlet in Weblogic 6.1.

Poornachandran
Maulin Vasavada
Ranch Hand

Joined: Nov 04, 2001
Posts: 1871
hi Poornachandran,
u can try this after ur PrintWriter out = new PrintWriter(httpConnection.getOutputStream()); line,
BufferedInputStream bis = new BufferedInputStream(httpConnection.getInputStream());
bis.close();
that should work. i face the similar problem and the above solution did work.
i deduced that ONLY IF WE OPEN AN INPUT STREAM CONNECTION to the servlet, the servlet RESPONDS...DOESN'T matter if we don't want to do anything with the input stream we get (thats why we are closing it in above code).
regards
maulin
William Brogden
Author and all-around good cowpoke
Rancher

Joined: Mar 22, 2000
Posts: 12682
    
    5
I'm not sure if this is related to your problem, but you should never close the output stream until you are through with the connection - it closes the socket and you will never get any response. Instead you should flush() the output stream so the buffered data will all be sent.
Bill


Java Resources at www.wbrogden.com
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Accessing servlets using URLConnection
 
Similar Threads
URLConnection question, Posting
help required about URLConnection
help: need help for post
Problem to call servlet from Java class
applet to servlet