English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

结构 JSP

Il server web necessita di un motore JSP, ovvero un contenitore per gestire le pagine JSP. Il contenitore è responsabile di intercettare le richieste alle pagine JSP. Questo tutorial utilizza Apache con il contenitore JSP integrato per supportare JSP Sviluppo

Il contenitore JSP collabora con il server web per fornire l'ambiente di esecuzione necessario per JSP e altri servizi, e può riconoscere correttamente gli elementi speciali delle pagine JSP.

La seguente immagine mostra la posizione del contenitore JSP e dei file JSP nell'applicazione web.

Elaborazione JSP

Le seguenti fasi illustrano come il server web utilizza JSP per creare pagine web:

  • Come altre pagine web normali, il tuo browser invia una richiesta HTTP al server.

  • Il server web riconosce che questa è una richiesta per una pagina JSP e inoltra la richiesta al motore JSP. Può essere fatto tramite URL o file .jsp.

  • Il motore JSP carica i file JSP dal disco fisso e li trasforma in Servlet. Questa trasformazione consiste semplicemente nel sostituire tutti i testi dei modelli con istruzioni println() e trasformare tutti gli elementi JSP in codice Java.

  • JSP 引擎将 Servlet 编译成可执行类,并且将原始请求传递给 Servlet 引擎。

  • Web 服务器的某组件将会调用 Servlet 引擎,然后载入并执行 Servlet 类。在执行过程中,Servlet 产生 HTML 格式的输出并将其内嵌于 HTTP response 中上交给 Web 服务器。

  • Web 服务器以静态 HTML 网页的形式将 HTTP response 返回到您的浏览器中。

  • 最终,Web 浏览器处理 HTTP response 中动态产生的HTML网页,就好像在处理静态网页一样。

以上提及到的步骤可以用下图来表示:

一般情况下,JSP 引擎会检查 JSP 文件对应的 Servlet 是否已经存在,并且检查 JSP 文件的修改日期是否早于 Servlet。如果 JSP 文件的修改日期早于对应的 Servlet,那么容器就可以确定 JSP 文件没有被修改过并且 Servlet 有效。这使得整个流程与其他脚本语言(比如 PHP)相比要高效快捷一些。

总的来说,JSP 网页就是用另一种方式来编写 Servlet 而不用成为 Java 编程高手。除了解释阶段外,JSP 网页几乎可以被当成一个普通的 Servlet 来对待。