从java套接字发送html

时间:2012-11-22 17:42:26

标签: java html sockets output

我正在尝试使用BufferedWriter中包装的Java套接字发送'index.html'代码。当我打开浏览器并连接到'localhost:port'时,我得到:

  • 文本输出(<head>...</head> <body>...</body>) - firefox @ linux
  • 文本输出 - chrome @ linux
  • 正确的网页视图 - konqueror @ linux
  • 文本输出 - firefox @ windows7

如何解决这个问题以获得每个浏览器的正确视图?

1 个答案:

答案 0 :(得分:3)

  

如何解决这个问题以获得每个浏览器的正确视图?

根据您的描述,听起来您的代码严重违反了HTTP协议,并且每个浏览器都以不同方式处理此违规行为。您需要做的第一件事是刷新HTTP,请参阅http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6

听起来好像你没有发送响应状态行,所需的标题包括Content-Length等,后跟消息正文(你的index.html)

阅读RFC2616并了解符合HTTP协议的内容后,您可能需要重新考虑自己这样做,并考虑使用几个框架中的任何一个来为您处理 - Tomcat和{{3是非常流行的基于Java的HTTP框架。 Jetty也是一个选项,是一个更轻量级的可自定义框架。