Servlet की doGet () - विधि में वापसी मान के बजाय पैरामीटर के रूप में प्रतिक्रिया क्यों होती है?

मैंने इससे पहले कभी सवाल नहीं किया, लेकिन क्यों

public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException{}

के बजाय

public HttpServletResponse doGet(HttpServletRequest request)
    throws ServletException, IOException{}

?

दूसरा संस्करण अर्थपूर्ण रूप से अधिक समझ नहीं लेगा?

2
जोड़ा संपादित
विचारों: 1
@ बाल्लूसी मैं एक सर्वलेट बनाने का इरादा नहीं रखता हूं। मैं आज कुछ Servlet-code भर में ठोकर खाई और यह सवाल मेरे दिमाग में आया।
जोड़ा लेखक Lester, स्रोत
@ बालुससी मैंने उस पर और सोच नहीं दी। ऑरेंज डॉग ने कहा यह काफी जटिल है जो मुझे विश्वास है। मुझे यकीन नहीं है कि इसमें गहराई से जाने के लिए बहुत समझदारी होती है। मुख्य रूप से मैं सिर्फ यह जानना चाहता था कि क्यों एक सामान्य doGet() -method पैरामीटर के रूप में अनुरोध प्राप्त करने, इसे संसाधित करने और प्रतिक्रिया को वापस करने के बजाय, जैसा कि मैं मानता हूं, जैसा कि बनाया गया है, अर्थपूर्ण रूप से अधिक समझ बनाओ। लेकिन ऑरेंज कुत्ते की व्याख्या समझ में आता है। तुम क्य
जोड़ा लेखक Lester, स्रोत
आप इसे बनाने का इरादा कैसे रखते थे? आप कंटेनर से बने एक का उपयोग क्यों नहीं करेंगे?
जोड़ा लेखक BalusC, स्रोत
मेरा मतलब है, आप HttpServletResponse का उदाहरण बनाने का इरादा कैसे रखते हैं?
जोड़ा लेखक BalusC, स्रोत
शायद प्रतिक्रिया को समाप्त करने के लिए डूगेट की सभी प्रसंस्करण के इंतजार के बजाय प्रतिक्रिया को एक अलग थ्रेड में एसिंक्रोनसली टुकड़े टुकड़े फैशन भेजा जा सकता है। यह नहीं कह सकता कि मैं इसके बारे में निश्चित हूं।
जोड़ा लेखक Jaydee, स्रोत

1 उत्तर

HttpServletResponse is a rather complicated class, requiring you to know about connection sockets and such. If you had to return one, most of the code would be the same boilerplate to construct it. Instead the servlet container does this work for you, giving you a ready-to-use object with a variety of useful working methods.

अब अगला सवाल यह है कि उन्होंने एक जटिल वस्तु HttpServletResponse बनाने का निर्णय क्यों लिया और न केवल आपने एक साधारण POJO वापस कर दिया है। ठीक है, एक आर्किटेक्चर आपको किसी भी स्ट्रीमिंग प्रतिक्रिया करने की अनुमति नहीं देगा जहां आप सभी डेटा रखने से पहले लिखना शुरू करते हैं।

6
जोड़ा