我有一个servlet,它通过请求分派器包含了另一个servlet。
被包含的servlet设置了一些头信息,我希望在“包含”servlet中读取这些信息。因此,我在include()方法中传递了一个自定义的HTTPResponse对象,以捕获来自servlet的所有反馈活动。
问题是这些头信息没有被设置到我的自定义响应对象中。我运行了调试并检查了类似于Tomcat包装我的自定义响应对象的东西。setHeader调用会传递到这个包装类,而不是传递到我的自定义响应对象。
我想象Tomcat这样做是为了保护客户端免受头信息在错误位置被设置的影响。有趣的是,在Jetty中使用相同的方法可以按照我期望的方式工作。
已经有一段时间我没有认真地做Servlets了,所以我有点困难。我正在努力找出如何从通过dispatcher.include()调用的servlet中读取响应头信息。
被包含的servlet设置了一些头信息,我希望在“包含”servlet中读取这些信息。因此,我在include()方法中传递了一个自定义的HTTPResponse对象,以捕获来自servlet的所有反馈活动。
问题是这些头信息没有被设置到我的自定义响应对象中。我运行了调试并检查了类似于Tomcat包装我的自定义响应对象的东西。setHeader调用会传递到这个包装类,而不是传递到我的自定义响应对象。
我想象Tomcat这样做是为了保护客户端免受头信息在错误位置被设置的影响。有趣的是,在Jetty中使用相同的方法可以按照我期望的方式工作。
已经有一段时间我没有认真地做Servlets了,所以我有点困难。我正在努力找出如何从通过dispatcher.include()调用的servlet中读取响应头信息。