运行servlet时出现Eclipse内部浏览器错误

时间:2012-11-12 10:39:47

标签: java eclipse servlets

我使用在Ubuntu 12.04上运行的Eclipse EE Juno来测试简单的servlet。因此,我在Eclipse

中使用以下命令安装了一个Web工具包
sudo apt-get install libwebkitgtk-1.0-0

当我运行servlet时,内部浏览器会显示我在servlet中使用的html标记。像这样(这个问题在Firefox中不会发生)

<h3>Hello from servlet!!!</h3>

这是servlet的代码

package org.javaweb;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class SimpleServlet
*/
@WebServlet("/SimpleServlet")
public class SimpleServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

/**
 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
 */
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter printWriter = response.getWriter();
    printWriter.println("<h3>Hello from servlet!!!</h3>");
}

}

错误在哪里? 如何纠正这个??

谢谢!

2 个答案:

答案 0 :(得分:2)

我想你必须提到正确的响应类型为text / html。如同,将其添加到您现有的代码中,它应该适合您:

            response.setContentType("text/html;charset=UTF-8");

与Eclipse的内部浏览器相比,Firefox或Web浏览器通常足够智能,可以猜测它是否是HTML内容并正确呈现。

答案 1 :(得分:2)

尝试将内容类型设置为HTML。

response.setContentType("text/html");

我猜测eclipse内置浏览器并不总是等待html内容,而firefox或任何其他常见浏览器总是填写内容类型,如果没有给出。