Memahami pencocokan pola URL di servlet dan filter [duplikat]

Saya memiliki keraguan dalam memahami bagaimana nilai dalam <url-pattern> ditafsirkan agar cocok dengan <servlet-mapping> atau <filter-mapping>. Pada dasarnya keraguan muncul pada bagaimana * ditafsirkan.

Mari kita asumsikan bahwa saya menerapkan aplikasi web (.war) dengan root konteks /firstweb.

Pertimbangkan <url-pattern> berikut yang didefinisikan di web.xml

(1) <url-pattern> /* </url-pattern>
(2) <url-pattern> /test/abc </url-pattern>
(3) <url-pattern> /test/abc/* </url-pattern>
(4) <url-pattern> /*/abc </url-pattern>

Yang saya ketahui adalah "*" cocok dengan string/teks apa pun. Dengan dasar ini, saya mempunyai beberapa keraguan.

Q1) Untuk kasus (1) yaitu /* apakah cocok dengan apa pun? Jika ya, apakah ini akan cocok dengan /test, /text/abc, /test/abc dll. jika ada di url?

Q2) Sekarang untuk kasus (2) yaitu /test/abc apakah akan cocok jika urlnya persis /test/abc? bagaimana dengan /* karena menurut saya * berarti teks apa saja. Bukankah ini akan membuat pola pencocokan menjadi ambigu?

Q3) Selain itu, saya yakin semua url ini dibuat sesuai konteks-root, yaitu semua url seperti: /firstweb/xxx' ,/firstweb/test/abc,/firstweb/`.

Setiap jawaban dengan kata-kata sederhana untuk menghilangkan keraguan ini sangat dihargai.

Edit

Lakukan penelitian lebih lanjut, tautan berikut berguna dalam memahami cara menafsirkan <url-pattern>

a) bagaimana jika pola url cocok dengan beberapa servlet?

b) http://docs.roguewave.com/hydraexpress/3.5.0/html/rwsfservletug/4-3.html


person CuriousMind    schedule 15.04.2016    source sumber
comment
Mengajukan satu pertanyaan per Pertanyaan mempermudah menemukan duplikat. Masing-masing pertanyaan tersebut sudah ditanyakan secara individual sebelumnya. Petunjuk: telusuri daftar Terkait di sisi kanan.   -  person BalusC    schedule 16.04.2016
comment
@BalusC: Saya setuju, namun terkadang pertanyaan saling terkait sehingga sangat penting untuk menempatkannya sebagai satu tempat. Saya melihat tautannya, keraguan saya masih belum jelas. Jika Anda bisa menjawab (1) dan (2) akan lebih bagus. Secara pribadi saya memeriksa Tomcat untuk * dan /test/abc dan sepertinya * dapat mengambil url input apa pun /test /text /test/abc/xyz ...   -  person CuriousMind    schedule 16.04.2016
comment
1) dijawab di stackoverflow.com/q/4140448 2) dijawab secara tidak langsung dengan jawaban ke 1).   -  person BalusC    schedule 16.04.2016
comment
Terima kasih untuk tautan ini, telah melihat ini.. izinkan saya memeriksanya lagi.. Terima kasih banyak!   -  person CuriousMind    schedule 16.04.2016