|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
jrun.servlet.ServletConnection
this class implements the full HttpServletRequest and HttpServletResponse API's, by throwing "not implemented" exceptions. Subclasses can override the methods they choose to implement.
This class turns out to be incredibly useful, in that it contains many useful constants, as well as several Servlet API methods that are simply convenience methods.
Services that implement servlet protocols can subclass this object to implement their specialized ServletRequest and ServletResponse objects. They can also use its buffered streams efficiently since the underlying streams can be swapped out without destroying any objects.
This class also implements the request attribute namespace so nobody else has to. The hashtable is not constructed until it is needed, so subclasses can avoid extra hashtables if they want.
| Field Summary | |
int |
bytesIn
|
int |
bytesOut
|
protected boolean |
committed
|
protected NoCaseContainer |
headersIn
|
protected NoCaseContainer |
headersOut
|
Metrics |
metrics
|
| Fields inherited from interface jrun.servlet.HttpConstants |
ACCEPT_CHARSET, ACCEPT_LANGUAGE, CACHE_CONTROL, CONNECTION, CONTENT_LANGUAGE, CONTENT_LENGTH, CONTENT_TYPE, COOKIE, DATE, EXPIRES, HOST, LOCATION, SERVER, SET_COOKIE |
| Constructor Summary | |
protected |
ServletConnection(Metrics metrics,
int bytesIn,
int bytesOut)
|
| Method Summary | |
void |
addCookie(javax.servlet.http.Cookie c)
Adds the specified cookie to the response. |
void |
addDateHeader(java.lang.String h,
long time)
|
void |
addHeader(java.lang.String name,
java.lang.String value)
|
void |
addIntHeader(java.lang.String name,
int i)
|
protected void |
closeInputStream()
|
protected void |
commitHeaders()
Writes status line and headers to specified servlet output stream. |
boolean |
containsHeader(java.lang.String name)
|
java.lang.String |
encodeRedirectUrl(java.lang.String url)
|
java.lang.String |
encodeRedirectURL(java.lang.String url)
|
java.lang.String |
encodeUrl(java.lang.String url)
|
java.lang.String |
encodeURL(java.lang.String url)
|
abstract void |
flushBuffer()
|
protected java.lang.String |
formatDateHeader(long time)
|
java.lang.Object |
getAttribute(java.lang.String a)
|
java.util.Enumeration |
getAttributeNames()
|
abstract java.lang.String |
getAuthType()
|
abstract int |
getBufferSize()
|
java.lang.String |
getCharacterEncoding()
|
int |
getContentLength()
|
java.lang.String |
getContentType()
|
java.lang.String |
getContextPath()
|
javax.servlet.http.Cookie[] |
getCookies()
|
static ServletConnection |
getCurrent()
Get the current ServletConnection for this thread. |
long |
getDateHeader(java.lang.String name)
Returns the date value of the header field with the specified name. |
abstract java.lang.String |
getHeader(java.lang.String h)
|
abstract java.util.Enumeration |
getHeaderNames()
|
abstract java.util.Enumeration |
getHeaders(java.lang.String h)
|
protected javax.servlet.ServletInputStream |
getIn()
|
javax.servlet.ServletInputStream |
getInputStream()
|
int |
getIntHeader(java.lang.String name)
Returns the integer value of the header field with the specified name. |
java.util.Locale |
getLocale()
|
java.util.Enumeration |
getLocales()
|
abstract java.lang.String |
getMethod()
|
abstract javax.servlet.ServletOutputStream |
getOutputStream()
|
java.lang.String |
getParameter(java.lang.String p)
|
java.util.Map |
getParameterMap()
|
java.util.Enumeration |
getParameterNames()
|
java.lang.String[] |
getParameterValues(java.lang.String p)
|
java.lang.String |
getPathInfo()
|
java.lang.String |
getPathTranslated()
|
abstract java.lang.String |
getProtocol()
|
abstract java.lang.String |
getQueryString()
|
java.io.BufferedReader |
getReader()
|
abstract java.lang.String |
getRealPath(java.lang.String p)
|
abstract java.lang.String |
getRemoteAddr()
|
abstract java.lang.String |
getRemoteHost()
|
abstract java.lang.String |
getRemoteUser()
|
javax.servlet.RequestDispatcher |
getRequestDispatcher(java.lang.String relPath)
|
java.lang.String |
getRequestedSessionId()
|
abstract java.lang.String |
getRequestURI()
|
java.lang.StringBuffer |
getRequestURL()
|
abstract java.lang.String |
getScheme()
|
abstract java.lang.String |
getServerName()
|
abstract int |
getServerPort()
|
java.lang.String |
getServletPath()
|
javax.servlet.http.HttpSession |
getSession()
|
javax.servlet.http.HttpSession |
getSession(boolean create)
|
java.security.Principal |
getUserPrincipal()
|
java.io.PrintWriter |
getWriter()
|
boolean |
isCommitted()
|
boolean |
isRequestedSessionIdFromCookie()
|
boolean |
isRequestedSessionIdFromUrl()
|
boolean |
isRequestedSessionIdFromURL()
|
boolean |
isRequestedSessionIdValid()
|
abstract boolean |
isSecure()
|
boolean |
isUserInRole(java.lang.String role)
|
protected void |
readRequest()
using whatever implementation specific code, initialize this request. |
protected static java.lang.String |
reason(int status,
java.util.Locale loc)
Given a status ID, return the text reason. |
void |
removeAttribute(java.lang.String a)
|
void |
reset()
|
abstract void |
resetBuffer()
|
void |
sendError(int s)
|
void |
sendError(int s,
java.lang.String m)
|
void |
sendRedirect(java.lang.String l)
|
void |
setAttribute(java.lang.String a,
java.lang.Object o)
|
abstract void |
setBufferSize(int size)
|
void |
setCharacterEncoding(java.lang.String env)
|
void |
setContentLength(int length)
|
void |
setContentType(java.lang.String type)
|
void |
setDateHeader(java.lang.String h,
long time)
|
void |
setHeader(java.lang.String name,
java.lang.String value)
|
protected void |
setInputStream(java.io.InputStream in)
install the given input stream underneath our ServletInputStream and input stream buffer. |
void |
setIntHeader(java.lang.String name,
int i)
|
void |
setLocale(java.util.Locale loc)
|
void |
setStatus(int code)
Sets the status code for this response. |
void |
setStatus(int code,
java.lang.String message)
|
abstract void |
writeHeader(java.lang.String name,
java.lang.String value)
|
abstract void |
writeStatus(int sc,
java.lang.String message)
|
| Field Detail |
protected final NoCaseContainer headersIn
public Metrics metrics
public int bytesIn
public int bytesOut
protected final NoCaseContainer headersOut
protected boolean committed
| Constructor Detail |
protected ServletConnection(Metrics metrics,
int bytesIn,
int bytesOut)
| Method Detail |
protected void readRequest()
throws java.io.IOException
subclasses that implement this method should call super.readRequest so that we can reset attributes and do any other housekeeping we need to.
public static final ServletConnection getCurrent()
protected void closeInputStream()
throws java.io.IOException
protected final void setInputStream(java.io.InputStream in)
protected final javax.servlet.ServletInputStream getIn()
public void setAttribute(java.lang.String a,
java.lang.Object o)
public java.lang.Object getAttribute(java.lang.String a)
public java.util.Enumeration getAttributeNames()
public void removeAttribute(java.lang.String a)
public abstract java.lang.String getProtocol()
public abstract java.lang.String getScheme()
public abstract java.lang.String getServerName()
public abstract int getServerPort()
public abstract java.lang.String getRemoteAddr()
public abstract java.lang.String getRemoteHost()
public abstract boolean isSecure()
public abstract java.lang.String getAuthType()
public abstract java.lang.String getMethod()
public abstract java.lang.String getQueryString()
public abstract java.lang.String getRemoteUser()
public abstract java.lang.String getRequestURI()
public abstract java.lang.String getHeader(java.lang.String h)
public abstract java.util.Enumeration getHeaderNames()
public abstract java.util.Enumeration getHeaders(java.lang.String h)
public abstract java.lang.String getRealPath(java.lang.String p)
public abstract void setBufferSize(int size)
public abstract void resetBuffer()
public abstract int getBufferSize()
public abstract void flushBuffer()
throws java.io.IOException
public abstract javax.servlet.ServletOutputStream getOutputStream()
throws java.io.IOException
public abstract void writeHeader(java.lang.String name,
java.lang.String value)
throws java.io.IOException
public abstract void writeStatus(int sc,
java.lang.String message)
throws java.io.IOException
public java.lang.String getCharacterEncoding()
public void setCharacterEncoding(java.lang.String env)
throws java.io.UnsupportedEncodingException
public java.lang.String getParameter(java.lang.String p)
public java.util.Enumeration getParameterNames()
public java.lang.String[] getParameterValues(java.lang.String p)
public java.io.BufferedReader getReader()
throws java.io.IOException
public javax.servlet.ServletInputStream getInputStream()
throws java.io.IOException
public java.util.Locale getLocale()
public java.util.Enumeration getLocales()
public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String relPath)
public java.util.Map getParameterMap()
public javax.servlet.http.Cookie[] getCookies()
public java.lang.String getPathInfo()
public java.lang.String getPathTranslated()
public boolean isRequestedSessionIdValid()
public boolean isRequestedSessionIdFromCookie()
public boolean isRequestedSessionIdFromURL()
public boolean isRequestedSessionIdFromUrl()
public java.lang.String getServletPath()
public java.lang.String getContextPath()
public javax.servlet.http.HttpSession getSession()
public javax.servlet.http.HttpSession getSession(boolean create)
public boolean isUserInRole(java.lang.String role)
public java.security.Principal getUserPrincipal()
public java.lang.StringBuffer getRequestURL()
public java.lang.String getRequestedSessionId()
public int getContentLength()
public java.lang.String getContentType()
public final long getDateHeader(java.lang.String name)
name - the header field namejava.lang.IllegalArgumentException - if the header exists but
cannot be parsed.public final int getIntHeader(java.lang.String name)
name - the header field name
public java.io.PrintWriter getWriter()
throws java.io.IOException
public void setLocale(java.util.Locale loc)
public java.lang.String encodeURL(java.lang.String url)
public java.lang.String encodeUrl(java.lang.String url)
public java.lang.String encodeRedirectURL(java.lang.String url)
public java.lang.String encodeRedirectUrl(java.lang.String url)
public void sendError(int s)
throws java.io.IOException
public void sendError(int s,
java.lang.String m)
throws java.io.IOException
public void sendRedirect(java.lang.String l)
throws java.io.IOException
public void setContentLength(int length)
public void setContentType(java.lang.String type)
public final boolean containsHeader(java.lang.String name)
public final void setHeader(java.lang.String name,
java.lang.String value)
public final void addHeader(java.lang.String name,
java.lang.String value)
public final boolean isCommitted()
public void reset()
public final void addCookie(javax.servlet.http.Cookie c)
public final void setStatus(int code)
public void setStatus(int code,
java.lang.String message)
protected final java.lang.String formatDateHeader(long time)
public final void addDateHeader(java.lang.String h,
long time)
public final void setDateHeader(java.lang.String h,
long time)
public final void setIntHeader(java.lang.String name,
int i)
public final void addIntHeader(java.lang.String name,
int i)
protected final void commitHeaders()
throws java.io.IOException
protected static final java.lang.String reason(int status,
java.util.Locale loc)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||