2013-08-22 6 views
6

यह मेरा परियोजना संरचना है

enter image description hereवसंत MVC: संसाधनों टैग और 404 त्रुटि मैं टैग <code><mvc:resources></code></p> <p>उपयोग करने के लिए कोशिश कर रहा हूँ

क्या मैं चाहता हूँ js फ़ोल्डर और सीएसएस में जावास्क्रिप्ट का उपयोग करने के लिए है शैलियों फ़ोल्डर में
हालांकि, जब भी मैं अपने डिस्पैचर-servlet.xml में जोड़ना

<mvc:resources mapping="/resources/**" location="/"/> 

मैं गया त्रुटि 404, जब प्रोजेक्ट को चलाने

यह मेरा डिस्पैचर-servlet.xml कोड

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:p="http://www.springframework.org/schema/p" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:tx="http://www.springframework.org/schema/tx" 
     xmlns:context="http://www.springframework.org/schema/context" 
     xmlns:mvc="http://www.springframework.org/schema/mvc" 
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd 
     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd 
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd 
     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd"> 

    <context:component-scan base-package="com.swcommodities.wsmill.controller"/> 

    <mvc:resources mapping="/resources/**" location="/"/> 

    <bean id="viewResolver" 
      class="org.springframework.web.servlet.view.InternalResourceViewResolver" 
      p:prefix="/WEB-INF/" 
      p:suffix=".jsp" /> 
    <tx:annotation-driven/> 
    . 
    . 
    . 
</beans> 

है इस वेब है (परियोजना login.htm को जो login.jsp पेज है रीडायरेक्ट करेगा) .xml

<context-param> 
     <param-name>contextConfigLocation</param-name> 
     <param-value>/WEB-INF/applicationContext.xml</param-value> 
    </context-param> 
    <listener> 
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> 
    </listener> 
    <servlet> 
     <servlet-name>dispatcher</servlet-name> 
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
     <load-on-startup>2</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
     <servlet-name>dispatcher</servlet-name> 
     <url-pattern>/</url-pattern> 
    </servlet-mapping> 
    <session-config> 
     <session-timeout> 
      30 
     </session-timeout> 
    </session-config> 
    <welcome-file-list> 
     <welcome-file>redirect.jsp</welcome-file> 
    </welcome-file-list> 

कारण है कि मैं लाइन <mvc:resources... परियोजना को सही ढंग से चलाने हटाना मैं नहीं जानता, लेकिन जब परियोजना के लिए यह एक जोड़ने के लिए, मैं 404 त्रुटि तुरंत मिलता है। मुझे लगता है कि यह वर्तमान परियोजना के साथ कुछ संघर्ष करता है।

<mvc:resources mapping="/js/**" location="/js/" /> 
<mvc:resources mapping="/styles/**" location="/styles/" /> 

और उन्हें jsp में लोड:

<script type="text/javascript" src="/js/file.js"></script> 
<link type="text/css" href="/styles/file.css" /> 
+0

आप एक वैध उत्तर के लिए सटीक हैं। आपने लिखा "मुझे परियोजना चलाने पर त्रुटि 404 मिली" - आप किस यूआरएल का अनुरोध कर रहे हैं ?! और आप किस फ़ाइल (स्थान) की अपेक्षा करते हैं? – Ralph

+0

आपने ब्राउज़र में किस यूआरएल को मारा था और हमें आपकी बीन कॉन्फ़िगरेशन फ़ाइल –

+0

की आवश्यकता होगी, इसके लिए खेद है, प्रोजेक्ट चलाते समय, यह login.htm पर रीडायरेक्ट होगा जिसका मतलब login.jsp पेज है। –

उत्तर

-1

के बाद से संसाधन फ़ाइलों गुना js और शैलियों में कर रहे हैं, आप के लिए मानचित्रण बदलने की जरूरत है स्थान विशेषता, इस तरह:

<mvc:resources mapping="/resources/js/**" location="/js/" /> 

एक अलग नोट, मैं आपको अपने संसाधनों को सभी में रखने की सलाह दूंगा एक फ़ोल्डर सभी एक साथ, उदाहरण के लिए "संपत्ति", क्योंकि आपके वर्तमान सेटअप में एक दुर्भावनापूर्ण उपयोगकर्ता WEB-INF के तहत कुछ भी एक्सेस कर सकता है/जो स्पष्ट रूप से आप नहीं चाहते हैं।

अगर यह काम करता है तो मुझे बताएं।

अयमान

1

आप में पूर्ण पथ निर्धारित करने की आवश्यकता

+1

वेब-आईएनएफ फ़ोल्डर के बारे में नोट गलत है !, क्योंकि स्प्रिंग्स 'रिसोर्स एचटीपीआरक्वेट हैंडलर' संसाधन वापस नहीं करता है अगर अनुरोधित पथ में 'वेब-आईएनएफ', 'मेटा-आईएनएफ' या प्रभावी पथ ".." से शुरू होता है! ('संसाधन HttpRequestHandler.isValidPath (स्ट्रिंग) में लागू किया गया ') – Ralph