你似乎弄错了 HTTP 流程,怎么可以在已经开始输出资料到 Response 的 OutputStream /Writer 之后再来 response.setHeader() 呢,这会得到 IllegalStateException 无效状态错误。
出现在 JSP 中的非 <% %> 内的内容相当于 out.println(); 输出的。因此我们要么在最开始(前面连一个空格都没有)的位置<% %> 中准备 Header 内容。
Header 应该在准备写出实际内容之前完成,因为 out.println() 或 JSP 中的 HTML/CSS/JS 都是 Body 的内容, Header 应该在 Body 之前完成。HTTP 通信的过程是先是 URL 请求和状态码,然后是各种Header,再是一个空行隔开,再是BODY内容。这里说的 Body 不是指