簡體   English   中英

JSP或Servlet PrintWriter

[英]JSP or Servlet PrintWriter

我最近開始在自己的網站中實現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很少使用。 與另一人相比,這樣做有什么好處?

與純servlet相比,使用JSP的優勢在於,與具有大量生成HTML的out.println語句相比,編寫(和修改)常規HTML更為方便。 使用JSP,您可以將Java代碼與HTML代碼自由混合(使用JSP提供的標記,例如<%= %> )。 您的JSP頁面最終將編譯為一個servlet,該servlet運行,並將響應發送回瀏覽器。

純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>

從技術上講,您可以在jsp和servlet中編寫表示和業務邏輯。 在Web應用程序中實現MVC模式被廣泛認為是一種好習慣,因此您想在JSP中實現視圖,使用servlet作為模型的控制器和EJB。 用servlet生成html打破了這種分離,這就是為什么通常要避免的原因。

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

用於控制和業務邏輯的Servlet。 JSP用於表示邏輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM