2013-03-04 26 views
12

Đây là web.xml của tôi:Tại sao FacesServlet không thể có mẫu url/*.?

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

Khi tôi hướng tới:

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

tôi có thể thấy trang tốt, tuy nhiên khi tôi hướng tới:

http://localhost:8080/LearningRoot/ 

tôi gặp lỗi:

An Error Occurred:

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

Nhưng tại sao?

Và đây là tập tin chào đón tôi:

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

bạn đã thử /*.* –

+2

@ KeremBaydoğan bạn đã thử nó trong một ứng dụng web thực Java? –

+0

nope :) Đó chỉ là một dự đoán :) –

Trả lời

18

Bởi vì điều đó có nghĩa Tất cả mọi thứ rằng bao giờ chạm rằng bối cảnh gốc sẽ được xử lý bởi FacesServlet, một yêu cầu mà FacesServlet đã biết nó không thể có khả năng thực hiện (Nó rõ ràng là không có ý nghĩa).

Để đạt được các bản đồ bạn có ý định, sử dụng một ánh xạ .xhtml trên FaceServlet

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

Bạn có chắc chắn không? Bởi vì nó hoạt động nếu nó chỉ là/thay vì/* –

+2

@KorayTugay '/' sẽ cho phép nó mặc định cho tệp 'index' trên mỗi xử lý webapp chuẩn. '/ *' là một tham chiếu mơ hồ – kolossus