Theo hiểu biết của tôi, quy ước này đã được truyền bá bởi Struts1. Hướng dẫn sử dụng đặt nó như thế này:
Lưu ý: Tài liệu trong phần này không dành riêng cho Struts. Cấu hình của ánh xạ servlet được định nghĩa trong Đặc tả Servlet của Java. Phần này mô tả các phương tiện phổ biến nhất để cấu hình một ứng dụng.
Có hai cách tiếp cận phổ biến để xác định các URL sẽ được xử lý bởi bộ điều khiển servlet - đối sánh tiền tố và đối sánh phần mở rộng. Một mục ánh xạ thích hợp cho từng cách tiếp cận sẽ được mô tả dưới đây.
Đối sánh tiền tố có nghĩa là bạn muốn tất cả các URL bắt đầu (sau phần đường dẫn ngữ cảnh) với một giá trị cụ thể được chuyển đến servlet này. Mục nhập như vậy có thể trông như thế này:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>/do/*</url-pattern>
</servlet-mapping>
có nghĩa là một URI yêu cầu khớp với /logon
đường dẫn được mô tả trước đó có thể trông giống như sau:
http://www.mycompany.com/myapplication/do/logon
đâu /myapplication
là đường dẫn ngữ cảnh mà ứng dụng của bạn được triển khai.
Mặt khác, ánh xạ mở rộng đối sánh các URI yêu cầu với servlet hành động dựa trên thực tế là URI kết thúc bằng một dấu chấm theo sau bởi một tập ký tự đã xác định. Ví dụ, servlet xử lý JSP được ánh xạ tới *.jsp
mẫu để nó được gọi để xử lý mọi trang JSP được yêu cầu. Để sử dụng *.do
tiện ích mở rộng (ngụ ý "làm điều gì đó") , mục nhập ánh xạ sẽ trông giống như sau:
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
và một URI yêu cầu khớp với
/logon
đường dẫn được mô tả trước đó có thể trông giống như sau:
http://www.mycompany.com/myapplication/logon.do
CẢNH BÁO - Khung sẽ không hoạt động chính xác nếu bạn xác định nhiều <servlet-mapping>
phần tử cho servlet bộ điều khiển.
CẢNH BÁO - Nếu bạn đang sử dụng hỗ trợ mô-đun mới kể từ phiên bản 1.1, bạn nên biết rằng chỉ hỗ trợ ánh xạ mở rộng.