public class BufferedServletInputStream
extends javax.servlet.ServletInputStream
BufferedServletInputStream wraps a
ServletInputStream in order to provide input buffering and to
avoid calling the the readLine method of the wrapped
ServletInputStream.
This is necessary because some servlet containers rely on the default
implementation of the readLine method provided by the Servlet
API classes, which is very slow. Tomcat 3.2, Tomcat 3.1, the JSWDK 1.0 web
server and the JSDK2.1 web server are all known to need this class for
performance reasons.
Also, it may be used to work around a bug in the Servlet API 2.0
implementation of readLine which contains a bug that causes
ArrayIndexOutOfBoundsExceptions under certain conditions.
Apache JServ is known to suffer from this bug.
| 构造器和说明 |
|---|
BufferedServletInputStream(javax.servlet.ServletInputStream in)
Creates a
BufferedServletInputStream that wraps the provided
ServletInputStream. |
| 限定符和类型 | 方法和说明 |
|---|---|
boolean |
isFinished() |
boolean |
isReady() |
int |
read()
Implement buffering on top of the
read method of
the wrapped ServletInputStream. |
int |
read(byte[] b,
int off,
int len)
Implement buffering on top of the
read method of
the wrapped ServletInputStream. |
int |
readLine(byte[] b,
int off,
int len)
Implement buffering on top of the
readLine method of
the wrapped ServletInputStream. |
void |
setReadListener(javax.servlet.ReadListener readListener) |
available, close, mark, markSupported, read, reset, skippublic BufferedServletInputStream(javax.servlet.ServletInputStream in)
BufferedServletInputStream that wraps the provided
ServletInputStream.in - a servlet input stream.public int readLine(byte[] b,
int off,
int len)
throws IOException
readLine method of
the wrapped ServletInputStream.readLine 在类中 javax.servlet.ServletInputStreamb - an array of bytes into which data is read.off - an integer specifying the character at which
this method begins reading.len - an integer specifying the maximum number of
bytes to read.IOException - if an I/O error occurs.public int read()
throws IOException
read method of
the wrapped ServletInputStream.read 在类中 InputStream-1 if the end of the
stream is reached.IOException - if an I/O error occurs.public int read(byte[] b,
int off,
int len)
throws IOException
read method of
the wrapped ServletInputStream.read 在类中 InputStreamb - the buffer into which the data is read.off - the start offset of the data.len - the maximum number of bytes read.-1 if there is no more data because the end
of the stream has been reached.IOException - if an I/O error occurs.public boolean isFinished()
isFinished 在类中 javax.servlet.ServletInputStreampublic boolean isReady()
isReady 在类中 javax.servlet.ServletInputStreampublic void setReadListener(javax.servlet.ReadListener readListener)
setReadListener 在类中 javax.servlet.ServletInputStreamCopyright © 2022. All rights reserved.