2011-02-08 10 views
6

मैंने पढ़ा है कि जिस क्रम में फिल्टर कार्रवाई की जाती है जिन्हें इस क्रम में web.xmlग्लासफ़िश पर फ़िल्टर मैपिंग का ऑर्डर कैसे निर्दिष्ट करें?

घोषित किये गए हैं लेकिन यह कैसे web.xml बिना ऐसा करने के लिए, उदाहरण के लिए @WebServlet एनोटेशन का उपयोग करके निर्धारित किया जा सकता है? मैं अपने web.xml

+0

क्या यह 'loadOnStartupOrder' विशेषता के माध्यम से नियंत्रित नहीं है? – musiKk

उत्तर

7

को अव्यवस्थित करना चाहता हूं ऐसा लगता है कि एनोटेटेड फ़िल्टर के लिए यह असंभव है। Servlet 3.0 Specification का कहना है:

जैसा कि ऊपर वर्णित है, जब एनोटेशन का उपयोग श्रोताओं, servlets और फिल्टर, जिस क्रम में वे कर रहे हैं लागू अनिर्दिष्ट है परिभाषित करने के लिए।

+3

ठीक है, फिर पत्थर युग के दिनों में वापस। – rapadura

+1

क्या आप मान सकते हैं कि फ़िल्टर की एक श्रृंखला में निर्दिष्ट क्रम में लिंक डालने के प्रावधान नहीं होंगे? क्या लोगों ने इसे निर्दिष्ट किया असली दुनिया को समझ नहीं आया? –

+0

अविश्वसनीय ... – rapadura

2

@axtavt नोट्स के रूप में, आप इसे नहीं कर सकते हैं। यहां क्यों है (मुझे लगता है) उन्होंने इसे इस तरह से डिजाइन किया है।

आदेश निर्दिष्ट करने के लिए, टिप्पणियों को एक अतिरिक्त तर्क की आवश्यकता होगी कि (किसी भी तरह) श्रृंखला में स्थिति निर्दिष्ट करता है; जैसे एक आदेश'। इस के साथ समस्याओं कर रहे हैं: एक सर्वलेट फिल्टर जिसका क्रम एनोटेशन मानकों द्वारा निर्दिष्ट किया जाता की एक संख्या है

  1. , तो प्रोग्रामर/deployer बाहर काम करने के फिल्टर वर्गों के लिए एनोटेशन जांच करने के लिए है क्या वास्तविक आदेश है।

  2. एक दिए गए फ़िल्टर वर्ग सिद्धांत में कई servlets, यहां तक ​​कि कई वेबैप में भी इस्तेमाल किया जा सकता है। प्रत्येक सर्वलेट या वेबएप फ़िल्टर ऑर्डर अलग होना चाहता है। आप फ़िल्टर क्लास पर एनोटेशन का उपयोग करके इसे हासिल नहीं कर सकते हैं।

  3. यदि कोई फ़िल्टर ऑर्डर बदलने के लिए आवश्यक वेबपैप को तैनात करने वाला व्यक्ति है, तो उसे स्रोत कोड को संशोधित करने, पुन: संकलित करने और WAR फ़ाइल को पुनर्निर्माण करने की आवश्यकता होगी।

मैं कल्पना डिजाइनरों इन समस्याओं को देखा और फैसला किया है कि सबसे अच्छा जगह फ़िल्टर क्रम निर्दिष्ट करने के लिए web.xml फ़ाइल में है।

+0

तो मूल रूप से क्योंकि सिद्धांत में कोई व्यक्ति एकाधिक वेबैप पर फ़िल्टर का उपयोग कर सकता है ... और अन्य कारण "लेकिन इसके कठिन" की तरह हैं। फिर भी मुझे यह पसंद है कि आप क्यों कारण बताते हैं। – rapadura

संबंधित मुद्दे