2013-03-04 17 views
12

To mój web.xml:Dlaczego FacesServlet nie może mieć wzorca url/*.?

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

Kiedy przejdź do:

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

widzę strony dobrze, jednak kiedy przejdź do:

http://localhost:8080/LearningRoot/ 

I Uzyskaj błąd:

An Error Occurred:

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

Ale dlaczego?

A to moja powitanie file:

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

próbowałaś /*.* –

+2

@ KeremBaydoğan pan spróbować w rzeczywistej aplikacji sieci web Java? –

+0

nope :) To było tylko odgadnięcie :) –

Odpowiedz

18

Bo to oznaczałoby Wszystko że kiedykolwiek uderzy że kontekst root będą obsługiwane przez FacesServlet, wymóg FacesServlet już wie, że nie mógłby spełniać (To oczywiście nie ma sensu).

Aby osiągnąć mapowanie zamierzają użyj .xhtml mapowanie na FaceServlet

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

Jesteś pewien? Ponieważ działa, jeśli jest to/just/zamiast/* –

+2

@KorayTugay '/' spowoduje, że będzie domyślnym plikiem 'index' na standardowe przetwarzanie aplikacji webapp. '/ *' jest niejednoznacznym odniesieniem – kolossus