चलिए उस पूर्ण URL को तोड़ते हैं जिसे एक क्लाइंट आपके सर्वलेट तक पहुंचने के लिए अपने एड्रेस बार में टाइप करेगा:
http://www.example.com:80/awesome-application/path/to/servlet/path/info?a=1&b=2#boo
भागों हैं:
- योजना:
http
- होस्टनाम:
www.example.com
- बंदरगाह:
80
- संदर्भ पथ:
awesome-application
- सर्वलेट पथ:
path/to/servlet
- पथ की जानकारी:
path/info
- क्वेरी:
a=1&b=2
- टुकड़ा:
boo
अनुरोध URI ( getRequestURI द्वारा लौटाया गया ) 4, 5 और 6 भागों से मेल खाता है।
(संयोग से, भले ही आप इसके लिए नहीं पूछ रहे हों, लेकिन विधि getRequestURL आपको 1, 2, 3, 4, 5 और 6 भाग देगा)।
अभी:
- भाग 4 (संदर्भ पथ) का उपयोग सर्वर में चलने वाले कई अन्य अनुप्रयोगों में से आपके विशेष एप्लिकेशन को चुनने के लिए किया जाता है
- भाग 5 (सर्वलेट पथ) का उपयोग कई अन्य सर्वलेटों में से एक विशेष सर्वलेट का चयन करने के लिए किया जाता है जिसे आपके पासपोर्ट में बंडल किया जा सकता है
- भाग 6 (पथ की जानकारी) की व्याख्या आपके सर्वलेट के तर्क द्वारा की जाती है (जैसे यह आपके सर्वलेट द्वारा नियंत्रित कुछ संसाधन की ओर इशारा कर सकता है)।
- भाग 7 (क्वेरी) को भी getQueryString का उपयोग करके अपने सर्वलेट को उपलब्ध कराया जाता है
- भाग 8 (टुकड़ा) भी सर्वर को नहीं भेजा जाता है और केवल क्लाइंट के लिए प्रासंगिक और ज्ञात होता है
निम्नलिखित हमेशा रखती है (URL एन्कोडिंग मतभेदों को छोड़कर):
requestURI = contextPath + servletPath + pathInfo
सर्वलेट 3.0 विनिर्देश से निम्न उदाहरण बहुत उपयोगी है:
नोट: छवि इस प्रकार है, मेरे पास HTML में पुनः बनाने का समय नहीं है: