Parts of Java Web Application – एक Java Web Application के विभिन्न हिस्सों को हम अगले चित्र के रूप में Represent कर सकते हैं, जहां हम देख सकते हैं कि एक Web Application में Web Server के अलावा Servlet/JSP Software भी Run होता है, जिसे Servlet/JSP Engine या Servlet/JSP Container के नाम से जाना जाता है।
Java EE Specification इस बात को Describe करता है, Servlet/JSP Engine किस प्रकार से Web Server के साथ Interact करेगा। चूंकि सभी JSP/Servlet Engines को Java EE Specification को Implement करना जरूरी होता है, इसलिए सभी JSP/Servlet Engines एक समान तरीके से काम करते हैं।
अत: JSP/Servlets पूरी तरह से Portable होते हैं और अलग-अलग Vendors के Web Server पर लगभग समान रूप से Execute हो सकते हैं। फलस्वरूप यदि हम Web Servers या Servlet/JSP Engines को Change करते हैं, तो हमें हमारे Code में बहुत ही मामूली परिवर्तन करने की जरूरत पडती है।
Servlet/JSP Engine उसी स्थिति में Normal तरीके से काम कर सकता है, जबकि वह Java Development Kit (JDK) को Access करने में सक्षम होता है, जो कि Java Standard Edition (Java SE) के साथ ही Install होता है। इसके साथ ही Java Runtime Environment (JRE) भी Install होता है, जो कि किसी भी Compiled Java Class के Run होने के लिए जरूरी होता है।
कई बड़ी Web Sites Enterprise JavaBeans (EJB) नाम की Technology को भी Use करते हैं। EJB Use करने के लिए Web Server पर EJB Server या EJB Container नाम के एक Additional Software का उपलब्ध होना जरूरी होता है। हालांकि EJB को Use करने से हमें कई Benefit भी प्राप्त होते हैं, लेकिन इन्हें Use करना तुलनात्मक रूप से अधिक कठिन होता है। साथ ही EJB Use करने पर हमारा Web Application अनावश्यक रूप से थोडा अधिक Complex भी हो जाता है।