JSP或Servlet PrintWriter

时间:2014-04-17 00:35:33

标签: java html jsp servlets

我最近开始在我的网站上实现java,但我一直在阅读方法:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        PrintWriter out = response.getWriter();

        out.println("<html>");
        //code
        out.println("</html>");
        out.close();
    }

由于jsp而过时且很少使用。做一个对另一个有什么好处?

3 个答案:

答案 0 :(得分:2)

使用JSP而不是纯servlet的优点是编写(和修改)常规HTML比使用大量生成HTML的out.println语句更方便。使用JSP,您可以将Java代码与HTML代码自由混合(使用JSP提供的标记,如<%= %>)。您的JSP页面最终编译为servlet,servlet运行,响应被发送回浏览器。

Pure Servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    PrintWriter out = response.getWriter();
    out.println("<html>");
    out.println("<body>")
    out.println("<p>The date is: " + (new Java.util.date()).toLocaleString() +"</p>");
    out.println("</body>")
    out.println("</html>");
    out.close();
}

JSP:

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
  ....
  <body>
      <p>The date is: <%= (new Java.util.date()).toLocaleString() %></p> //mixing HTML and Java
  </body>
</html>

答案 1 :(得分:0)

从技术上讲,您可以在jsp和servlet中编写表示和业务逻辑。它被广泛认为是在webapp中实现MVC模式的一种好习惯,因此您希望在JSP中实现视图,使用servlet作为模型的控制器和EJB。用你的servlet生成html打破了这种分离,这就是为什么它通常要避免的。

我不知道在servlet中生成html有什么好处。

答案 2 :(得分:0)

用于控制和业务逻辑的Servlet。  用于Presentation Logic的JSP。