File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Servlets and the fly likes Servlet not receiving any data Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Make it so: Java DB Connections & Transactions this week in the JDBC forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Servlet not receiving any data" Watch "Servlet not receiving any data" New topic

Servlet not receiving any data

vishy jain

Joined: Mar 14, 2011
Posts: 1

From a client code, I am establishing HTTP connection to a servlet.

The servlet has to receive data on HTTP connection and write to InputStream. I am also writing a logs to log.txt
The servlet doPost code is as follows

public class TestServlet extends HttpServlet
static int DEBUG = 1;
public void init() { }

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

String line = null;
String [] fields;
FileWriter file = new FileWriter("C:\\log.txt",true);
BufferedWriter bwriter = new BufferedWriter(file);

PrintWriter out = response.getWriter();

bwriter.write("\n log file created");

InputStream stream = request.getInputStream();
int len_line = 0;
int len_Category = 0;
int len_Parameters = 0;
BufferedReader br = new BufferedReader(new InputStreamReader(stream));

while(br.ready()) {
//out.println("\n inside while loop");
line = br.readLine();
line = line.trim();
len_line = line.length();

The client code is trying to send data to the servlet. The client code is as follows.

connHttp = (HttpConnection)"http://localhost:8080/star/TestServlet");
connHttp.setRequestProperty("User-Agent", "Profile/MIDP-1.0, Configuration/CLDC-1.0");
connHttp.setRequestProperty("Content-Language", "en-US");
System.out.println(" Http Connection done ");

// Opening output stream to my servlet
osHttp = (DataOutputStream)connHttp.openDataOutputStream();
if (osHttp == null ) {
System.out.println(" osHttp is null ");
else {
System.out.println(" osHttp is not null");
catch(Exception io) {
System.out.println(" Exception while opening osHttp " + io.getMessage());

// Writing to the output stream
try {
catch(Exception io )
System.out.println(" Exception in io : Message = " + io.getMessage() );
// io.getCause() ;

When I execute this, I see log.txt is created with 0 bytes but nothing is written to it. Somehow data is not written to InputStream.
Can anyone guide me here..

Thanks and Regards,
Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63552

Hmmm, I'm trying to look at your code, but the stubborn forum software has made it look all wonky. If you use CODE tags when posting code to the forums (see the FAQ at ⇒ UseCodeTags ⇐) they tell it "Hey! Keep your hands off my formatting!" and your code will look just like when you cut and pasted it into the reply. Cool, no?

[Asking smart questions] [About Bear] [Books by Bear]
Madhan Sundararajan Devaki
Ranch Hand

Joined: Mar 18, 2011
Posts: 312

I believe, writing a log outside the servlet container' directory structure may have been prevented. You may need to find an alternative location to write the logs. May be there is a logs folder within your Web/Application server. Also, you should attempt to use the standard logging frameworks such as Log4J etc...

Not many get the right opportunity !
I agree. Here's the link:
subject: Servlet not receiving any data
It's not a secret anymore!