调用request.getReader()后重置HttpRequest

有没有一种方法可以在getReader()上调用方法HttpRequest,然后“重置”请求,以便getReader()不会引发其他调用java.lang.IllegalStateException

回答:

简单回答是不”。

该流不可重置,并且没有API方法可让您重新打开它。(并且有充分的理由。这需要servlet基础结构保留输入的副本, 以防

servlet决定重新打开流。这将是不必要的开销。)

如果您想做这种事情,则需要编写代码以保留其自己的数据副本。如果要在过滤器(或Tomcat阀)中实现此功能,则可以创建一个HttpServletRequestWrapper以隐藏事实,如@Vineet所建议的那样,您已经读取数据了。

以上是 调用request.getReader()后重置HttpRequest 的全部内容, 来源链接: utcz.com/qa/422068.html

回到顶部