WebLogic Server 7.0 Code Examples, BEA Systems, Inc.

examples.servlets.wrapper
Class MyResponseWrapper

java.lang.Object
  |
  +--javax.servlet.ServletResponseWrapper
        |
        +--javax.servlet.http.HttpServletResponseWrapper
              |
              +--examples.servlets.wrapper.MyResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class MyResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper

MyResponseWrapper is a class that extends the HttpServletResponseWrapper for to modify the HttpServlet Response. Here, we override the getOutputStream to use our custom substitution output stream

Author:
Copyright (c) 2002 by BEA Systems, Inc. All Rights Reserved.

Field Summary
(package private)  boolean doMyCustomConversion
           
 
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
 
Constructor Summary
MyResponseWrapper(javax.servlet.ServletResponse sr, java.lang.String ks, java.lang.String rs)
           
 
Method Summary
 javax.servlet.ServletOutputStream getOutputStream()
          Return the custom output stream to the servlet.
 java.io.PrintWriter getWriter()
          Return the PrintWriter that uses the customOutputStream
 void setContentLength(int i)
          In this case, we override setContentLength so the container dosen't have to worry about the size of the response.
 void setContentType(java.lang.String t)
          To make sure that we are just substituting bits that are text, override the setContetType method.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setLocale, setResponse
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setLocale
 

Field Detail

doMyCustomConversion

boolean doMyCustomConversion
Constructor Detail

MyResponseWrapper

public MyResponseWrapper(javax.servlet.ServletResponse sr,
                         java.lang.String ks,
                         java.lang.String rs)
                  throws java.io.IOException
Method Detail

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
Return the custom output stream to the servlet.
Overrides:
getOutputStream in class javax.servlet.ServletResponseWrapper

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
Return the PrintWriter that uses the customOutputStream
Overrides:
getWriter in class javax.servlet.ServletResponseWrapper

setContentLength

public void setContentLength(int i)
In this case, we override setContentLength so the container dosen't have to worry about the size of the response. This is because we will likely be changing the size of the response. Here the method is a no-op.
Overrides:
setContentLength in class javax.servlet.ServletResponseWrapper

setContentType

public void setContentType(java.lang.String t)
To make sure that we are just substituting bits that are text, override the setContetType method. This sets the boolean doMyCustomConversion so that when getOutputStream and getWriter are called, we can decide whether to use the customOutputStream or not
Overrides:
setContentType in class javax.servlet.ServletResponseWrapper

Documentation is available at
http://e-docs.bea.com/wls/docs70

Copyright © 2002 BEA Systems, Inc. All Rights Reserved.