2009-11-03 18 views
9

Che cosa significa "componente Web" in Java EE? Dammi alcuni esempi da diverse tecnologie Java EE (jsp, jsf, ejb ..)Che cos'è un componente Web in Java EE?

UPD: posso dire che ogni tag personalizzato in jsp è un componente Web e che i tag in jsf sono componenti web? o solo i servlet e le intere pagine jsp sono componenti web? viene distribuito un bean di sessione un componente Web?

risposta

17

Un componente Web non è altro che un componente software che fornisce una richiesta HTTP in ingresso e fornisce una sorta di risposta (si spera valida).

La maggior parte, se non tutti, i framework Web Java sono basati sulla tecnologia dei servlet Java. Un servlet è un pezzo di codice persistente che riceve un'astrazione di una richiesta HTTP e fornisce una risposta HTTP. Dico "persistente" perché in genere è longevo su molte connessioni (diversamente dai vecchi processi transienti basati su CGI che erano circa 10-15 anni fa quando i servlet venivano immaginati).

Inoltre la specifica servlet include:

  • Ganci per creare e distruggere servlet;
  • Gestione sessione automatica incluso in ambienti cluster;
  • L'output nella risposta utilizza la libreria di I/O Java standard;
  • Le servlet hanno astrazioni abbastanza complete per la richiesta e la risposta;
  • La configurazione a livello di applicazione (permanente) è supportata; e
  • I dati possono essere ambiti in diversi modi (pagina, richiesta, sessione e applicazione).

Un JSP è un tipo speciale di markup che un contenitore Web con funzionalità JSP "compila" nel codice servlet.

Struts (1 & 2), Spring MVC, JSF, Seam, Wicket, Tapestry, ecc. Sono tutti i framework Web che vengono creati in base alle specifiche delle servlet. Ce ne sono letteralmente dozzine e sono tutti diversi.