/ / मौजूदा आवेदन के साथ स्प्रिंग एमवीसी को एकीकृत करना - वसंत, वसंत-एमवीसी

मौजूदा आवेदन के साथ वसंत एमवीसी एकीकृत - वसंत, वसंत-एमवीसी

मैं अपने मौजूदा एप्लिकेशन के साथ स्प्रिंग एमवीसी को एकीकृत करने की कोशिश कर रहा हूं। मौजूदा एप्लिकेशन में संदर्भ रूट के रूप में है PORTAL यहाँ मेरी स्प्रिंग MVC सेटिंग है web.xml है

<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>

सब कुछ ठीक काम करता है और मैं स्प्रिंग एमवीसी के माध्यम से पृष्ठों तक पहुंचने में सक्षम हूं। पेज से डेटा मिलता है Controller लेकिन पृष्ठों में css, img और js फाइलें लोड नहीं होती हैं।
अनुप्रयोग फ़ोल्डर संरचना है

src
webapps
-css
-img
-js
-WEB-INF
--jsp

JSP

<link rel="stylesheet" type="text/css" href="css/bootstrap.css"/>
<link rel="stylesheet" type="text/css" href="css/poc.css"/>
<script src="/images/js/jquery.js"></script>
<script src="js/bootstrap.js"></script>

त्रुटि

    No mapping found for HTTP request
with URI [/PORTAL/css/bootstrap.css] in DispatcherServlet with name "spring"

उत्तर:

जवाब के लिए 2 № 1

जैसा कि स्प्रिंग MVC URL पैटर्न और हर पर काम करता हैक्लाइंट से आई इमेज और रिसोर्स के लिए रिक्वेस्ट अलग से रिक्वेस्ट है, इसलिए स्प्रिंग को पहचानने के लिए "/bootstrap.css" के लिए मैचिंग पैटर्न मिल रहा है।

और इस के खिलाफ कोई संसाधन मैप नहीं किया गया है यही कारण है कि आपको यह त्रुटि मिल रही है।

आप स्प्रिंग कह सकते हैं कि ये मेरे संसाधन हैं और किसी भी मैपिंग खोजने के लिए नहीं जाते हैं, अगर अनुरोध उल्लेख URL के साथ आता है।

स्प्रिंग-सर्वलेट.एक्सएमएल फ़ाइल में नीचे की रेखा डालें।

<mvc:resources mapping="/PORTAL/css/" location="/PORTAL/css/" cache-period="0" />

यह आपको सीएसएस लोड करने की त्रुटियों से छुटकारा पाने में मदद करेगा। लेकिन js और छवि के लिए समस्या अभी भी है, इसलिए सभी संसाधनों को एक संसाधन फ़ोल्डर में रखने का प्रयास करें और नीचे दिए गए की तरह मैपिंग दें,

<mvc:resources mapping="/resources/**" location="/resources/" cache-period="0" />

इसके अलावा, इस xsd को xml फ़ाइल में आयात करें,

    http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">

उम्मीद है की यह मदद करेगा।


जवाब के लिए 0 № 2

आप गायब हैं ContextPath रेफर करते समय js तथा css फ़ाइलें।

नीचे उल्लेख के रूप में संसाधन संदर्भ उपसर्ग करें

<script src="${pageContext.request.contextPath}js/jquery.js"></script>


जवाब के लिए 0 № 3

मेरे लिए समस्या यह है कि आप सब कुछ के लिए SpringDispatcherServlet मैप करें ( <url-pattern>/</url-pattern> )। आप इसे केवल एक प्रकार के संसाधन के लिए मैप कर सकते हैं और फिर सर्वर को अन्य प्रकारों पर कार्य करने देते हैं। उदाहरण :

<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>

तब आप सभी सीएसएस, चित्र, वीडियो, एप्लेट जार आदि को सर्वर द्वारा सीधे सेवा प्रदान करते हैं, जबकि यूरल्स फिनिशिंग के साथ .htm स्प्रिंग एमवीसी द्वारा सेवा दी जाएगी।

यदि आपको आवश्यकता है, तो आप डिस्पैचर सर्वलेट के लिए कई सर्वलेट मैपिंग को भी परिभाषित कर सकते हैं।