在tomcat中传递警告响应头
Tomcat 8_32 视窗7 爪哇8_51 RestEasy 3.0.11.1决赛 GWT 2.7.0(Jetty Jetty-9.3.5.v20151012) Servlet代码对另一个Servlet(同一容器)进行RestEasy调用——第二个Servlet在响应时设置“警告”HTTP头。希望在第一个servlet中访问它,但在Tomcat中运行时,不包括该标头 在第一个servlet中获取标头的代码: 对象头=((ClientResponseFailure)e.getResponse().getResponseHeaders().get(“警告”) 还尝试了:getHeaders()、getStringHeaders()和getHeaderString() 在IntelliJ(15.0.4)中使用Jetty以superdev模式运行GWT时,上面的命令返回一个列表,其中包含一个包含警告字符串的项。远程调试Tomcat时,该调用返回null 将其添加到web应用程序xml中,并尝试了Tomcat conf/web.xml在tomcat中传递警告响应头,tomcat,tomcat8,Tomcat,Tomcat8,Tomcat 8_32 视窗7 爪哇8_51 RestEasy 3.0.11.1决赛 GWT 2.7.0(Jetty Jetty-9.3.5.v20151012) Servlet代码对另一个Servlet(同一容器)进行RestEasy调用——第二个Servlet在响应时设置“警告”HTTP头。希望在第一个servlet中访问它,但在Tomcat中运行时,不包括该标头 在第一个servlet中获取标头的代码: 对象头=((ClientResponseFailure)e.getResponse()
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.exposed.headers</param-name>
<param-value>Warning</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
克斯菲尔特
org.apache.catalina.filters.CorsFilter
cors.exposed.headers
警告
克斯菲尔特
/*
还尝试了cors.allowed.headers
有什么指针吗?好的,在响应提交时,Tomcat和Jetty之间似乎存在差异。如果我把东西订成。。。setStatus、setHeader、getWriter—然后它在这两者上都起作用
我在设置警告头之前有了getWriter,但此时已经提交了响应,因此无法添加头。出于某种原因,Jetty对此没有问题。好的,在提交响应时,Tomcat和Jetty之间似乎存在差异。如果我把东西订成。。。setStatus、setHeader、getWriter—然后它在这两者上都起作用
我在设置警告头之前有了getWriter,但此时已经提交了响应,因此无法添加头。出于某种原因,Jetty可以这样做。Fiddler[或您选择的代理]的响应是什么样的?你看到标题了吗?好主意-但我不能让Fiddler显示响应标题,直到所有事情都完成(这都在同一个容器中)。我注意到,在设置了内容长度和警告之后,响应头仍然只包含set Cookie和X-Frame-Options。当它到达第二个servlet时,它具有内容长度、日期、服务器、Set Cookie和X-Frame-Options。如前所述,在Jetty上,一切正常(即,我得到所有标题)。明白了……没有意识到它没有“越过电线”。Fiddler[或您选择的代理]中的响应是什么样的?你看到标题了吗?好主意-但我不能让Fiddler显示响应标题,直到所有事情都完成(这都在同一个容器中)。我注意到,在设置了内容长度和警告之后,响应头仍然只包含set Cookie和X-Frame-Options。当它到达第二个servlet时,它具有内容长度、日期、服务器、Set Cookie和X-Frame-Options。如前所述,在Jetty上,一切正常(即,我得到所有标题)。明白了…没有意识到它没有“过线”。