JavaServer Pages (जावासर्वर पेजेस)
JavaServer Pages (जावासर्वर के पृष्ठ) (JSP) एक सर्वर साइड जावा तकनीक है, जो एक जावा वेब अनुप्रयोग कंटेनर (सर्वर) के लिए एक वेब ग्राहक के अनुरोध के जवाब में HTML, XML, या अन्य दस्तावेजों के प्रकारों के साथ, गतिक रूप से विकसित किये गए वेब पेज का निर्माण करने के लिए सॉफ्टवेयर का विकास करने वाले लोगों की मदद करती है। इसे सक्षम बनाने के लिए एक HTML पेज file extension .jsp को दिया जाता है और एक XML मार्क अप file extension .jspx, को दिया जाता है, ताकि जावा सर्वर (कंटेनर) यह पहचान लेगा कि फाइल को ग्राहक को भेजने से पहले JSP प्रोसेसिंग की जरूरत है। JSP पेजों को सर्वर में लोड किया जाता है और इसे एक संरचित विशेष रूप से इन्सटाल किये गए Java server packet (जावा सर्वर पैकेट) से ओपरेट किया जाता है जिसे J2EE Web Application (J2EE वेब एप्लीकेशन) कहा जाता है, इसे अक्सर एक .war या .ear फाइल संग्रह के रूप में पैक किया जाता है। यह तकनीक जावा कोड को और विशिष्ट पूर्व परिभाषित क्रियाओं को स्टेटिक पेज सामग्री में प्रवेश करने की अनुमति देती है और हर पेज के अनुरोध पर रनटाइम पर सर्वर पर संकलन की अनुमति देती है। जावा सर्वर (J2EE विनिर्देशन) और पेज स्क्रिप्ट दोनों और/या विस्तृत कस्टमाइज्ड प्रोग्रामिंग एक विशेष पहले से इंस्टाल किये गए बेस प्रोग्राम के द्वारा ओपरेट की जाती है, यह प्रोग्राम एक आभासी या वर्चुअल मशीन कहलाता है, जो मेज़बान के ऑपरेटिंग सिस्टम को एकीकृत करता है, यह प्रकार Java Virtual Machine (जावा वर्चुअल मशीन) (JVM) होता है। क्योंकि या तो, एक Compiler-JVM set (कम्पाइलर- JVM सेट) (जो एक SDK या JDK कहलाता है) या लोन JVM (जो JRE, Java Runtime Environment(जावा रनटाइम एन्वायरनमेंट) कहलाता है) या दोनों अधिकांश कंप्यूटर प्लेटफोर्म OSs के लिए बने हैं और JVM के लिए कम्पाइल किये गए प्रोग्राम विशेष जावा बाईट कोड फाइलों में कम्पाइल किये जाते हैं, इसके लिए JVM बाईट कोड फाइलें (कम्पाइल किये गए जावा प्रोग्राम के वर्ग की फाइलें) प्लेटफोर्मों के बीच प्रभावी रूप से स्थानांतरित की जा सकती हैं, जिसके लिए विशेष परिस्थितियों या वर्जनिंग कमपेटीबिलिटी के आलावा पुनः कम्पाइल करने की जरूरत नहीं होती है। इन J2EE सर्वलेट या J2EE JSP प्रोग्रामों के लिए स्रोत कोड की आपूर्ति लगभग हमेशा J2EE JSP सामग्री और J2EE वेब अनुप्रयोग के साथ की जाती है क्योंकि सर्वर उन्हें लोड करते समय कम्पाइलर को बुलाता है। इन छोटे विस्तार कार्यक्रम (कस्टम टैग, सर्वलेट, बीन्स, पेज स्क्रिप्टिंग) चार होते हैं और इनके अपडेट किये जाने की संभावना होती है, या रन टाइम शुरू होने से पहले इन्हें परिवर्तित किया जा सकता है, या यह बीच बीच में किया जाता है, विशेष रूप से जब ये खुद JSP पेज अनुरोध भेजते हैं, इसे जरूरत होती है कि JSP सर्वर की पहुँच एक ava compiler (जावा कम्पाइलर) को हो (SDK या JDK) और आवश्यक स्रोत कोड (JVM JRE और बाईट कोड वर्ग की फाइलें साधारण रूप से नहीं) सर्व करने की विधि का सफलतापूर्वक उपयोग कर सके। JSP सिंटेक्स के दो बुनियादी प्रकार हैं, scriptlet (स्क्रिप्टलेट) और markup (मार्कअप) हालांकि मूल रूप से पेज या तो HTML या XML मार्क अप होते हैं। Scriptlet tagging (स्क्रिप्टलेट टैगिंग) (स्क्रिप्टलेट तत्त्व कहलाते हैं) (सीमांकित) मार्क अप के साथ ब्लोक्स ऑफ़ कोड प्रभावी रूप से मार्क अप नहीं होते हैं और किसी भी API से सम्बंधित जावा सर्वर (उदाहरण सर्वर जो खुद बाइनरी को चला रहें हैं या डाटा बेस कनेक्शन API या जावा मेल API) या अधिक विशिष्ट JSP API भाषा कोड को अनुमति देते हैं कि वह JSP फाइल में अपलब्ध करायी गयी सही घोषणाओं से युक्त एक HTML या XML पेज में प्रवेश कर जाएं और पेज के फाइल एक्सटेंशन प्रयुक्त किये जाते हैं। स्क्रिप्टलेट ब्लॉक्स को खुद ब्लॉक्स में पूरा होने की जरूरत नहीं होती है, स्टेटमेंट की जरूरत के अनुसार खुद ब्लॉक की आखिरी लाइन पूरी की जाती है, जो विश्लेषणात्मक रूप से सही होती है, इसे एक बाद के ब्लॉक में पूरा किया जा सकता है। इनलाइन कोडिंग सेक्शन को विभाजित करने की यह प्रणाली step over scripting (स्टेप ओवर स्क्रिप्टिंग) कहलाती है, क्योंकि इसे स्टेप ओवर करके स्टेटिक मार्क अप के चारों और लपेटा जा सकता है। रनटाइम पर (एक ग्राहक के अनुरोध के दौरान) कोड को कम्पाइल किया जाता है और इसका मूल्यांकन किया जाता है, लेकिन कोड का कम्पाईलेशन (संकलन) आम तौर पर तब होता है जब फाइल के कोड में कोई परिवर्तन होता है। JSP सिंटेक्स या वाक्यविन्यास में अतिरिक्त XML की तरह के टैग होते हैं, जो JSP एक्शन कहलाते हैं, इनका उपयोग निर्माणात्मक क्रियाओं में किया जाता है। इसके अतिरिक्त, प्रौद्योगिकी JSP टैग लायब्ररीज के निर्माण के लिए अनुमति देता है जो मानक HTML या XML टैग के लिए एक्सटेंशन के रूप में कार्य करता है। JVM के द्वारा ओपरेट किये गए लायब्ररी, एक वेब सर्वर की क्षमताओं के विस्तार के 