संक्षेप में, इसे इस प्रकार परिभाषित किया जा सकता है: सर्वलेट जावा प्रोग्राम हैं जो वेब सर्वर पर चलते हैं और HTTP क्लाइंट से आने वाले अनुरोध और HTTP सर्वर पर डेटाबेस या एप्लिकेशन के बीच एक मध्य परत के रूप में कार्य करते हैं। जबकि JSP केवल एक टेक्स्ट दस्तावेज़ है जिसमें दो प्रकार के टेक्स्ट होते हैं: स्थिर टेक्स्ट जो पूर्वनिर्धारित होता है और गतिशील टेक्स्ट जो सर्वर प्रतिक्रिया प्राप्त होने के बाद प्रस्तुत किया जाता है।
निम्नलिखित सर्वलेट और JSP के बीच महत्वपूर्ण अंतर हैं:
| क्र.सं. | मुख्य बिंदु | सर्वलेट | JSP |
|---|---|---|---|
| 1 | कार्यान्वयन | सर्वलेट जावा भाषा में विकसित किया जाता है। | JSP मुख्य रूप से HTML भाषा में लिखा जाता है हालांकि इस पर जावा कोड भी लिखा जा सकता है लेकिन इसके लिए JSTL या अन्य भाषा की आवश्यकता होती है। |
| 2 | MVC | MVC के विपरीत हम सर्वलेट को एक कंट्रोलर के रूप में बता सकते हैं जो अनुरोध प्राप्त करता है, प्रोसेस करता है और प्रतिक्रिया वापस भेजता है। | दूसरी ओर, JSP सर्वलेट द्वारा वापस की गई प्रतिक्रिया को प्रस्तुत करने के लिए व्यू की भूमिका निभाता है। |
| 3 | अनुरोध प्रकार | सर्वलेट सभी प्रकार के प्रोटोकॉल अनुरोधों को स्वीकार और प्रोसेस कर सकते हैं। | दूसरी ओर JSP केवल HTTP अनुरोध के साथ संगत है। |
| 4 | सत्र प्रबंधन | सर्वलेट में डिफ़ॉल्ट रूप से सत्र प्रबंधन सक्षम नहीं है, उपयोगकर्ता को इसे स्पष्ट रूप से सक्षम करना होगा। | दूसरी ओर JSP में सत्र प्रबंधन स्वचालित रूप से सक्षम है। |
| 5 | प्रदर्शन | सर्वलेट JSP से तेज़ है। | JSP सर्वलेट से धीमा है क्योंकि पहले JSP का जावा कोड में अनुवाद होता है और फिर संकलन होता है। |
| 6 | संशोधन प्रतिबिंब | सर्वलेट में संशोधन एक समय लेने वाला कार्य है क्योंकि इसमें रीलोडिंग, पुनः संकलन और सर्वर को पुनः आरंभ करना शामिल है जब हम अपने कोड में कोई बदलाव करते हैं ताकि वह प्रतिबिंबित हो सके। | दूसरी ओर JSP संशोधन तेज़ है क्योंकि बस रिफ्रेश बटन पर क्लिक करने की आवश्यकता होती है और कोड परिवर्तन प्रतिबिंबित हो जाएगा। |
सर्वलेट का उदाहरण
JavaTester.java
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class JavaTester extends HttpServlet { private String message; public void init() throws ServletException { // आवश्यक प्रारंभिकरण करें message = "Hello World"; } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // प्रतिक्रिया कंटेंट प्रकार सेट करें response.setContentType("text/html"); // वास्तविक तर्क यहां जाता है। PrintWriter out = response.getWriter(); out.println(message); } }
आउटपुट
Hello World