2013-03-04 10 views
12

यह मेरा web.xml है:क्यों FacesServlet में/*। का यूआरएल-पैटर्न नहीं हो सकता है?

<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet> 
    <url-pattern>/*</url-pattern> 
</servlet-mapping> 

जब मैं पर जाएँ:

http://localhost:8080/LearningRoot/ 

मैं:

http://localhost:8080/LearningRoot/index.xhtml 

जब मैं करने के लिए नेविगेट मैं पृष्ठ देख सकते हैं ठीक है, तथापि त्रुटि प्राप्त करें:

An Error Occurred:

The FacesServlet cannot have a url-pattern of /*. Please define a different url-pattern.

लेकिन क्यों?

और ये मेरे स्वागत फ़ाइल है:

<welcome-file-list> 
    <welcome-file>/index.xhtml</welcome-file> 
</welcome-file-list> 
+0

पर एक .xhtml मैपिंग का उपयोग आप /*.* –

+2

का प्रयास किया @ KeremBaydoğan आप यह एक वास्तविक जावा वेब अनुप्रयोग में कोशिश की थी? –

+0

नहीं :) यह सिर्फ एक अनुमान था :) –

उत्तर

18

क्योंकि वह सब कुछ कि कभी भी हिट है कि संदर्भ जड़ FacesServlet द्वारा नियंत्रित किया जाएगा, एक आवश्यकता है कि FacesServlet पहले से ही जानता है कि यह संभवतः को पूरा नहीं कर सकता है मतलब होगा (यह स्पष्ट रूप से समझ में नहीं आता है)।

मानचित्रण आप का इरादा को प्राप्त करने, FaceServlet

<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>*.xhtml</url-pattern> 
</servlet-mapping> 
+0

क्या आप निश्चित हैं? क्योंकि यह काम करता है अगर यह/* –

+2

@ कोरे टुगे '/ 'के बजाय बस/मानक प्रतिलिपि प्रति इंडेक्स फ़ाइल को डिफ़ॉल्ट रूप से दे देगा। '/ *' एक संदिग्ध संदर्भ है – kolossus

संबंधित मुद्दे