代码之家  ›  专栏  ›  技术社区  ›  Cliff

Servlet在Tomcat中包含snowts HTTP头

  •  3
  • Cliff  · 技术社区  · 14 年前

    我有一个servlet,请求调度器包含另一个servlet的请求。

    包含的servlet设置了我想在 包括

    问题是在我的自定义响应中没有设置头。我已经在debug中运行并检查了Tomcat如何用自己的响应对象包装我的自定义响应对象。setHeader调用会转到这个包装类,而不会传播到我的自定义响应对象。

    我想Tomcat这样做是为了保护客户机不被设置在错误的位置。有趣的是,同样的方法工作的方式,我期望在码头。

    我已经有一段时间没有认真做过Servlets了,所以我在这里有些挣扎。我试图找出如何从通过调用的servlet读取响应头调度员.包括().

    1 回复  |  直到 14 年前
        1
  •  4
  •   user159088 user159088    14 年前

    从Servlet规范部分SRV.8.3:

    RequestDispatcher接口的include方法可以随时调用。 include方法的目标servlet可以访问请求的所有方面

    它只能将信息写入服务器的ServletOutputStream或Writer response对象,并通过在 ServletResponse接口。

    它不能设置头或调用任何影响 响应的标头。任何这样做的企图 .

    在请求范围内为调用servlet设置值,使用 request.setAttribute(...)