Sử dụng Tomcat 7 --- Thủ thuật 3.4.1 --- mặt javax 2.1.17 --- prettyfaces-jsf2 3.3.3sử dụng khuôn mặt đẹp với bộ lọc web
Tôi đã định cấu hình khuôn mặt khá đẹp trên dự án của mình nhưng bộ lọc web không hoạt động với các url mới được viết bởi khuôn mặt đẹp.
Dưới đây là một ví dụ khá-config.xml
<url-mapping id="home">
<pattern value="/home"/>
<view-id value="/secure/homepage.xhtml"/>
</url-mapping>
<url-mapping id="register">
<pattern value="/register"/>
<view-id value="/public/register.xhtml"/>
</url-mapping>
<url-mapping id="welcome">
<pattern value="/"/>
<view-id value="/public/welcome.xhtml"/>
</url-mapping>
<url-mapping id="profile">
<pattern value="/profile/#{userId}"/>
<view-id value="/profile.xhtml"/>
</url-mapping>
đăng nhập (chào đón) và đăng ký trang sau nằm trong thư mục "công cộng", và bộ lọc web của họ được định nghĩa với chú thích: @WebFilter ("/ công/* ")
cho trang chủ trong thư mục" an toàn "(chính xác sẽ có nhiều trang trong thư mục), tôi cũng đã xác định bộ lọc web và chú thích của nó: @WebFilter ("/secure/*)
các url đẹp đang hoạt động tốt, nhưng các bộ lọc này chỉ hoạt động khi tôi viết các url gốc.
1) Làm cách nào để sửa chữa bộ lọc web của tôi?
2) Tôi cũng muốn chặn người dùng nhập url gốc. Tôi biết rằng khuôn mặt xinh đẹp đang ẩn hoàn toàn các url gốc nhưng có cách nào để làm điều đó không?
- SOLVED - cảm ơn cho BalusC
nếu bạn định nghĩa các bộ lọc của bạn với các chú thích, bạn có thể cấu hình cài đặt điều phối như
@WebFilter (urlPatterns = "/ công cộng/*", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD})
Tôi không chỉ định bất kỳ bộ lọc nào trong web.xml, BalusC. Bởi vì tôi đang sử dụng phiên bản = "3.0" và khá là tự cấu hình tự động như được viết trong tài liệu.Các bộ lọc web của tôi cũng được xác định rõ ràng bằng chú thích. Tôi có định nghĩa nó trực tiếp trên web.xml cho các thiết lập điều phối không? – oko
Chỉ cần sử dụng '@WebFilter (dispatcherTypes)'. Xem câu trả lời được cập nhật. – BalusC
cảm ơn bạn @ BalusC, nó hoạt động rất tốt. @WebFilter (urlPatterns = "/ public/*", dispatcherTypes = {DispatcherType.REQUEST, DispatcherType.FORWARD}) giải quyết được sự cố của tôi. Nhưng tôi muốn hỏi một câu hỏi nhỏ, cập nhật hoặc làm mới cùng một trang (ví dụ bằng cách sử dụng thăm dò ý kiến thủ tướng) luôn luôn bị bắt bởi các bộ lọc và thực sự hoàn toàn bình thường của nó. Nhưng có cách nào để thoát khỏi nó? – oko