Why dont you try using PUT instead of POST ? I think put is more suitable
for this as you can stream anything to servlet.
if you insist on using post, i recommend getting the parameter and replace
the newline with some chars like ':'

this is an example on streaming an object using put

       HttpClient client = HTTP_CLIENT;
       PutMethod method = new PutMethod(getUrl().toString());
       ByteArrayOutputStream byter = new ByteArrayOutputStream();
       ObjectOutputStream out = null;
       byte[] response = null;
       try {
           out = new ObjectOutputStream(byter);
           out.writeObject(o);
           RequestEntity entity = new ByteArrayRequestEntity(
byter.toByteArray());
           method.setRequestEntity(entity);
           client.executeMethod(method);
           response = method.getResponseBody();
       } finally {
           if (out != null) {
               out.close();
           }
           method.releaseConnection();
       }



On 12/20/06, Scott Carr <[EMAIL PROTECTED]> wrote:

I am creating a client - server application that will process lines like:

startjob
adduser
adduser
adduser
adduser
endjob

adduser can be an unlimited amount of times.  I want to process the
lines as they come into the Servlet, that way a seperate process could
be doing something to complete each of the tasks, while I am in the
process of working on reading the lines.

I have written a Socket server of my own to do this before, I am now
trying to use Tomcat Servlet to do the same thing, because Tomcat
already some behind the scenes stuff already setup.

Does this make sense?  Am I totally off my rocker?  (My wife would
definately agree with that last bit.)

Andre Prasetya wrote:
> Why do you want to read POST by using reader ? I only use the stream
from
> request on a PUT request.
>
>
> On 12/16/06, Scott Carr <[EMAIL PROTECTED]> wrote:
>>
>> Hassan Schroeder wrote:
>> > On 12/15/06, Scott Carr <[EMAIL PROTECTED]> wrote:
>> >> Does a servlet require the use of a Content-Length for the Reader
>> to be
>> >> populated?
>> >
>> > A pretty cursory test seems to indicate not, but I could just be
lucky
>> > :-)
>> >
>> >> ...and I want to read each line as they come in, and handle the
>> >> request on
>> >> a line by line basis.
>> >
>> > Have you tried this yet? request.getReader() would seem to cover
>> > your situation, assuming this isn't binary data.
>> >
>> Hm, the reason I asked, is because of a test I ran.  strLine is always
>> null.
>>
>> Using the following code for processRequest:
>>
>> response.setContentType("text/plain");
>>
>>         m_out = response.getWriter();
>>         m_bufRead = request.getReader();
>>
>>         while (true) {
>>             strLine = m_bufRead.readLine();
>>
>>             if (strLine != null) {
>>                 if (strLine.startsWith("login")) {
>>                     ProcessLogin();
>>                 } else if (strLine.startsWith("exit")) {
>>                     break;
>>                 }
>>             } else {
>>                 try {
>>                     Thread.sleep(1000);
>>                 } catch (InterruptedException ex) {
>>                     ex.printStackTrace();
>>                 }
>>             }
>>         }
>>
>>         m_bufRead = null;
>>         m_out.close();
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>
>

--
Scott Carr
OpenOffice.org
Documentation Co-Lead
http://documentation.openoffice.org


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
-Andre-

PCs are like air conditioner, if you open Windows, they don't work

Reply via email to