Servlet-mapping này có hai thẻ con, url-pattern và servlet-name. url-pattern chỉ định loại url mà servlet được cung cấp trong tên servlet nên được gọi. Lưu ý rằng, vùng chứa sẽ sử dụng phân biệt chữ hoa chữ thường để so sánh chuỗi cho khớp nối servlet.
Đặc điểm kỹ thuật đầu tiên củaurl-pattern
một tệp web.xml
cho ngữ cảnh máy chủ trên thùng chứa servlet tại máy chủ.com phù hợp với mô hình trong <url-pattern>/status/*</url-pattern>
như sau:
http://server.com/server/status/synopsis = Matches
http://server.com/server/status/complete?date=today = Matches
http://server.com/server/status = Matches
http://server.com/server/server1/status = Does not match
đặc điểm kỹ thuật thứ hai củaurl-pattern
Một bối cảnh nằm ở đường dẫn/ví dụ trên Agent tại example.com phù hợp với mô hình trong <url-pattern>*.map</url-pattern>
như sau:
http://server.com/server/US/Oregon/Portland.map = Matches
http://server.com/server/US/server/Seattle.map = Matches
http://server.com/server/Paris.France.map = Matches
http://server.com/server/US/Oregon/Portland.MAP = Does not match, the extension is uppercase
http://example.com/examples/interface/description/mail.mapi =Does not match, the extension is mapi rather than map`
Đặc tả thứ ba củaurl-mapping
, Ánh xạ chứa mẫu <url-pattern>/</url-pattern>
khớp với yêu cầu nếu không có mẫu nào khác khớp. Đây là ánh xạ mặc định. Servlet được ánh xạ tới mẫu này được gọi là servlet mặc định.
Ánh xạ mặc định thường được chuyển hướng đến trang đầu tiên của ứng dụng. Việc cung cấp ánh xạ mặc định cũng đảm bảo rằng các yêu cầu URL không đúng định dạng trong ứng dụng trả lại được ứng dụng xử lý thay vì trả về lỗi.
Phần tử bản đồ servlet bên dưới ánh xạ trường hợp servlet server
vào bản đồ mặc định.
<servlet-mapping>
<servlet-name>server</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
Đối với ngữ cảnh chứa phần tử này, mọi yêu cầu không được xử lý bởi ánh xạ khác được chuyển tiếp đến server
servlet.
Và Quan trọng nhất là chúng ta nên biết về Rule cho đường dẫn URL mapping
- Các container sẽ cố gắng tìm một kết hợp chính xác của con đường của yêu cầu đến đường dẫn của servlet. Một trận đấu thành công sẽ chọn servlet.
- Vùng chứa sẽ đệ quy cố gắng khớp với tiền tố đường dẫn dài nhất. Điều này được thực hiện bằng cách đẩy cây thư mục xuống từng lần một, sử dụng ký tự '/' làm dấu tách đường dẫn. Trận đấu dài nhất xác định servlet được chọn.
- Nếu đoạn cuối cùng trong đường dẫn URL chứa phần mở rộng (ví dụ: .jsp), thùng chứa servlet sẽ cố gắng khớp với một servlet xử lý các yêu cầu cho phần mở rộng. Tiện ích mở rộng được định nghĩa là một phần của phân đoạn cuối cùng sau ký tự '. ’Cuối cùng.
- Nếu cả ba quy tắc trước đó đều không khớp với servlet, vùng chứa sẽ cố gắng phân phát nội dung phù hợp với tài nguyên được yêu cầu. Nếu một servlet “mặc định” được định nghĩa cho ứng dụng, nó sẽ được sử dụng.
Reference URL Pattern
đầu tiên đọc servlet đặc điểm kỹ thuật và ánh xạ. Tham khảo câu trả lời được đưa ra bởi @var_. Nếu bạn lại gặp phải sự cố hoặc ngoại lệ, hãy dán ngoại lệ được đề cập, Cộng đồng sẽ cố gắng gỡ lỗi sự cố. –
Bạn nên chấp nhận câu trả lời để cho cộng đồng hưởng lợi từ nó. –