2009-09-09 15 views
7

मैंने बस स्प्रिंग वेब एमवीसी के साथ शुरुआत की। मैं यूआरएल में फ़ाइल extenstions से बचने की कोशिश कर रहा हूँ। मैं यह कैसे कर सकता हूँ? (मैं वसंत 2.5.x उपयोग कर रहा हूँ)वसंत एमवीसी; यूआरएल में फाइल एक्सटेंशन से परहेज?

बीन:

<bean name="/hello.htm" class="springapp.web.HelloController"/> 

मैं इसे होना चाहते हैं:

<bean name="/hello" class="springapp.web.HelloController"/> 

मैं यह काम करने के लिए नहीं मिल सकता है। कोई विचार?

संपादित करें:

यूआरएल-मानचित्रण

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

मैं कोई भाग्य के साथ यूआरएल पैटर्न को बदलने की कोशिश की है (* और/*)।

+0

आप इस प्रश्न का उत्तर मिला? मैं वसंत 3.2 – Konza

उत्तर

6
<servlet> 
    <servlet-name>spring-mvc</servlet-name> 
    <servlet-class> 
     org.springframework.web.servlet.DispatcherServlet 
    </servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>spring-mvc</servlet-name> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

फिर आपको किसी विशेष नियंत्रक द्वारा संभालने के लिए अपने यूआरएल पंजीकृत करने की आवश्यकता है। यदि इससे काम नहीं करता है समस्या कहीं और है

<servlet-mapping> 
     <servlet-name>spring-mvc</servlet-name> 
     <url-pattern>/hello</url-pattern> 
</servlet-mapping> 

: देखो निम्नलिखित

http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

+0

धन्यवाद, मैं इसे देख लूंगा। मैं वसंत 2.5.x का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि यह काफी वही है। http://static.springsource.org/spring/docs/2.5.x/reference/mvc.html – Ezombort

+3

यह स्वीकृत उत्तर क्यों है? यह काम नहीं करता। – rustyx

+0

नीचे दिए गए उत्तरों को देखें - '/ 'ठीक काम करता है। –

1

क्या आपने <url-pattern>/*</url-pattern> को सर्वलेट मैपिंग और <bean name="/hello" .../> में आजमाया है?

+0

का उपयोग कर रहा हूं मैंने अभी कोशिश की *, मैं अब/* कोशिश करूंगा। धन्यवाद – Ezombort

+0

काम नहीं लग रहा है। – Ezombort

2

पहले की कोशिश करो। क्या आपका अपाचे उन यूआरएल को टॉमकैट में अग्रेषित करने के लिए स्थापित है? कुछ ऐसा:

JkMount /hello worker1 
+0

यह काम किया, धन्यवाद। क्या आपके पास कोई idèas है क्यों सामान्य यूआरएल पैटर्न काम नहीं करेगा? – Ezombort

8

जहां तक ​​मुझे पता है कि आप यह नहीं कर सकते हैं यदि आप जेएसपी को नियंत्रकों के लिए अपने विचार के रूप में उपयोग कर रहे हैं।

क्योंकि जब आप किसी जेएसपी में मॉडल पास करते हैं, तो स्प्रिंग एमवीसी आंतरिक रूप से जेएसपी के यूआरएल में 'आगे' करता है। यदि आप <url-pattern>/*</url-pattern> का उपयोग करते हैं तो यह अग्रेषण आपके डिस्प्लेर सर्लेट द्वारा भी संभाला जाएगा, न कि आपके जेएसपी व्यू द्वारा।

आप क्या कर सकते <url-pattern>/something</url-pattern> का उपयोग करें और एक अलग निर्देशिका

+0

धन्यवाद, यह बहुत समझाया गया। – Ezombort

9

3.0 में,/काम करने के लिए लगता है में अपने JSP के है। यह है ...

<url-pattern>/</url-pattern> 
4

वसंत 3.2 में, कम से कम स्वीकृत उत्तर बहुत करीब है लेकिन इसकी आवश्यकता नहीं है। नीचे web.xml बिट सिर्फ मेरे लिए काम किया, और मैं यहाँ जो कोई भी इस अगले googles के संदर्भ के लिए धागा में जोड़ने हूँ ...

<servlet-mapping> 
    <servlet-name>springmvc</servlet-name> 
    <url-pattern>/</url-pattern> 
</servlet-mapping> 
संबंधित मुद्दे