【问题标题】:what's wrong with my servlet or browser?我的 servlet 或浏览器有什么问题?
【发布时间】:2012-12-25 21:28:26
【问题描述】:

我在以下 URL 安装了一个应用程序:http://localhost:8080/servlet/xml。 servlet 支持两种传递参数的方式——作为查询字符串和作为路径信息(例如 http://localhost:8080/servlet/xml?name =/test/my.xml 和 http://localhost:8080/servlet/xml/test/my.xml)。 它旨在将默认转换应用于位于服务器上的引用 XML 文件,生成 HTML 文件,并将其发送回浏览器。出了点问题,尽管 servlet 在这两种情况下都生成了 html,但浏览器在第一个示例中将其呈现为 HTML,在第二个示例中将其呈现为 XML。此外,当我比较这两种情况下的 HTTP 响应(包括状态码、标头和正文)时,发现它们是相同的。这怎么可能? servlet 有什么问题?

【问题讨论】:

  • 您是否正确设置了 content-type 和 content-disposition 标头?我认为浏览器正在尝试根据此处的 URL 推断内容类型。
  • 听起来很像正确设置内容类型可以解决这个问题。 @adarshr 我认为您应该将其发布为答案。
  • 这也可能是浏览器设置。您是仅在特定浏览器(例如 IE)中观察到问题,还是尝试了所有浏览器(例如 Chrome/Firefox/Safari/Opera/etc)?
  • 是的,我尝试了所有浏览器。

标签: http servlets http-headers


【解决方案1】:

您是否正确设置了响应的内容类型?对于 HTML,您应该执行以下操作:

response.setContentType("text/html")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-01
    • 2021-08-27
    • 1970-01-01
    • 2014-01-15
    • 2018-01-20
    • 2014-08-06
    • 2011-07-03
    • 1970-01-01
    相关资源
    最近更新 更多