Che cosa è Java Servlet?


Ho letto molti articoli per capire java servlet ma non ci sono riuscito.

Puoi per favore dare una breve introduzione di servlet java (in un linguaggio semplice). Come che cosa è servlet? Quali sono i vantaggi? E tutto il resto.

Non riesco a capire la differenza tra i linguaggi di programmazione lato server (PHP, ASP) e i servlet.

Author: Matthias, 2011-08-27

10 answers

Un servlet è semplicemente una classe che risponde a un particolare tipo di richiesta di rete - più comunemente una richiesta HTTP. Fondamentalmente i servlet vengono solitamente utilizzati per implementare applicazioni Web, ma ci sono anche vari framework che operano su servlet (ad esempio Struts) per fornire un'astrazione di livello superiore rispetto al livello "ecco una richiesta HTTP, scrivi a questa risposta HTTP" che i servlet forniscono.

I servlet

Vengono eseguiti in un contenitore servlet che gestisce il lato di rete analisi di una richiesta HTTP, gestione della connessione, ecc.). Uno dei più noti contenitori servlet open source è Tomcat .

 236
Author: Jon Skeet, 2014-02-21 10:27:33

Un servlet al suo interno è una classe java; che può gestire le richieste HTTP. In genere il nocciolo interno della lettura di una richiesta e risposta HTTP sul filo viene curato dai contenitori come Tomcat. Questo è fatto in modo che come sviluppatore lato server puoi concentrarti su cosa fare con la richiesta HTTP e le risposte e non preoccuparti di gestire il codice che si occupa di networking, ecc. Il contenitore si occuperà di cose come avvolgere l'intera cosa in un oggetto di risposta HTTP e inviarlo al client (ad esempio un browser).

Ora la prossima domanda logica da porre è chi decide cosa dovrebbe fare un contenitore? E la risposta è; Nel mondo Java almeno è guidato (nota che non ho usato la parola controllata) dalle specifiche. Ad esempio, le specifiche del servlet (vedi risorsa 2) dettano ciò che un servlet deve essere in grado di fare. Quindi, se puoi scrivere un'implementazione per la specifica, congratulazioni hai appena creato un contenitore (tecnicamente contenitori come Tomcat implementa anche altre specifiche e fa cose difficili come caricatori di classe personalizzati, ecc.

Supponendo che tu abbia un contenitore, i tuoi servlet sono ora classi java il cui ciclo di vita sarà mantenuto dal contenitore ma la loro reazione alle richieste HTTP in arrivo sarà decisa da te. Lo fai scrivendo ciò che vuoi fare nei metodi predefiniti come init(), doGet(), doPost() ecc. Guarda la Risorsa 3.

Ecco un esercizio divertente per voi. Creare un semplice servlet come nella Risorsa 3 e scrivere alcuni sistemi.fuori.istruzioni println () nel suo metodo di costruzione (Sì, puoi avere un costruttore di un servlet), init(), doGet (), doPost () metodi ed eseguire il servlet in tomcat. Vedere i registri della console e i registri di tomcat.

Spero che questo aiuti, apprendimento felice.

Risorse

  1. Guarda come appare il servlet HTTP qui (esempio Tomcat).

  2. Servlet Specifica .

  3. Servlet semplice esempio.

  4. Inizia a leggere il libro online / PDF Esso fornisce anche il download di tutto il libro. Può essere questo aiuterà. se stai appena iniziando i servlet, è una buona idea leggere il materiale insieme all'API servlet. è un processo di apprendimento più lento, ma è molto più utile per chiarire le basi.

 66
Author: Ayusman, 2017-10-28 21:13:23

In aggiunta a quanto sopra, e solo per sottolineare il bleedin ' ovvio...

Per molti questo è iper ovvio, ma per qualcuno abituato a scrivere app che vengono appena eseguite e poi terminate: un servlet trascorre la maggior parte del suo tempo in giro a non fare nulla... in attesa di essere inviato qualcosa, una richiesta, e poi rispondere ad esso. Per questo motivo un servlet ha una vita: è initalizzato e poi aspetta, rispondendo a qualsiasi cosa gli venga lanciata, e viene quindi distrutto. Il che implica che deve essere creato (e successivamente distrutto) da qualcos'altro (un framework), che viene eseguito nel proprio thread o processo e che non fa nulla a meno che non venga richiesto. E anche che, in qualche modo o in altro modo, deve essere implementato un meccanismo in base al quale questa "entità" può "ascoltare" le richieste.

