ฉันมีข้อสงสัยบางประการในการทำความเข้าใจว่าค่าใน <url-pattern
> ถูกตีความให้ตรงกันใน <servlet-mapping>
หรือ <filter-mapping>
อย่างไร โดยพื้นฐานแล้วความสงสัยเกิดขึ้นจากการตีความ *
อย่างไร
สมมติว่าฉันปรับใช้ web-application(.war) ด้วยบริบท root /firstweb
พิจารณา <url-pattern>
ต่อไปนี้ที่กำหนดไว้ใน 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>
สิ่งที่ฉันทราบคือ "*"
ตรงกับสตริง/ข้อความใดๆ ด้วยเหตุนี้ฉันจึงมีข้อสงสัยบางประการ
Q1) สำหรับกรณี (1) ได้แก่ /*
จะตรงกับสิ่งใดหรือไม่ หากเป็นเช่นนั้น รายการนี้จะตรงกับ /test
, /text/abc
, /test/abc
ฯลฯ เมื่ออยู่ใน URL หรือไม่
Q2) ตอนนี้สำหรับกรณี (2) ได้แก่ /test/abc
มันจะตรงกันหรือไม่เมื่อ url เท่ากับ /test/abc
แล้ว /*
ล่ะ เพราะอย่างที่ฉันเชื่อว่า *
หมายถึงข้อความใดๆ ก็ตาม นี่จะไม่ทำให้รูปแบบการจับคู่คลุมเครือใช่ไหม
คำถามที่ 3) นอกจากนี้ ฉันเชื่อว่า URL ทั้งหมดเหล่านี้เกี่ยวข้องกับบริบทรูท เช่น URL ทั้งหมดมีลักษณะดังนี้: /firstweb/xxx' ,
/firstweb/test/abc,
/firstweb/`
เรายินดีเป็นอย่างยิ่งที่จะตอบทุกคำตอบด้วยคำพูดง่ายๆ เพื่อขจัดข้อสงสัยนี้
แก้ไข
ทำการค้นคว้าเพิ่มเติม ลิงก์ต่อไปนี้มีประโยชน์ในการทำความเข้าใจวิธีตีความ <url-pattern>
ก) จะเกิดอะไรขึ้นถ้ารูปแบบ url ตรงกับหลายเซิร์ฟเล็ต
ข) http://docs.roguewave.com/hydraexpress/3.5.0/html/rwsfservletug/4-3.html