作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Tomcat 上访问一个简单的 JSP 页面:
<%@ page import = "java.io.Writer" %>
<%
try {
Writer outWriter = response.getWriter ();
outWriter.write ("something");
outWriter.flush ();
response.setStatus (HttpServletResponse.SC_ACCEPTED);
}
catch (Throwable t) {
response.sendError (HttpServletResponse.SC_BAD_REQUEST, t.getMessage ());
}%>
但是当我使用 curl
测试此页面时,我得到了 200 响应代码而不是预期的 202:
$ curl -i "http://localhost:8090/somepath/somefile.jsp"
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=52......................AD2; Path=/somepath/; HttpOnly
Content-Type: text/html;charset=ISO-8859-1
Transfer-Encoding: chunked
Date: Mon, 05 Jun 2017 08:09:36 GMT
something
如果我从响应中删除内容:
<%@ page import = "java.io.Writer" %>
<%
try {
//Writer outWriter = response.getWriter ();
//outWriter.write ("something");
//outWriter.flush ();
response.setStatus (HttpServletResponse.SC_ACCEPTED);
}
catch (Throwable t) {
response.sendError (HttpServletResponse.SC_BAD_REQUEST, t.getMessage ());
}%>
我得到了所需的响应代码:
$ curl -i "http://localhost:8090/somepath/somefile.jsp"
HTTP/1.1 202 Accepted
Server: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=52......................AD2; Path=/somepath/; HttpOnly
Content-Type: text/html;charset=ISO-8859-1
Content-Length: 2
Date: Mon, 05 Jun 2017 08:12:57 GMT
是否有一些 Tomcat 配置更改了响应代码?
我的实际目标是模拟某些第 3 方 Web API 的响应,这些 API 预计会返回 202 响应代码 + 一些简短的内容字符串以表示成功请求。
我的服务器将调用此 API,需要 202 响应。我想我可以更改它以接受 200 和 202 响应,但我希望我的代码与第 3 方 API 的文档相匹配。
最佳答案
将 setStatus() 移到 JSP 的顶部。查看编译后的 JSP,看看编译器是如何编写代码的。很可能一旦设置了 Status,它就不能被覆盖。 flush() 方法可能已将 Status 设置为 200。
关于java - 我的 JSP 返回 202 (SC_ACCEPTED) 状态,但调用者获得 200 (SC_OK) 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44364771/
我正在 Tomcat 上访问一个简单的 JSP 页面: 但是当我使用 curl 测试此页面时,我得到了 200 响应代码而不是预期的 202: $ curl -i "http://localhos
我是一名优秀的程序员,十分优秀!