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

Servlet 简介

Cos'è un Servlet?

Il Java Servlet è un programma che esegue su un server Web o un server applicativo e agisce come strato intermediario tra le richieste provenienti dai browser Web o dagli altri client HTTP e il database o l'applicazione sul server HTTP.

Utilizzando il Servlet, è possibile raccogliere le input degli utenti provenienti dai moduli web, presentare record provenienti da database o altre fonti e creare dinamicamente pagine web.

Di solito, i Java Servlet possono raggiungere un effetto simile a quello degli script CGI (Common Gateway Interface, interfaccia gateway comune) implementati. Tuttavia, rispetto a CGI, i Servlet hanno i seguenti vantaggi:

  • La prestazione è significativamente migliore.

  • Il Servlet esegue nello spazio degli indirizzi del server Web. Di conseguenza, non è necessario creare un processo separato per gestire ogni richiesta del client.

  • Il Servlet è indipendente dalla piattaforma perché è scritto in Java.

  • Il gestore di sicurezza Java sul server esegue una serie di limitazioni per proteggere le risorse del computer del server. Pertanto, il Servlet è affidabile.

  • Tutte le funzionalità della libreria Java sono disponibili per il Servlet. Può interagire con applet, database o altri software tramite meccanismi di socket e RMI.

Architettura del Servlet

La seguente immagine mostra la posizione del Servlet nell'applicazione Web.

Compiti del Servlet

Il Servlet esegue i seguenti compiti principali:

  • Leggere i dati espliciti inviati dal client (browser). Questo include i moduli HTML delle pagine web, o può essere un modulo proveniente da un applet o da un programma client HTTP personalizzato.

  • Leggere i dati di richiesta HTTP impliciti inviati dal client (browser). Questo include cookies, tipi di media e formati di compressione comprensibili dal browser.

  • Elaborare i dati e generare i risultati. Questo processo potrebbe richiedere l'accesso a database, l'esecuzione di chiamate RMI o CORBA, l'invocazione di servizi Web o il calcolo diretto delle risposte corrispondenti.

  • Inviare dati espliciti (cioè documenti) al client (browser). Il formato del documento può essere diverso, inclusi file di testo (HTML o XML), file binari (immagini GIF), Excel e così via.

  • 向客户端(浏览器)发送隐式的 HTTP 响应。这包括告诉浏览器或其他客户端被返回的文档类型(例如 HTML),设置 cookies 和缓存参数,以及其他类似的任务。

Servlet 包

Java Servlet 是运行在带有支持 Java Servlet 规范的解释器的 web 服务器上的 Java 类。

Servlet 可以使用 javax.servletjavax.servlet.http 包创建,它是 Java 企业版的标准组成部分,Java 企业版是支持大型开发项目的 Java 类库的扩展版本。

这些类实现 Java Servlet 和 JSP 规范。在编写本教程时,二者相应的版本分别是 Java Servlet 2.5 和 JSP 2.1。

Java Servlet 就像任何其他的 Java 类一样已经被创建和编译。在您安装 Servlet 包并将它们添加到计算机上的 Classpath 类路径中之后,您就可以通过 JDK 的 Java 编译器或任何其他编译器来编译 Servlet。

下一步是什么?

接下来,本教程将逐步引导您设置 Servlet 环境,以便开始后续的 Servlet 使用。因此,请系好安全带,让我们一起开始 Servlet 的学习之旅吧!相信您会喜欢这个教程的。