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 <scarr@(protected):
>
> 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 <scarr@(protected):
> >>
> >> Hassan Schroeder wrote:
> >> > On 12/15/06, Scott Carr <scarr@(protected):
> >> >> 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@(protected)
> >> To unsubscribe, e-mail: users-unsubscribe@(protected)
> >> For additional commands, e-mail: users-help@(protected)
> >>
> >>
> >
> >
>
> --
> Scott Carr
> OpenOffice.org
> Documentation Co-Lead
> http://documentation.openoffice.org
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@(protected)
> To unsubscribe, e-mail: users-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
>
>
--
-Andre-
PCs are like air conditioner, if you open Windows, they don't work