com.ibm.websphere.servlet.request
Class HttpServletRequestProxyjava.lang.Object | +--com.ibm.websphere.servlet.request.HttpServletRequestProxy
- All Implemented Interfaces:
- javax.servlet.http.HttpServletRequest, javax.servlet.ServletRequest
- public abstract class HttpServletRequestProxy
- extends java.lang.Object
- implements javax.servlet.http.HttpServletRequest
Proxies function invocations to an underlying HttpServletRequest. Subclasses of this class can be created that overload or enhance the functionality of a server-provided HttpServletRequest.
Using the proxied request:
- Subclass this class and overload any desired functions.
- During the servlet's service method, create an instance of the enhanced request using the original request from the server as the proxied request.
- Forward the enhanced request to another servlet for processing instead of the original request that was provided by the server.
Sample subclass (overloads the request's InputStream)
// This enhanced request will force the request to be a POST request. // This request POST data input will be read from a specified file. public class PostedFileRequest extends HttpServletRequestProxy{ private HttpServletRequest _request; private File _file; public PostedFileRequest(File f, HttpServletRequest req){ _file =f; _request = req; } protected HttpServletRequest getProxiedHttpServletRequest(){ return _request; } //overload request functionality public ServletInputStream getInputStream() throws IOException{ return new ServletInputStreamAdapter(new FileInputStream(_file)); } public BufferedReader getReader() throws IOException{ return new BufferedReader(getInputStream()); } public String getMethod(){ //force the HTTP method to be POST. return "POST"; } }Using the enhanced request subclass transparently in a servlet
//This servlet posts a data file as a request to another servlet. public class PostGeneratorServlet extends HttpServlet{ public void service HttpServletRequest(req, HttpServletResponse resp){ req = new PostedFileRequest(req, new File(request.getPathTranslated())); //forward the enhanced request to be used transparently by another servlet. getServletContext().getRequestDispatcher("/postHandlerServlet").forward(req, resp); } }
Field Summary
Fields inherited from interface javax.servlet.http.HttpServletRequest BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH
Constructor Summary HttpServletRequestProxy()
Method Summary java.lang.Object getAttribute(java.lang.String name)
java.util.Enumeration getAttributeNames()
java.lang.String getAuthType()
java.lang.String getCharacterEncoding()
int getContentLength()
java.lang.String getContentType()
java.lang.String getContextPath()
javax.servlet.http.Cookie[] getCookies()
long getDateHeader(java.lang.String name)
java.lang.String getHeader(java.lang.String name)
java.util.Enumeration getHeaderNames()
java.util.Enumeration getHeaders(java.lang.String name)
javax.servlet.ServletInputStream getInputStream()
int getIntHeader(java.lang.String name)
java.util.Locale getLocale()
java.util.Enumeration getLocales()
java.lang.String getMethod()
java.lang.String getParameter(java.lang.String name)
java.util.Map getParameterMap()
java.util.Enumeration getParameterNames()
java.lang.String[] getParameterValues(java.lang.String name)
java.lang.String getPathInfo()
java.lang.String getPathTranslated()
java.lang.String getProtocol()
protected abstract javax.servlet.http.HttpServletRequest getProxiedHttpServletRequest()
Get the request that this object is supposed to proxy.java.lang.String getQueryString()
java.io.BufferedReader getReader()
java.lang.String getRealPath(java.lang.String path)
java.lang.String getRemoteAddr()
java.lang.String getRemoteHost()
java.lang.String getRemoteUser()
javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
java.lang.String getRequestedSessionId()
java.lang.String getRequestURI()
java.lang.StringBuffer getRequestURL()
java.lang.String getScheme()
java.lang.String getServerName()
int getServerPort()
java.lang.String getServletPath()
javax.servlet.http.HttpSession getSession()
javax.servlet.http.HttpSession getSession(boolean create)
java.security.Principal getUserPrincipal()
boolean isRequestedSessionIdFromCookie()
boolean isRequestedSessionIdFromUrl()
boolean isRequestedSessionIdFromURL()
boolean isRequestedSessionIdValid()
boolean isSecure()
boolean isUserInRole(java.lang.String role)
void removeAttribute(java.lang.String name)
void setAttribute(java.lang.String key, java.lang.Object o)
void setCharacterEncoding(java.lang.String encoding)
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail HttpServletRequestProxy
public HttpServletRequestProxy()
Method Detail getProxiedHttpServletRequest
protected abstract javax.servlet.http.HttpServletRequest getProxiedHttpServletRequest()
- Get the request that this object is supposed to proxy.
getAuthType
public java.lang.String getAuthType()
- Specified by:
- getAuthType in interface javax.servlet.http.HttpServletRequest
getCookies
public javax.servlet.http.Cookie[] getCookies()
- Specified by:
- getCookies in interface javax.servlet.http.HttpServletRequest
getIntHeader
public int getIntHeader(java.lang.String name)
- Specified by:
- getIntHeader in interface javax.servlet.http.HttpServletRequest
getDateHeader
public long getDateHeader(java.lang.String name)
- Specified by:
- getDateHeader in interface javax.servlet.http.HttpServletRequest
getHeader
public java.lang.String getHeader(java.lang.String name)
- Specified by:
- getHeader in interface javax.servlet.http.HttpServletRequest
getHeaderNames
public java.util.Enumeration getHeaderNames()
- Specified by:
- getHeaderNames in interface javax.servlet.http.HttpServletRequest
getQueryString
public java.lang.String getQueryString()
- Specified by:
- getQueryString in interface javax.servlet.http.HttpServletRequest
getMethod
public java.lang.String getMethod()
- Specified by:
- getMethod in interface javax.servlet.http.HttpServletRequest
getPathInfo
public java.lang.String getPathInfo()
- Specified by:
- getPathInfo in interface javax.servlet.http.HttpServletRequest
getPathTranslated
public java.lang.String getPathTranslated()
- Specified by:
- getPathTranslated in interface javax.servlet.http.HttpServletRequest
getServletPath
public java.lang.String getServletPath()
- Specified by:
- getServletPath in interface javax.servlet.http.HttpServletRequest
getRemoteUser
public java.lang.String getRemoteUser()
- Specified by:
- getRemoteUser in interface javax.servlet.http.HttpServletRequest
getRequestedSessionId
public java.lang.String getRequestedSessionId()
- Specified by:
- getRequestedSessionId in interface javax.servlet.http.HttpServletRequest
getRequestURI
public java.lang.String getRequestURI()
- Specified by:
- getRequestURI in interface javax.servlet.http.HttpServletRequest
isRequestedSessionIdFromCookie
public boolean isRequestedSessionIdFromCookie()
- Specified by:
- isRequestedSessionIdFromCookie in interface javax.servlet.http.HttpServletRequest
getSession
public javax.servlet.http.HttpSession getSession(boolean create)
- Specified by:
- getSession in interface javax.servlet.http.HttpServletRequest
getSession
public javax.servlet.http.HttpSession getSession()
- Specified by:
- getSession in interface javax.servlet.http.HttpServletRequest
isRequestedSessionIdValid
public boolean isRequestedSessionIdValid()
- Specified by:
- isRequestedSessionIdValid in interface javax.servlet.http.HttpServletRequest
isRequestedSessionIdFromURL
public boolean isRequestedSessionIdFromURL()
- Specified by:
- isRequestedSessionIdFromURL in interface javax.servlet.http.HttpServletRequest
isRequestedSessionIdFromUrl
public boolean isRequestedSessionIdFromUrl()
- Specified by:
- isRequestedSessionIdFromUrl in interface javax.servlet.http.HttpServletRequest
getHeaders
public java.util.Enumeration getHeaders(java.lang.String name)
- Specified by:
- getHeaders in interface javax.servlet.http.HttpServletRequest
getContextPath
public java.lang.String getContextPath()
- Specified by:
- getContextPath in interface javax.servlet.http.HttpServletRequest
isUserInRole
public boolean isUserInRole(java.lang.String role)
- Specified by:
- isUserInRole in interface javax.servlet.http.HttpServletRequest
getUserPrincipal
public java.security.Principal getUserPrincipal()
- Specified by:
- getUserPrincipal in interface javax.servlet.http.HttpServletRequest
getRequestURL
public java.lang.StringBuffer getRequestURL()
- Specified by:
- getRequestURL in interface javax.servlet.http.HttpServletRequest
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
- Specified by:
- getAttribute in interface javax.servlet.ServletRequest
getAttributeNames
public java.util.Enumeration getAttributeNames()
- Specified by:
- getAttributeNames in interface javax.servlet.ServletRequest
getInputStream
public javax.servlet.ServletInputStream getInputStream() throws java.io.IOException
- Specified by:
- getInputStream in interface javax.servlet.ServletRequest
- java.io.IOException
getCharacterEncoding
public java.lang.String getCharacterEncoding()
- Specified by:
- getCharacterEncoding in interface javax.servlet.ServletRequest
getContentLength
public int getContentLength()
- Specified by:
- getContentLength in interface javax.servlet.ServletRequest
getContentType
public java.lang.String getContentType()
- Specified by:
- getContentType in interface javax.servlet.ServletRequest
getProtocol
public java.lang.String getProtocol()
- Specified by:
- getProtocol in interface javax.servlet.ServletRequest
getParameter
public java.lang.String getParameter(java.lang.String name)
- Specified by:
- getParameter in interface javax.servlet.ServletRequest
getParameterNames
public java.util.Enumeration getParameterNames()
- Specified by:
- getParameterNames in interface javax.servlet.ServletRequest
getParameterValues
public java.lang.String[] getParameterValues(java.lang.String name)
- Specified by:
- getParameterValues in interface javax.servlet.ServletRequest
getScheme
public java.lang.String getScheme()
- Specified by:
- getScheme in interface javax.servlet.ServletRequest
getServerName
public java.lang.String getServerName()
- Specified by:
- getServerName in interface javax.servlet.ServletRequest
getServerPort
public int getServerPort()
- Specified by:
- getServerPort in interface javax.servlet.ServletRequest
getRealPath
public java.lang.String getRealPath(java.lang.String path)
- Specified by:
- getRealPath in interface javax.servlet.ServletRequest
getReader
public java.io.BufferedReader getReader() throws java.io.IOException
- Specified by:
- getReader in interface javax.servlet.ServletRequest
- java.io.IOException
getRemoteAddr
public java.lang.String getRemoteAddr()
- Specified by:
- getRemoteAddr in interface javax.servlet.ServletRequest
getRemoteHost
public java.lang.String getRemoteHost()
- Specified by:
- getRemoteHost in interface javax.servlet.ServletRequest
setAttribute
public void setAttribute(java.lang.String key, java.lang.Object o)
- Specified by:
- setAttribute in interface javax.servlet.ServletRequest
removeAttribute
public void removeAttribute(java.lang.String name)
- Specified by:
- removeAttribute in interface javax.servlet.ServletRequest
getLocale
public java.util.Locale getLocale()
- Specified by:
- getLocale in interface javax.servlet.ServletRequest
getLocales
public java.util.Enumeration getLocales()
- Specified by:
- getLocales in interface javax.servlet.ServletRequest
isSecure
public boolean isSecure()
- Specified by:
- isSecure in interface javax.servlet.ServletRequest
getRequestDispatcher
public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String path)
- Specified by:
- getRequestDispatcher in interface javax.servlet.ServletRequest
getParameterMap
public java.util.Map getParameterMap()
- Specified by:
- getParameterMap in interface javax.servlet.ServletRequest
setCharacterEncoding
public void setCharacterEncoding(java.lang.String encoding) throws java.io.UnsupportedEncodingException
- Specified by:
- setCharacterEncoding in interface javax.servlet.ServletRequest
- java.io.UnsupportedEncodingException
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.