दस्तावेज़ीकरण के अनुसार, setContentLength(int len) इंटरफ़ेस की ServletResponse विधि प्रतिक्रिया में सामग्री निकाय की लंबाई निर्धारित करती है HTTP सर्वलेट्स में, यह विधि HTTP सामग्री-लंबाई शीर्षलेख सेट करती है।

  • पैरामीटर: len - क्लाइंट को लौटाई जा रही सामग्री की लंबाई निर्दिष्ट करने वाला एक पूर्णांक; सामग्री-लंबाई शीर्षलेख सेट करता है

यहाँ कक्षा की doGet() विधि है जो HttpServlet का विस्तार करती है:

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/plain");
    response.setContentLength(6);
    PrintWriter out = response.getWriter();
    out.write("What's your name? ");
    out.write("" + response.isCommitted());
}

जब मैं इसे क्रोम ब्राउज़र पर चलाता हूं, तो आउटपुट होता है: What's your name? false

मैं भ्रमित कर रहा हूं कि वास्तव में setContentLength() की लंबाई की गणना के लिए मीट्रिक क्या है, चाहे वह बाइट, कैरेक्टर या कुछ और हो, और यदि यह शरीर की सामग्री लंबाई निर्धारित करता है, तो response.isCommitted() रिटर्न क्यों false और जिस टेक्स्ट को मैं आउटपुट करना चाहता हूं उसकी लंबाई किसी भी तरह से कम नहीं की गई थी? धन्यवाद।

1
Nam V. Do 9 अगस्त 2020, 11:00

1 उत्तर

सबसे बढ़िया उत्तर

मैं भ्रमित कर रहा हूं कि वास्तव में setContentLength() की लंबाई की गणना के लिए मीट्रिक क्या है, चाहे वह बाइट, कैरेक्टर या कुछ में हो

यह byte में है।

यह या अनुभाग# देखें 14.13 विवरण के लिए विनिर्देश की सामग्री-लंबाई

जब मैं इसे क्रोम ब्राउज़र पर चलाता हूं, तो आउटपुट होता है: आपका क्या है नाम? झूठा

आप जो कह रहे हैं उसकी वैधता पर मुझे संदेह है।

मेरे क्रोम ब्राउज़र का स्क्रीनशॉट नीचे दिया गया है:

enter image description here

मेरे Firefox ब्राउज़र का स्क्रीनशॉट नीचे दिया गया है:

enter image description here

0
Arvind Kumar Avinash 9 अगस्त 2020, 17:40