LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

Java Servlet è un programma lato server scritto nell'omonimo linguaggio di programmazione che riceve i segnali del client e gli invia le risposte. È un elemento costitutivo chiave nel tipico Java EE, oltre a JSP, EJB, XML e altre tecnologie correlate. L'applicazione può essere impacchettata in un file WAR (Web AR chive) per la distribuzione su un server web. Un server che può eseguire un servlet Java è chiamato container. Un programma che gira su un tale server può creare pagine web dinamiche.

Servlet Java: le basi

I contenitori più popolari e ampiamente utilizzati sono Tomcat e JBoss. Tecnicamente, una Servlet è una normale classe Java che ha un'estensione per il protocollo Common Client Server o HTTP. In pratica, viene utilizzato per elaborare le richieste tramite gli override HttpServlet GET e POST, rispettivamente. Il contenitore Java Servlet fornisce oggetti richiesta-risposta Http.ServletRequest e Http.ServletResponse. E di solito viene utilizzato insieme a JSP per generare contenuto dinamico.

Scenario modello tipico:

  • Il JSP presenta all'utente un modulo per inserire i dati.
  • Il servlet riceve l'input, lo elabora e invia una risposta.
  • Per un lavoro di qualità, utilizza filtri speciali.
  • I filtri Java Servlet sono plug-in Java utilizzati per intercettare ed elaborare le richieste prima che vengano inviate ai servlet e rispondono dopo il completamento del codice e prima che il contenitore invii una risposta al client.

    Attività comuni eseguite con i filtri:

  • Registrazione dei parametri di query per la registrazione dei file.
  • Autenticazione e autorizzazione delle richieste di risorse.
  • Formattazione del corpo o dell'intestazione della richiesta prima di inviarlo al servlet.
  • Compressione dei dati di risposta inviati al client.
  • Modificando la risposta, aggiungendo alcuni cookie.
  • Informazioni sull'intestazione del servlet Java.
  • I filtri sono connessi e configurati nel file descrittore di distribuzione (web.xml). Servlet e filtri non si conoscono, quindi puoi aggiungere o rimuovere un filtro semplicemente modificando web.xml. È consentito disporre di più filtri per una risorsa, creare una catena di filtri per web.xml o eseguire filtri Java Servlet implementando l'interfaccia javax.servlet.Filter.

    Le richieste parallele al server vengono elaborate dai thread, il che fornisce importanti qualità web: multithreading e concorrenza.

    Funzioni principali:

  • Portabilità. Poiché Java è indipendente dalla piattaforma, lo stesso vale per i servlet. Ad esempio, puoi crearlo su un sistema operativo Windows in modo che gli sviluppatori GlassFish lo utilizzino come server Web e quindi possano eseguirlo su qualsiasi altro sistema operativo come Unix, Linux con server Web Apache Java Servlet. Questa caratteristica lo rende portatile e questo è il suo principale vantaggio rispetto alla CGI.
  • Efficienza e scalabilità. Una volta che il Servlet è stato distribuito e caricato sul server web, può iniziare immediatamente a eseguire le richieste del client. Viene chiamato da un thread leggero, quindi più richieste client possono essere popolate contemporaneamente utilizzando la funzione multithreading di Java. A differenza di CGI, dove il server avvia un nuovo processo per ogni richiesta del client.
  • Affidabilità. Ereditando le principali funzionalità Java come la raccolta dei rifiuti, la gestione delle eccezioni, Java Security Manager e altre, è meno soggetto a problemi di gestione e perdite di memoria. Questo rende lo sviluppo dell'applicazione al suo interno sicuro e privo di errori.
  • La necessità di pagine web dinamiche

    Ci sono molte ragioni per cui un'azienda vorrebbe creare pagine web dinamiche al volo, ad esempio quando i dati sul sito web cambiano frequentemente. I siti di notizie e meteo in genere si affidano alla CGI per mantenere i contenuti aggiornati senza richiedere l'attenzione costante degli sviluppatori. Le pagine web di e-commerce che elencano i prezzi correnti e i livelli delle scorte utilizzano la CGI per recuperare questi contenuti su richiesta dall'infrastruttura interna dell'azienda.

    Molti utenti hanno esperienza nell'uso della tecnologia Java per creare servizi Web basati su CGI, ma i Java Servlet sono più efficienti, più potenti, più facili da usare e più economici delle tradizionali alternative CGI.

    Vantaggi dei servlet Java:

  • Efficienza. Nella CGI tradizionale, ogni richiesta HTTP avvia un nuovo processo CGI. Anche se il suo codice è ben implementato, c'è spesso una quantità significativa di sovraccarico non solo quando si avvia un processo, ma anche durante la sua esecuzione. Quando vengono utilizzati i servlet, la JVM rimane caricata in memoria e ogni richiesta viene elaborata da un thread Java. Come esempio di Java Servlet, se ci sono X richieste simultanee nel modello CGI tradizionale, ciò significa che il codice per il programma viene caricato in memoria X volte. Questo diventa un carico eccessivo sul server web. Tuttavia, in un ambiente servlet, esistono X thread in cui viene eseguita solo una copia della sua classe. Ciò si traduce in una maggiore efficienza e scalabilità su più piattaforme.
  • Convenienza. Quando si utilizza il programma, non ha senso imparare un nuovo linguaggio come Perl solo per eseguire funzioni CGI. Inoltre, i servlet dispongono di un'infrastruttura estesa per molte attività relative all'HTML, che accelera notevolmente il processo di sviluppo.
  • Potenza - Sfortunatamente, gli script CGI tradizionali lasciano molto a desiderare. Ad esempio, i loro normali programmi non possono parlare direttamente con i server web, il che significa che l'intera interfaccia deve essere creata. Le servlet possono comunicare direttamente con i server Web, semplificando le operazioni che richiedono l'accesso diretto ai datastore. Sono inoltre unici perché possono comunicare con altri servlet e mantenere le informazioni tra le richieste, rendendo estremamente facile il monitoraggio della sessione.
  • La portabilità di Java si estende direttamente ai servlet. In effetti, quasi tutti i server Web principali attualmente in uso supportano Java Servlet direttamente o tramite un plug-in.
  • Economia. Dal punto di vista dello sviluppo, l'implementazione dei servlet è molto più economica rispetto ad altre opzioni che richiedono una codifica personalizzata per interagire correttamente con i server web. Il reindirizzamento Java Servlet è pronto per l'uso e può mantenere il valore aziendale il più basso possibile senza sacrificare i vantaggi del contenuto dinamico.
  • Una delle caratteristiche più belle di Java è la sua natura multiforme. Ovviamente, creare app desktop e persino mobili tradizionali è fantastico. Ma cosa succede se si vuole uscire dai sentieri battuti ed entrare nel territorio dello sviluppo di applicazioni web in Java? La buona notizia per te è che il linguaggio viene fornito con un'API Servlet completa che ti consente di creare applicazioni Web robuste senza troppi problemi.

    Scrivere applicazioni Java con le servlet

    Quindi, abbiamo già creato i file di configurazione per l'applicazione. Tuttavia, nel suo stato attuale, non fa letteralmente nulla. Vogliamo che i clienti siano in grado di registrarsi utilizzando un modulo HTML, quindi la prossima cosa che dobbiamo fare è creare file JSP che visualizzeranno il modulo sopra e i dettagli del cliente dopo che la registrazione è andata a buon fine. Questo è quello che faremo ora.

    Stiamo lavorando sull'aspetto

    L'aspetto dell'applicazione sarà determinato da due file JSP: nel contesto di MVC, questi sono chiamati viste. Il primo sarà responsabile della visualizzazione del modulo di registrazione e degli eventuali errori causati dopo la verifica dei dati inseriti. La seconda sarà una normale pagina di benvenuto, che mostrerà i dati inseriti dal cliente al completamento con successo del processo di registrazione.

    Ecco il primo file JSP:

    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> registrazione

    registrazione

    $ (violazione).

    LA CAMPANA

    C'è chi ha letto questa notizia prima di te.
    Iscriviti per ricevere gli ultimi articoli.
    E-mail
    Nome
    Cognome
    Come vuoi leggere La Campana?
    Niente spam