调用request.getReader()后重置HttpRequest
有没有一种方法可以在getReader()
上调用方法HttpRequest
,然后“重置”请求,以便getReader()
不会引发其他调用java.lang.IllegalStateException
?
回答:
简单回答是不”。
该流不可重置,并且没有API方法可让您重新打开它。(并且有充分的理由。这需要servlet基础结构保留输入的副本, 以防
servlet决定重新打开流。这将是不必要的开销。)
如果您想做这种事情,则需要编写代码以保留其自己的数据副本。如果要在过滤器(或Tomcat阀)中实现此功能,则可以创建一个HttpServletRequestWrapper
以隐藏事实,如@Vineet所建议的那样,您已经读取数据了。
以上是 调用request.getReader()后重置HttpRequest 的全部内容, 来源链接: utcz.com/qa/422068.html