मैं जावा एंटरप्राइज़ और स्प्रिंग के लिए नया हूं लेकिन मुझे मानक जावा का एक मजबूत समझ है। मैं एक मौजूदा वेब अनुप्रयोग परियोजना के माध्यम से देख रहा हूँ। प्रोजेक्ट टॉमकैट/स्प्रिंग/हाइबरनेट का उपयोग करता है जो मैं समझता हूं कि काफी आम है। यह रिमोट विधि आमंत्रण के लिए डीडब्लूआर का भी उपयोग करता है। मुझे जिम्मेदारियों को अलग करना मुश्किल हो रहा है: टॉमकैट क्या जिम्मेदार है, किस वसंत के लिए ज़िम्मेदार है, एक अनुरोध दूसरे से कैसे मिलता है, और कैसे वसंत के प्रमुख टुकड़े एक साथ फिट होते हैं। मैंने वसंत पर विशेष रूप से सेम और बीन कारखाने के बारे में बहुत सारे दस्तावेज पढ़े हैं और अभी भी और पढ़ने की प्रक्रिया में हैं। आपके पास किसी भी सलाह का स्वागत होगा, लेकिन मैं कुछ विशिष्ट प्रश्न प्रदान करूंगा।क्या कोई स्प्रिंग web.xml फ़ाइल समझा सकता है?
प्रश्न 1: कहाँ web.xml चीजों में फिट करता है (जब यह प्रयोग किया जाता है/कहा जाता है, और कहाँ से कहा जाता है)?
कोड का नमूना 1:
<servlet>
<servlet-name>qrst</servlet-name>
<display-name>qrst Servlet</display-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
ऊपर टुकड़ा क्या करता है (या, क्या यह तो होना ही कारण नहीं है)? मेरे वेब ऐप में किसी बिंदु पर qrst.jsp का उपयोग किया जाता है; क्या यह DispatcherServlet है जो servlet नाम का उपयोग कर qrst.jsp को कॉल करता है? अन्यथा सर्वलेट नाम का महत्व क्या है? स्टार्टअप पर लोड क्या है?
कोड का नमूना 2:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/someLocation/some-servlet.xml
</param-value>
</context-param>
लिंक या क्या ऊपर करता है की व्याख्या? मैं एक्सएमएल फ़ाइल को देखने से देख सकता हूं जिसमें इसमें बीन परिभाषाएं हैं और मैं समझता हूं कि बीन्स क्या हैं और उनका उपयोग कैसे किया जाता है, लेकिन मुझे इसके बारे में कोई अन्य जानकारी नहीं है और मैं चाहूंगा।
कोड का नमूना 3:
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<display-name>DWR</display-name>
<servlet-class>
org.directwebremoting.servlet.DwrServlet
</servlet-class>
<init-param>
<param-name>classes</param-name>
<param-value>
somepackage.someclass
</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
मैं क्या सेम के बारे में पढ़ा से, मेरा मानना है कि उन init-परम तत्व बस पैरामीटर सर्वलेट का जावा वर्ग में तैयार हो जाओ है। सर्वलेट नाम का महत्व क्या है, और स्टार्टअप पर लोड के बारे में क्या? वेब ऐप किसी भी तरह से "जानता है" जब एक AJAX (dwr) कॉल बनाम हो रहा है जब वेब ऐप पहली बार लोड किया जा रहा है (जब पहली बार लोड हो रहा है तो इसे qrst.jsp का उपयोग करना चाहिए)। यह कैसे पता है? Qrst.jsp के बजाय अनुरोध को डीडब्लूआर को रूट करने का निर्णय कैसे लेता है? यह कहां करता है?
धन्यवाद।
धन्यवाद मदद के लिए बहुत कुछ। मेरे पास qrst और dwr-invoker दोनों के लिए परिभाषित एक सर्वलेट-मैपिंग है, तो आप जो कह रहे हैं वह मुझे समझ में आता है! हालांकि, ब्राउजर के एड्रेस बार में यूआरएल हमेशा दिखता है: यह हमेशा qrst servlet का आह्वान करेगा।अनुरोध करने से पहले जावास्क्रिप्ट कोड में यूआरएल सेट कर सकता है? मैंने पहले ही इसे थोड़ा सा देखा है लेकिन ऐसा कुछ भी नहीं दिख रहा है, अगर मैं सही रास्ते पर हूं तो मैं देख रहा हूं। – KyleM
कुछ-servlet.xml में, एक विशेषता "वर्ग" वाले दो तत्व होते हैं जिनमें "नियंत्रक" होता है। एक मुख्य है, और दूसरा डीडब्लूआर के लिए है! तो ऐसा लगता है कि डिस्पैचर सर्वलेट शायद उचित विकल्प चुनने के लिए चुनता है, क्या वह समझदार लगता है? और मुझे अभी घर जाना है, लेकिन मैं सोमवार को आपके लिंक एप को देखूंगा। मदद के लिए एक लाख धन्यवाद, मैं वास्तव में आपको यह नहीं बता सकता कि मैं इसकी कितनी सराहना करता हूं। – KyleM
सभी मदद के लिए धन्यवाद, मैं आपको यह नहीं बता सकता कि मैं इसकी कितनी सराहना करता हूं, मैं आपकी महान पोस्ट के परिणामस्वरूप उपयुक्त विषयों का अध्ययन करने में सक्षम हूं। @Everyone - HttpFox का उपयोग करके पता चला है कि "/ dwr" AJAX कॉल निष्पादित होने पर URL को पोस्ट किया जा रहा है। सर्वलेट मैपिंग के बारे में लियोनेल का बयान स्पॉट था। अब यह पता लगाने की बात है कि यूआरएल कैसे पोस्ट किया जाता है (क्योंकि मुझे नहीं लगता कि यह कहां सेट है ...)। मैं कुछ उपयोगी दस्तावेज के साथ मूल प्रश्न अद्यतन कर रहा हूं। – KyleM