2012-06-13 16 views
14

में वेब.एक्सएमएल में ContextLoaderListener को जोड़ने के लिए मैं स्प्रिंग एमवीसी पर नया हूं। मेरे पास एक वेब एप्लीकेशन है।स्प्रिंग एमवीसी

<welcome-file-list> 
    <welcome-file>list.html</welcome-file> 
</welcome-file-list> 
<servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>spring</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 


मैं web.xml फ़ाइल में निम्न पंक्ति जोड़ने की आवश्यकता है: मैं निम्नलिखित विन्यास है?

<listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 
+2

क्या यह इसके साथ या बिना काम करता है? बस ':) कोशिश करने की जरूरत है – sp00m

उत्तर

21

हाँ आप web.xml में ContextLoaderListener जोड़ने के लिए, केवल यदि आप अन्य वसंत संदर्भ एक्सएमएल फ़ाइलें रूप में अच्छी तरह एप्लिकेशन लोड हो रहा है लोड करना चाहते है और आपको उन्हें

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value> 
     /WEB-INF/spring-security.xml 
    </param-value> 
</context-param> 
13

के रूप में निर्दिष्ट कर सकते हैं केवल अगर आपके पास दो कॉन्फ़िगरेशन xml फ़ाइलें हैं। एक सेवा/डीएओ और नियंत्रक के साथ एक के साथ। यदि आपने एक वसंत कॉन्फ़िगरेशन फ़ाइल में सबकुछ कॉन्फ़िगर किया है तो आपको ContextLoaderListener की आवश्यकता नहीं है, केवल प्रेषक सर्वलेट पर्याप्त है।

कॉन्फ़िगरेशन को दो में विभाजित करने और वेब अनुप्रयोग अनुप्रयोग संदर्भ बनाने के लिए रूट एप्लिकेशन संदर्भ और प्रेषक सर्वलेट बनाने के लिए ContextLoaderListener का उपयोग करने की अनुशंसा की जाती है।

3
<servlet> 
     <servlet-name>spring</servlet-name> 
     <servlet-class> 
      org.springframework.web.servlet.DispatcherServlet 
     </servlet-class> 
     <init-param> 
      <param-name>contextConfigLocation</param-name> 
      <param-value>classpath:applicationContext.xml,WEB-INF/spring-security.xml</param-value> 
     </init-param> 
     <load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>spring</servlet-name> 
     <url-pattern>UR_PATTERN</url-pattern> 
    </servlet-mapping> 

यह मेरे लिए ठीक काम करता है।

4

यह वैकल्पिक है, आपको बस स्प्रिंग एमवीसी (DispatcherServlet करेगा) के लिए वास्तव में इसकी आवश्यकता नहीं है। लेकिन अपने स्प्रिंग MVC में जोड़ने से वसंत सुरक्षा

<listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
</listener> 

बस एक टिप्पणी के साथ किया जाना चाहिए, ContextLoaderListener का उपयोग कर यदि आप DelegatingFilterProxy जोड़ना होगा: रूप में अच्छी तरह

<listener> 
    <listener-class> 
     org.springframework.web.context.ContextLoaderListener 
    </listener-class> 
</listener> 

<filter> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>springSecurityFilterChain</filter-name> 
    <url-pattern>/admin</url-pattern> 
</filter-mapping> 

<context-param> 
    <param-name>contextConfigLocation</param-name> 
    <param-value>  
    /WEB-INF/spring-security.xml 
    </param-value> 
</context-param> 
अपने web.xml में

। चार साल बहुत देर हो जाने के लिए खेद है। चीयर्स

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