我最近开始在我的网站上实现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而过时且很少使用。做一个对另一个有什么好处?
答案 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。