为什么Servlet程序按原样输出HTML文本?

时间:2015-08-27 13:57:23

标签: java eclipse servlets

我创建了一个程序,使用servlet在浏览器上打印“欢迎使用我们的网站”文本。它在eclipse默认浏览器中工作正常,但当我将该URL用于其他浏览器时,它显示如下文本:

enter image description here

以下是在Eclipse浏览器中运行良好的代码图像 enter image description here

我的代码如下:

public class WelcomePage extends HttpServlet {
@Override
public void init() throws ServletException {

}
@Override
protected void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    PrintWriter out = res.getWriter();
    out.println("<h3>Welcome to our site<h3>");
    out.println("<form>");
    out.println("</form>");
}
@Override
public void destroy() {

}

}

1 个答案:

答案 0 :(得分:0)

添加res.setContentType(text / html)后;问题解决了:))

在向客户端发送数据(由客户端计算机上的浏览器显示)之前,Servlet容器会通知客户端浏览器现在正在发送的数据类型。可以发送的数据可以是简单的纯文本,html格式,xml格式,gif或jpg类型的图像格式,excel表等。要发送此信息,Servlet容器使用响应对象和方法setContentType()。

一些例子:

response.setContentType("text/html");           
response.setContentType("text/plain");  
response.setContentType("text/css");            
response.setContentType("application/html");
response.setContentType("image/gif");
response.setContentType("application/zip");
response.setContentType("application/pdf");