मैं ओडब्ल्यूएएसपी से एंटी-सैमी का उपयोग करना चाहता हूं। उन्हें नीति ऑब्जेक्ट मिला, जिसे फ़ैक्टरी विधि के माध्यम से तुरंत चालू किया गया है।वसंत: एक कारखाने-विधि में इनपुटस्ट्रीम के रूप में संसाधन इंजेक्शन
public static Policy getInstance(InputStream inputStream);
फ़ैक्टरी-विधि को पारित करने की आवश्यकता इनपुट इनपुट जो नीति-ऑब्जेक्ट के लिए कॉन्फ़िगरेशन फ़ाइल का प्रतिनिधित्व करता है।
क्या वसंत xml संदर्भ कॉन्फ़िगरेशन में नीति बीन बनाने का उपयोग करना संभव है? मुझे पता है कि एक संसाधन ऑब्जेक्ट है, जो क्लासपाथ से फ़ाइलें लोड कर सकता है। लेकिन मुझे उस संसाधन ऑब्जेक्ट से इनपुटस्ट्रीम बनाने की आवश्यकता है। क्या मैं इसे सीधे एक्सएमएल-वसंत-संदर्भ में कर सकता हूं? या इनपुट इनपुट प्राप्त करने के लिए मुझे जावा कोड लिखने की ज़रूरत है?
अरे, मुझे एहसास नहीं हुआ कि वसंत 'इनपुटस्ट्रीम' पर मजबूर हो सकता है, यह साफ है। नोट, हालांकि, वसंत 'इनपुटस्ट्रीम' को बंद नहीं करेगा, यह मानता है कि बीन इसे करेगा। यदि 'पॉलिसी' कक्षा उस स्ट्रीम को बंद नहीं करती है, तो आप एक रिसाव के साथ खत्म हो जाएगा। – skaffman
अच्छी तरह से मनाया गया। नीति इनपुटस्ट्रीम को बंद नहीं करती है: http://code.google.com/p/owaspantisamy/source/browse/trunk/Java/current/antisamy-project/antisamy/src/main/java/org/owasp/validator/html /Policy.java#210। यह एक बग के रूप में रिपोर्ट किया जाना चाहिए, मुझे लगता है कि –
एचएम, तो मैं जावा-कोड में इनपुटस्ट्रीम खोल और बंद कर दूंगा। हालांकि, निर्माण साफ दिखता है, लेकिन जब मैं इसे आज़माता हूं, तो मुझे फ़ाइल नॉटफाउंड अपवाद मिलता है, जो मुझे बताता है कि यह ' classpath: टेम्पो-antisamy.xml '। किसी भी तरह से classpath उपसर्ग फ़ाइल नाम से अलग नहीं है –
nebenmir