myresponsewrapper.java

来自「孙鑫的Java Web开发详解一书的源代码」· Java 代码 · 共 44 行

JAVA
44
字号
package org.sunxin.lesson.jsp.ch20;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;


public class MyResponseWrapper extends HttpServletResponseWrapper
{
    private ByteArrayOutputStream baos;
    private ByteArrayServletOutputStream basos;
    private PrintWriter pw;
    
    public MyResponseWrapper(HttpServletResponse response)
    {
        super(response);
        //创建ByteArrayOutputStream对象。
        baos=new ByteArrayOutputStream();
        //用ByteArrayOutputStream对象作为参数,
        //构造ByteArrayServletOutputStream对象。
        basos=new ByteArrayServletOutputStream(baos);
        //用ByteArrayOutputStream对象作为参数,
        //构造PrintWriter对象。
        pw=new PrintWriter(baos);
    }
    
    public PrintWriter getWriter()
    {
        return pw;
    }
    
    public ServletOutputStream getOutputStream()
    {
        return basos;
    }
    
    /**
     * 以字节数组的形式返回输出流缓冲区中的内容。
     */
    public byte[] toByteArray()
    {
        return baos.toByteArray();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?