Serverdə Java web texnologiyalarını dəstəkləyən web container (Tomcat, Jetty və s.) və ya application server(JBoss, Glassfish, IBM Websphere, Oracle Weblogic və s.) olmalıdır. Tomcat üçün rahatdır, web proyektin war faylını hazırlayıb webapps qovluğuna qoymaq kifayətdir. Digər serverlərin isə dokumentasiyasına baxmaq lazımdır, fərqli ola bilər.
Ətraflı cavaba görə təşəkkürlər. Birdə ki, Servlet - in hosting prossesi nece baş verir. Məsələn tutaq ki, Online Judge System - ləri ( amc.timus.ru tipli sayt ) , servletsiz mümkün deyil yazmaq. Belə servletlər server-ə necə yüklənir ?
Servlet ilk çıxan java web texnologiyasıdır. Servlet adi Java sinifidir, amma HttpServlet sinifindən törənməlidir. Java kodu içərisində html kodu yazırsınız. Əsasa mənfi cəhəti elə budur. Səhifənin dizaynı və ya hər hansı bir yeri dəyişsə, servlet kodunda uyğun yeri dəyişib yenidən compile etməlisiniz və serverə deploy etməlisiniz. JSP texnologiyası məhz bu problemi aradan qaldırmaq üçün yaradılıb. Html səhifəsi daxilində Java və JSP kodları yaza bilərsiniz. JSP səhifəsi ilk dəfə işləyəndə tərcümə olunur, Java servlet kodu hazırlanır, daha sonra bu kod kompilyasiya olunur və class faylı alınır, bu class faylı da yaddaşa yüklənib icra edilir. Rahatlıq ondadır ki, siz JSP səhifəsində dəyişiklik edib səhifəni yeniləsəniz, bütün bu proseslər arxa planda avtomatik baş verir.
Texniki olaraq elə bir şey yoxdur ki, onu Servlet ilə edəsiniz amma JSP ilə edə bilməyəsiniz. Servlet biznes məntiqi,verilənlər bazası ilə işləmək, müxtəlif qərarlar vermək, istifadəçini müəyyən şərtlərə bağlı olaraq lazımi səhifələrə yönləndirmək, dinamik şəkil, pdf, excel və s. fayl generasiya etmək üçün daha uyğundur. JSP isə daha çox dinamik html səhifələri hazırlamaq üçün istifadə olunur.
JSP ilə PHP müəyyən dərəcədə müqayisə etmək olar, amma JSP texnologiyasında imkanlar daha çoxdur. Məsələn PHP-də sessiyaların idarəsi Servlet, JSP-dəki kimi flexible deyil, event/attribute listener-lər yoxdur.
JSP səhifələri yuxarıda yazdığım kimi ilk dəfə işləyəndə Java Servletə çevirilir və servlet işləyir. PHP isə script dilidir və hər dəfə işləyəndə tərcümə olunub işləyir, performans baxımından daha zəif işləyir.
JSP üçün Java dilini bilmək lazımdır.
PHP üçün əsas üstünlük hosting qiymətlərinin ucuz olması və JSP-yə nəzərən öyrənməyin daha rahat olmasıdır :)