Suggerisco che la lettura di thread, processi e socket farà luce su questo: è molto diverso dal modo in cui funziona un'app di base "hello world".

Potrebbe essere sostenuto che il termine "server" o "servlet" è un po ' eccessivo. Un nome più razionale e più semplice potrebbe essere "responder".

 20
Author: mike rodent, 2017-07-05 19:43:46

Se sei un principiante, penso che questo tutorial possa dare un'idea di base su Che Servlet è ...

Alcuni punti preziosi sono sotto dal link indicato.

La tecnologia Servlet viene utilizzata per creare un'applicazione Web che risiede sul lato server e genera una pagina Web dinamica.

Servlet può essere descritto in molti modi, a seconda del contesto.

  • Servlet è una tecnologia cioè utilizzata per creare web applicazione.
  • Servlet è un'API che fornisce molte interfacce e classi tra cui documentazione.
  • Servlet è un'interfaccia che deve essere implementata per creare qualsiasi Servlet.
  • Servlet è una classe che estende le capacità dei server e rispondere alla richiesta in arrivo. Può rispondere a qualsiasi tipo di richiesta.
  • Servlet è un componente Web distribuito sul server per creare pagina web dinamica. Riferimento: Qui .
 4
Author: Sandun Madola, 2017-08-23 06:29:03

Servlet è la tecnologia lato server che viene utilizzato per creare pagina Web dinamica in applicazione web. In realtà servlet è un'api che consiste in un gruppo di classi e interfacce, che ha alcune funzionalità. Quando usiamo l'API Servlet possiamo utilizzare funzionalità predefinite di classi e interfacce servlet.

Ciclo di vita del Servlet:

Web container mantiene il ciclo di vita dell'istanza servlet.

1 . Classe Servlet caricata

2 . Creazione di un'istanza servlet

3 . il metodo init () viene richiamato

4 . servizio () metodo invocato

5 . destroy () metodo invocato

Quando la richiesta viene sollevata dal client(browser), web-container controlla se il servlet è in esecuzione o meno, se sì, invoca il metodo service() e fornisce la risposta al browser..

Quando servlet non è in esecuzione, web-container segue i passaggi seguenti..

1. classloader caricare il classe servlet

2. Crea un'istanza del servlet

3. Inizializza il servlet

4.richiamare il metodo service ()

Dopo aver servito la richiesta web-container attendere per un tempo specifico, in questo momento, se la richiesta arriva, chiama solo il metodo service() altrimenti chiama il metodo destroy ()..

 3
Author: Navnath Adsul, 2017-05-12 04:55:23

I servlet Java sono moduli di programma Java lato server che procedono e rispondono alle richieste dei clienti e attualizzano l'interfaccia servlet. Aiuta a migliorare l'utilità del server Web con un sovraccarico trascurabile, manutenzione e supporto.

Un servlet funge da mediatore tra il cliente e il server. Man mano che i moduli servlet continuano a funzionare sul server, possono ottenere e reagire alle richieste del cliente. Gli oggetti Demand e reaction del servlet offrono un metodo utile per gestire HTTP chiede e invia informazioni sui contenuti al cliente.

Poiché un servlet è coordinato con il dialetto Java, ha inoltre tutti i punti salienti Java, ad esempio, elevata mobilità, autonomia di fase, sicurezza e disponibilità del database Java.

 2
Author: Poorna Senani Gamage, 2018-03-03 17:52:49

Servlet è una classe java per rispondere a una richiesta HTTP e produrre una risposta HTTP...... quando facciamo una pagina con l'uso di HTML allora sarebbe una pagina statica quindi per renderla dinamica usiamo SERVLET {in parole semplici si può capire} Per fare uso di servlet è superato da JSP utilizza il codice e il tag HTML entrambi in sé..

 1
Author: Roopam, 2015-03-14 09:47:38

