एक स्प्रिंग बूट वेब एप्लिकेशन का उपयोग करके मैं अपने प्रोजेक्ट के बाहर एक फाइल सिस्टम फ़ोल्डर से अपने स्थिर संसाधन की सेवा करने की कोशिश कर रहा हूं।फाइल सिस्टम से स्टेटिक संसाधनों की सेवा | स्प्रिंग बूट वेब
src
main
java
resources
test
java
resources
pom.xml
ext-resources (I want to keep my static resources here)
test.js
स्प्रिंग विन्यास: - -:
@SpringBootApplication
public class DemoStaticresourceApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(DemoStaticresourceApplication.class, args);
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/test/**").addResourceLocations("file:///./ext-resources/")
.setCachePeriod(0);
}
}
साधते 'http://localhost:9999/test/test.js' अपने ब्राउज़र में वापस देता है एक 404.
मैं कैसे करने के लिए ResourceHandlerRegistry कॉन्फ़िगर करना चाहिए
फ़ोल्डर संरचना की तरह दिखता है उपर्युक्त 'एक्सटी-संसाधन' फ़ोल्डर से स्थिर संसाधनों की सेवा करें?
मैं देव/प्रोड पर्यावरण के लिए कैश चालू/बंद स्विच करने में सक्षम होना चाहिए।
धन्यवाद
अद्यतन 1
पूर्ण फ़ाइल पथ देते काम करता है: -
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/test/**")
.addResourceLocations(
"file:///C:/Sambhav/Installations/workspace/demo-staticresource/ext-resources/")
.setCachePeriod(0);
}
मैं कैसे सापेक्ष स्थान प्रदान कर सकते हैं? पूर्ण पथ & तैनाती प्रक्रिया के निर्माण के दौरान मेरे जीवन को कठिन बना देगा।
के साथ अपना वेबपैप शुरू करें क्या आपने पूर्ण पथ की कोशिश की है? (और शायद आपके यूआरएल में सिर्फ एक '/' अधिक है :)) – sodik
पूर्ण पथ काम करता है। अद्यतन प्रश्न देखें। क्या सापेक्ष पथ प्रदान करने का कोई तरीका है? –
इसे बनाएं :) उदा। फ़ाइल ("ext-resource")। GetAbsoluteFile()। ToURI ... उचित वाक्यविन्यास के लिए javadoc जांचें – sodik