Jaký je rozdíl mezi JSP a servletem?
Malý a při tom značný. Servlet je typ javového programu, který běží na serveru a umí zpracovávat HTTP dotazy a generovat HTTP odpovědi. JSP je způsob, jak tyto programy tvořit velmi bezbolestně. Když dáte JSP soubor na webový server tak, aby byl dostupný pro klienty, a někdo napíše jeho URL do prohlížeče, pak web server přeloží dokument na .java zdrojový soubor a ten pak na .class a dále už vše funguje přesně tak jako u servletu.Dá se tedy říct, že JSP je nadstavba nad servletem. Jak už to bývá, psaní tím že využijete nadstavbu, ušetříte si spoustu manuální práce, ale zároveň se můžete připravit o některé možnosti, které by vám nabízelo používání čistokrevného servletu. Pokud víte co děláte, může být ručně napsaný servlet efektivnější než automaticky vygenerovaný, ale pokud nevíte co děláte, může to být i naopak.
Nutno dodat, že čisté servlety se v dnešní době už v nějakém masovém měřítku nepíší. Používá se buď JSP anebo frameworky jako například Struts, kde dostanete jeden univerzální hotový servlet, který se pak jen konfiguruje pomocí XML souboru tak, aby používal k vykonávání výpočtů dodané jednodušší třídy.