Che cosa è un Servlet?

  • Un servlet è semplicemente una classe che risponde a un particolare tipo di richiesta di rete - più comunemente una richiesta HTTP.
  • Fondamentalmente i servlet vengono solitamente utilizzati per implementare applicazioni Web, ma ci sono anche vari framework che operano su servlet (ad esempio Struts) per fornire un'astrazione di livello superiore rispetto al livello "ecco una richiesta HTTP, scrivi a questa risposta HTTP" che i servlet forniscono.
  • I servlet funzionano in a contenitore servlet che gestisce il lato di rete (ad esempio l'analisi di una richiesta HTTP, la gestione della connessione, ecc.). Uno dei più noti contenitori servlet open source è Tomcat.

  • In un paradigma di richiesta/risposta, un server Web può servire solo pagine statiche al client

  • Per servire pagine dinamiche, a abbiamo bisogno di Servlet.
  • Servlet non è altro che un programma Java
  • Questo programma Java non ha un metodo main. Ha solo alcuni metodi di callback.
  • Come il server web comunica al servlet? Tramite contenitore o motore Servlet.
  • Servlet vive e muore all'interno di un contenitore web.
  • Web container è responsabile del richiamo di metodi in un servlet. Sa quali metodi di callback ha il Servlet.

Flusso della richiesta

  • Il client invia una richiesta HTTP al server Web
  • Il server Web inoltra la richiesta HTTP al contenitore Web.
  • Poiché Servlet non può capire HTTP, è un programma Java, comprende solo gli oggetti, quindi il contenitore Web converte quella richiesta in un oggetto di richiesta valido
  • Contenitore Web gira un thread per ogni richiesta
  • Tutta la logica di business va dentro doGet() o doPost () metodi di callback all'interno dei servlet
  • Servlet crea un oggetto di risposta Java e lo invia al contenitore. Lo converte nuovamente in risposta HTTP per inviarlo al client

In che modo il contenitore sa quale client Servlet ha richiesto per?

  • C'è un file chiamato web.xml
  • Questo è il file master per un contenitore web
  • Hai informazioni su servlet in questo file-

    • servlet
      • Nome servlet
      • Classe Servlet
    • servlet-mappings - il percorso come / Login o / Notifications è mappato qui in
      • Nome servlet
      • url-modello
    • e così via
  • Ogni servlet in l'app web dovrebbe avere una voce in questo file

  • Quindi questa ricerca avviene come-url-pattern - > servlet-name - > servlet-class

Come "installare" Servlet? * Bene, gli oggetti servlet sono ereditati dalla libreria-javax.Servlet.* . Tomcat e Spring possono essere utilizzati per utilizzare questi oggetti per adattarsi al caso d'uso.

Ref-Guarda questo su 1.5 x - https://www.youtube.com/watch?v=tkFRGdUgCsE . Questo ha una spiegazione impressionante.

 0
Author: Sankalp, 2018-01-24 06:19:46

Penso che servlet sia fondamentalmente una classe java che funge da via di mezzo tra la richiesta HTTP e la risposta HTTP.Servlet è anche usato per rendere dinamica la tua pagina web. Supponiamo ad esempio che se si desidera reindirizzare a un'altra pagina Web sul server, è necessario utilizzare i servlet. Un'altra cosa importante è che servlet può essere eseguito su localhost e su un browser web.

 -1
Author: Roopam, 2014-04-13 20:06:34

Hai appena ricevuto la risposta per un servlet normalmente. Tuttavia, voglio condividere qualcosa su Servlet 3.0

Che cosa è prima un Servlet?

Un servlet è un componente Web gestito da un contenitore e genera contenuti dinamici. I servlet sono classi Java compilate al codice byte che può essere caricato dinamicamente in ed eseguito da un Java server Web abilitato alla tecnologia o contenitore Servlet.

Servlet 3.0 è un aggiornamento specifica Servlet 2.5 esistente. Servlet 3.0 API richiesta della piattaforma Java, Enterprise Edition 6. Servlet 3.0 è focalizzato sull'estensibilità e sul framework web pluggability. Servlet 3.0 si mettono alcune estensioni come la facilità di Sviluppo (EoD), Pluggability, supporto asincrono e sicurezza Miglioramenti

Facilità di sviluppo

Puoi dichiarare Servlet, Filter, Listener, Init Params e quasi tutto può essere configurato utilizzando annotazioni

Pluggability

È possibile creare un sottoprogetto o un modulo con un frammento web.XML. Esso significa che permette di implementare requisiti funzionali pluggable indipendentemente.

Supporto asincrono

Servlet 3.0 fornisce la capacità di elaborazione asincrona, per esempio: in attesa che una risorsa diventi disponibile, generando risposta asincrona.

Miglioramenti della sicurezza

Supporto per la sicurezza del servlet di autenticazione, accesso e disconnessione metodi

L'ho trovato da Java Servlet Tutorial

 -2
Author: David Pham, 2016-12-08 08:09:58