2011-04-07 12 views

उत्तर

17

प्रलेखन से URLConnection के लिए:

अगर आप निवेश के लिए यूआरएल कनेक्शन, नहीं तो झूठी उपयोग करने का इरादा सच करने के लिए DoInput ध्वज सेट करें। डिफ़ॉल्ट सच है।

यदि आप आउटपुट के लिए यूआरएल कनेक्शन का उपयोग करना चाहते हैं तो गलत करने के लिए DoOutput ध्वज सेट करें, यदि गलत नहीं है। डिफॉल्ट गलत है।

वास्तविक उद्देश्य के लिए, ऐसा नहीं लगता है कि ओरेकल कोड में कुछ भी doInput चर पर जांच करता है। हालांकि doOutput गलत के डिफ़ॉल्ट आपको HTTP POST अनुरोधों के लिए आवश्यक getOutputStream() पर कॉल करने से रोक देगा। तो यह समय से पहले इंगित करने का एक तरीका है कि आप वास्तव में इसे स्थापित किए बिना OutputStream पर लिखने की उम्मीद करते हैं।

+1

हां मैंने प्रलेखन पढ़ा। बस समझ में नहीं आता "इनपुट के लिए यूआरएल कनेक्शन का उपयोग करने का इरादा जब सत्य और गलत नहीं है"। इसका वास्तव में क्या मतलब है? –

+0

मैंने जो कुछ भी मुझे बताया उससे जवाब में थोड़ा और जोड़ा। – WhiteFang34

+4

setDoInput (false) को तब कहा जाता है जब प्रतिक्रिया निकाय को अनदेखा किया जा रहा है। जावा कोर कोड इसे जेएक्सबी और एक्सएमएल सीरियलाइजेशन के लिए यूआरएल में कॉल करता है। देखें: com/sun/org/apache/xml/internal/serialize/DOMSerializerImpl.java और javax \ xml \ bind \ JAXB.java –

9

मैं अभी भी "इनपुट के लिए यूआरएल कनेक्शन का उपयोग करें" द्वारा प्रलेखन में क्या मतलब था, इस बारे में उलझन में था।

इसका मतलब यह हो सकता है कि आप प्रतिक्रिया से जानकारी पढ़ना चाहते हैं या आप इसके अनुरोध में जानकारी इनपुट करना चाहते हैं। दस्तावेज कहता है:

इनपुट और/या आउटपुट के लिए एक यूआरएल कनेक्शन का उपयोग किया जा सकता है। DoInput ध्वज को सही पर सेट करना इंगित करता है कि एप्लिकेशन URL कनेक्शन से डेटा पढ़ने का इरादा रखता है।

इस फ़ील्ड का डिफ़ॉल्ट मान सत्य है।

तो यदि आप प्रतिक्रिया से डेटा को अनदेखा करना चाहते हैं तो आप इनपुट को गलत पर सेट कर सकते हैं। यदि आप getInputStream() का उपयोग करना चाहते हैं तो आपको इसे अकेला छोड़ देना चाहिए या इसे सत्य पर सेट करना चाहिए।

इनपुट और/या आउटपुट के लिए एक यूआरएल कनेक्शन का उपयोग किया जा सकता है। डूऑटपुट ध्वज को सही पर सेट करना इंगित करता है कि एप्लिकेशन यूआरएल कनेक्शन में डेटा लिखना चाहता है।

इस फ़ील्ड का डिफ़ॉल्ट मान गलत है।

तो यदि आप अनुरोध पर डेटा संलग्न करना चाहते हैं (getOutputStream() को कॉल करना) तो आपको सही करने के लिए doOutput सेट करना होगा।

0

सुपरक्लास, URLConnection द्वारा विधियों की घोषणा की जाती है। मुझे लगता है कि इरादा ठोस कार्यान्वयन में संभावित अनुकूलन को सक्षम करना था। याद रखें कि URLConnection प्रोटोकॉल अज्ञेयवादी है (लेकिन HttpURLConnection स्पष्ट रूप से नहीं है)।

+0

'प्रोटोकॉल अज्ञेयवादी'? आपका मतलब क्या है? –

+1

@YoushaAleayoub किसी भी विशिष्ट प्रोटोकॉल से जुड़ा नहीं है, जैसे HTTP या FTP। – haraldK

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