原文: https://beginnersbook.com/2013/05/jsp-tutorial-introduction/

JSP 是一种服务器端技术,可以完成服务器上的所有处理。它用于创建动态 Web 应用,使用 java 作为编程语言。

基本上,只需将文件扩展名从.html更改为.jsp,任何 HTML 文件都可以转换为 JSP 文件,它运行得很好。 JSP 与 HTML 的区别在于能够在 HTML 中使用 Java 代码。在 JSP 中,您可以使用 JSP 标签在 Java 中嵌入 Java 代码。例如运行下面的代码,每次运行它时,它都会显示当前时间。这就是使这段代码充满活力的原因。

  1. <HTML>
  2. <BODY>
  3. Hello BeginnersBook Readers!
  4. Current time is: <%= new java.util.Date() %>
  5. </BODY>
  6. </HTML>

你的第一个 JSP

让我们开始用简单 JSP 学习 JSP。

  1. <%-- JSP comment --%>
  2. <HTML>
  3. <HEAD>
  4. <TITLE>MESSAGE</TITLE>
  5. </HEAD>
  6. <BODY>
  7. <%out.print("Hello, Sample JSP code");%>
  8. </BODY>
  9. </HTML>

上面的 JSP 生成以下输出:"Hello, Sample JSP code"

上述代码的说明

1)行<%-- JSP comment --%>表示名为 JSP 注释的 JSP 元素,在向 JSP 页面添加注释时可以使用此标签,我们将在后续帖子中详细讨论。
注意:JSP 注释必须以标签<%--开头,以--%>结尾。

2)HeadTitleBody标签是 HTML 标签 - 它们是 HTML 标签,经常用于静态网页。无论他们拥有什么内容,都会传递给客户端(Web 浏览器)。

3)<%out.print("Hello, Sample JSP code");%>是一个 JSP 元素,称为 Scriptlet。 Scriptlet 可以包含 Java 代码。 scriptlet 的语法是:<%Executable java code>。由于 Scriptlets 中的代码是 java 语句,因此它们必须以分号(;)结尾。out.print("Hello, Sample JSP code");是一个 java 语句,它打印"Hello, Sample JSP code"

如上所述,JSP 用于创建动态网页。动态网页通常是静态和动态内容的混合。

静态内容可以使用基于文本的格式,如 HTML,XML 等,动态内容由 JSP 标签使用 HTML 内部的 Java 代码生成。

Servlet 与 JSP

与 JSP 一样,Servlet 也用于生成动态网页。这是他们之间的比较。

它们之间的主要区别在于 servlet 在 java 中添加了 HTML 代码,而 JSP 在 HTML 中添加了 Java 代码。还有一些其他值得注意的要点如下:

Servlets

  1. Servlet 是一个支持 HTML 标签的 Java 程序。
  2. 通常用于开发企业应用的业务层(复杂计算代码)。
  3. Servlet 由 Java 开发人员创建和维护。

JSP

  1. JSP 程序也是支持 java 语句的 HTML 代码。更准确地说,JSP 使用 JSP 标签在 java 中嵌入 java。
  2. 用于开发企业应用的表示层
  3. 经常用于设计网站并由 Web 开发人员使用。

JSP 的优点

  1. JSP 具有 Servlet 的所有优点,如:比 CGI 更好的性能内置会话功能,它还继承了 Java 技术的特性,如多线程,异常处理,数据库连接等。
  2. JSP 支持将内容生成与内容呈现分离。这使它更灵活。
  3. 使用 JSP,Web 设计人员现在可以轻松地显示需要的信息。
  4. Web 应用程序员可以专注于如何处理/构建信息。

JSP 应用的架构

在我们开始开发 Web 应用之前,我们应该对架构有一个基本的想法。根据请求处理发生的位置(Servlet 或者 JSP(Java 服务器页面)),JSP 有两种架构。它们是 - 模型架构 1 和 模型架构 2。

1)模型架构 1:在这个模型中,JSP 起着关键作用,它负责处理客户端发出的请求。客户端(Web 浏览器)发出请求,JSP 然后创建一个 bean 对象,然后完成请求并将响应传递给 JSP。 JSP 然后将响应发送回客户端。与模型架构 2 不同,在此模型中,大多数处理都是由 JSP 本身完成的。

Java 服务器页面简介 - 图1

2)模型架构 2:在这个模型中,Servlet 扮演着重要角色,它负责处理客户端(Web 浏览器)请求。演示部分(GUI 部分)将由 JSP 处理,并在 bean 的帮助下完成,如下图所示。 servlet 充当控制器并负责请求处理。如果 JSP 页面需要,它会创建 bean 对象并调用相应的 JSP 页面。 JSP 使用 bean 对象处理表示部分。在这个模型中,JSP 不进行任何处理,Servlet 根据客户端的请求创建 bean 对象并调用 JSP 程序。

Java 服务器页面简介 - 图2