为什么使用 JSP 而不是 servlet?[关闭]
https://softwareengineering.stackexchange.com/questions/203357
-
29-09-2020 - |
题
(重写以重新开放:)
Servlet 相对于 JSP 或 JSP 的相对优势是什么?
JSP 可能是首选,因为很容易将代码放入 JSP 中,或者 Servlet 中,因为使用它们可以将代码与视图分离?还有其他考虑吗?
任何与此相关的信息都会非常有帮助。
解决方案
JSP 的主要优点是,当您创建动态 HTML 前端时,它更容易编码和阅读。
这是因为您主要编写 HTML,并在某些地方嵌入 Java 代码。
在 Servlet 中,您必须反转逻辑,即编写 Java 代码并打印 HTML。
这是因为在表示层中,大多数代码是 HTML/JS。
另一方面,业务逻辑大部分是 Java 代码,因此在这种情况下最好使用 Servlet 或 POJO(普通的旧 Java 对象)。
编辑:没有性能差异,因为 JSP 代码本身永远不会运行,它会转换为 servlet。只有更改后第一次运行 JSP 时,运行时间会稍长一些,因为它必须转换为 servlet。
比较 JSP 和 servlet 中的简单“Hello World”程序:
联合应用程序:
<html>
<head><title>Hello World JSP Page.</title></head>
<body>
<font size="10"><%="Hello World!" %></font>
</body>
</html>
服务程序
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorld extends HttpServlet{
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
response.setContentType("text/html");
PrintWriter pw = response.getWriter();
pw.println("<html>");
pw.println("<head><title>Hello World</title></title>");
pw.println("<body>");
pw.println("<h1>Hello World</h1>");
pw.println("</body></html>");
}
}