JSP 和 Servlet 区别

首先 SUN 公司最先推出 Servlet,Servlet 既可以完成业务逻辑处理,又可以进行 HTML 页面显示。因为业务逻辑处理和页面显示结合在一起,随之而来的问题就是对于显示层页面的修改非常麻烦,于是就推出了 JSP,JSP是通过JSP脚本和HTML页面结合的形式,这样 JSP 就单独来处理页面显示,同时 JSP 的脚本又能提高 HTML 页面的美观性,易用性与可维护性。

在 MVC 三层模型下,Servlet 一般作为 Controller,JSP 作为 Viewer,二者各司其职。一般认为 Servlet 用来扩展 WEB 服务器的功能,JSP 用来扩展 HTML 页面的功能。

其次 JSP 和 Servlet 在本质上都是一个 Java 类,JSP 最终需要经过 WEB 容器的编译处理最终和 Servlet 一样,都转换成 class 文件,在 WEB 容器的管理下进行服务。JSP 可以看做是一个特殊的 Servlet。

最后,Servlet 的表现形式是 Java 类,以.java为后缀名,完全从表示层中分离。而 JSP 是由 JSP 标签、脚本和HTML组合而成,以.jsp为后缀名。

Servlet 擅长控制业务逻辑和处理流程,缺点是生成网页困难,且维护成本高。JSP 擅长页面处理,缺点是不容易跟踪与排错。

原文地址:https://www.cnblogs.com/orientsun/p/2578947.html