1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.nokia.financeapi.config.web;
- import javax.servlet.ServletOutputStream;
- import javax.servlet.WriteListener;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpServletResponseWrapper;
- import java.io.ByteArrayOutputStream;
- import java.io.IOException;
- /**
- * 解决流只能读取一次问题
- */
- public class MyHttpServletResponseWrapper extends HttpServletResponseWrapper {
- private ByteArrayOutputStream byteArrayOutputStream;
- private ServletOutputStream servletOutputStream;
- public MyHttpServletResponseWrapper(HttpServletResponse response) {
- super(response);
- byteArrayOutputStream = new ByteArrayOutputStream();
- servletOutputStream = new ServletOutputStream() {
- @Override
- public boolean isReady() {
- return false;
- }
- @Override
- public void setWriteListener(WriteListener writeListener) {
- //
- }
- @Override
- public void write(int b) throws IOException {
- response.getOutputStream().write(b);
- byteArrayOutputStream.write(b);
- }
- };
- }
- @Override
- public ServletOutputStream getOutputStream() {
- return servletOutputStream;
- }
- public byte[] toByteArray() {
- return byteArrayOutputStream.toByteArray();
- }
- }
|