gpt4 book ai didi

java - 避免 Java/Servlet Web 堆栈中的 IllegalStateException

转载 作者:行者123 更新时间:2023-12-02 00:55:40 25 4
gpt4 key购买 nike

我不知道,但我觉得 IllegalStateException 导致撤消头痛。如果我有一个请求,例如 JSP 或其他一些 servlet,并且需要将过滤器与该请求关联起来。如果响应已经提交,我无法对客户端的输出进行任何其他修改吗?

例如,我在 JSP 代码中看到将 mimetype 设置为 response.setContent("html"),然后我有一个与 JSP 关联的过滤器,需要将 mimetype 设置为某项别的。 setContent(“图像”) 或“xhtml”。但我得到一个 IllegalStateException?

有没有办法清除之前已提交的响应,或者有什么办法可以避免此问题。

这是在 websphere 上。

最佳答案

我认为您需要重新考虑如何准备和返回回复。您不能写入响应(可能写入客户端)然后改变主意。

抛开为什么你的解决方案必须更改返回类型的问题,我会用返回日期+类型写入一些虚拟容器对象,并使其可变。只有当您的 servlet 完成其所有工作后,您才会将此对象(类型+内容)写入输出流。

(澄清一下,我认为 servlet 过滤器不是正确的方法。它们会拦截请求和响应,但响应群体是 servlet 的责任)

关于java - 避免 Java/Servlet Web 堆栈中的 IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/709564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com