Http 什么';我的servlet或浏览器有什么问题?

Http 什么';我的servlet或浏览器有什么问题?,http,servlets,http-headers,Http,Servlets,Http Headers,我在此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在两种情

我在此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有什么问题?

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

response.setContentType("text/html")

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