aspose file tools*
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 Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Java » Servlets
Bookmark "Servlet not receiving any data" Watch "Servlet not receiving any data" New topic
Author

Servlet not receiving any data

vishy jain
Greenhorn

Joined: Mar 14, 2011
Posts: 1

Hi,
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);


response.setContentType("text/plain");
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();
}
br.close();



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

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

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

// Writing to the output stream
try {
osHttp.writeUTF(recvdStr);
osHttp.flush();
}
catch(Exception io )
{
System.out.println(" Exception in io : Message = " + io.getMessage() );
io.printStackTrace();
// 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,
Vishal
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60072
    
  65

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] [Bear's FrontMan] [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...


S.D. MADHAN
Not many get the right opportunity !
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Servlet not receiving any data
 
Similar Threads
reading a file by lines
servlet response
reading a file by lines
Seaching and Replacing text program
save a xml file using java