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