public class WrapperRequest extends HttpServletRequestWrapper {
private byte[] requestBody = null;// 用于将流保存下来
private InputStream is = null;
private HttpServletRequest request = null;
public WrapperRequest(HttpServletRequest request) throws IOException {
super(request);
this.request = request;
}
@Override
public BufferedReader getReader() throws IOException {
return new BufferedReader(new InputStreamReader(getInputStream()));
}
@Override
public ServletInputStream getInputStream() throws IOException {
final ByteArrayInputStream bais = new ByteArrayInputStream(requestBody);
return new ServletInputStream() {
@Override
public int read() throws IOException {
return bais.read();
}
@Override
public boolean isFinished() {
return false;
}
@Override
public boolean isReady() {
return false;
}
@Override
public void setReadListener(ReadListener readListener) {
}
};
}
public byte[] getRequestBody() {
try {
is = this.request.getInputStream();
String sessionStream = StreamUtils.copyToString(is, Charset.forName("UTF-8"));
requestBody = sessionStream.getBytes("UTF-8");
} catch (IOException e) {
e.printStackTrace();
}
return requestBody;
}
}
HttpServletRequestWrapper记录
最新推荐文章于 2024-07-24 17:27:32 发布
关键词由CSDN通过智能技术生成