मैं mvc:resources
(किसी अन्य विधि के लिए खुला) के साथ अपवाद करते समय वसंत एमवीसी नियंत्रक रूट (/**
) पथ (और उप-फ़ोल्डर जैसे "/ कुछ") को मानचित्र करना चाहता हूं। ।रूट पर वसंत एमवीसी वेबसाइट ("/")
यह उस ढांचे का एबीसी होना चाहिए लेकिन स्पष्ट रूप से यह पूछने के लिए एक बहुत ही जटिल चीज है।
मेरे app-servlet.xml
है इन स्पष्ट मानचित्रण अपवाद:
<mvc:resources mapping="/favicon.ico" location="/favicon.ico" />
<mvc:resources mapping="/robots.txt" location="/robots.txt" />
और मैं इस नियंत्रक है: जब मैं "/" या "/ परीक्षण" या "/ परीक्षण/पेज मारा अब
import java.util.Date;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/**")
public class MainController {
@RequestMapping(method = RequestMethod.GET)
public String service(final HttpServletRequest request) {
final String servlet_path = request.getServletPath();
System.out.println(String.format("%s %s", new Date().toString(), servlet_path));
return "test";
}
}
"मुझे आउटपुट मिलता है:
Fri Aug 03 00:22:12 IDT 2012/
Fri Aug 03 00:22:13 IDT 2012 /favicon.ico
.. देखें? service()
को /favicon.ico
के लिए बुलाया जा रहा है, भले ही इसे स्पष्ट रूप से बाहर रखा गया हो!
अब मुझे लगता है कि XML पर @Controller
पर कुछ "प्राथमिकता" है, फिर भी, मैं बहिष्करण कार्य कैसे कर सकता हूं?
एक साधारण आवश्यकता - वेबसाइट "/" पर है।
पीएस This answer एक बहुत ही समान प्रश्न के उत्तर।
एक और नोट: यह प्रश्न टोमकैट संदर्भ के बारे में नहीं है।
आपका समाधान एक ही URL में संदर्भित करता है:एक हैंडलर निर्देशों की घोषणा के क्रम बदल सकते हैं। मुझे इसे जंगली कार्ड होने की ज़रूरत है। यदि आप उदारता से 'mvc: संसाधनों की प्राथमिकता' @ requestMapping' पर बढ़ाने के लिए उदारतापूर्वक विस्तृत कर सकते हैं, तो मैं अनुमान लगा रहा हूं, इसे हल करूँगा। धन्यवाद! – Poni
एक अद्यतन जोड़ा गया –
कार्य - धन्यवाद बिजू! – Poni