【发布时间】:2012-03-04 18:30:33
【问题描述】:
我尝试使用javax.servlet.Filter 来查看消息。
public void doFilter( ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
BufferedReader reader = request.getReader();
if ( reader.markSupported() ) {
reader.mark( contentLen );
}
String content = reader.readLine();
// search some pattern
if ( reader.markSupported() ) {
reader.reset();
}
chain.doFilter( request, response );
}
最终收到请求的 servlet 抛出这个异常:
java.lang.IllegalStateException: getReader() has already been called for this request
根据 javadoc,这是正确的行为。
我的问题是如何读取输入流的内容?
我也试过ServletInputStream is = request.getInputStream();
【问题讨论】:
-
能否克隆请求,然后查看克隆?
标签: java spring servlets servlet-filters