2009-01-19 39 views
8

Tôi muốn chỉ định mẫu URL Servlet để khớp với URL kết thúc bằng dấu gạch chéo ("/") và chỉ dấu gạch chéo.Mẫu URL Servlet để khớp với URL kết thúc bằng dấu gạch chéo ("/")

Tôi hiểu rằng mô hình

 /example/path/*

sẽ phù hợp với một URL của

 http://example.com/example/path/

và điều này dường như làm việc. Tuy nhiên, đó mô hình tương tự cũng sẽ phù hợp với URL của

 http://example.com/example/path/a/ 
    http://example.com/example/path/b/ 
    http://example.com/example/path/c/

Tôi chỉ đơn thuần là tìm kiếm một mẫu URL mà sẽ phù hợp với http://example.com/example/path/ chỉ mà không có cũng phù hợp với http://example.com/example/path/a/ và vân vân.

Làm rõ: mẫu URL kết thúc bằng dấu gạch chéo không được phép.

+0

Bạn đã thử không có dấu sao sau? Ví dụ: /example/ –

+0

Có, tôi đã thử điều này. NetBeans cho tôi biết một mẫu URL kết thúc bằng dấu gạch chéo không được phép. –

Trả lời

8

Có thể bạn không thể làm điều này bằng cách ánh xạ trong web.xml.

Điều bạn có thể làm là ánh xạ servlet đến/mypath/* và sau đó kiểm tra phần sau/mypath/qua request.getPathInto(). Nếu đó là "/", hãy chạy mã của bạn. Nếu không, hãy trả lại lỗi 404.

1

Trong NetBeans, nếu tôi chuyển đến tab Servlets trên tệp web.xml, IDE sẽ khiếu nại, "Lỗi: mẫu URL không thể kết thúc bằng dấu gạch chéo (/)". Từ số URL spec, số lượt đọc,

httpurl  = "http://" hostport [ "/" hpath [ "?" search ]] 
hpath   = hsegment *[ "/" hsegment ] 

Vì vậy, có URI có dấu gạch chéo cuối không hợp lệ.

Các vấn đề liên quan