[英]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.