यदि आप एक फ्रंट कॉनोलर सर्वलेट के अंदर हैं जो एक उपसर्ग पैटर्न पर मैप किया गया है, तो आप बस उपयोग कर सकते हैं HttpServletRequest#getPathInfo()
।
String pathInfo = request.getPathInfo();
// ...
यह मानते हुए कि आपके उदाहरण में सर्वलेट मैप किया गया है /secure
, तो यह वापस आ जाएगा /users
जो कि विशिष्ट फ्रंट कंट्रोलर सर्वलेट के अंदर एकमात्र ब्याज की जानकारी होगी।
यदि सर्वलेट को प्रत्यय पैटर्न पर मैप किया गया है (आपके URL उदाहरण हालांकि यह इंगित नहीं करते हैं कि यह मामला है), या जब आप वास्तव में एक फ़िल्टर के अंदर हों (जब-से-आमंत्रित सर्वलेट आवश्यक रूप से अभी तक निर्धारित नहीं है, तो getPathInfo()
वापस लौट सकता है null
), तो आपका सबसे अच्छा शर्त यह है कि अनुरोध URI को सामान्य String
विधि का उपयोग करते हुए संदर्भ पथ की लंबाई के आधार पर स्वयं किया जाए :
HttpServletRequest request = (HttpServletRequest) req;
String path = request.getRequestURI().substring(request.getContextPath().length());
// ...