【发布时间】: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