เว็บแอปพลิเคชันของคุณอาจกำหนดตัวกรองที่แตกต่างกันหลายตัวโดยมีวัตถุประสงค์เฉพาะ พิจารณา คุณกำหนดตัวกรองสองตัว AuthenFilter และ LogFilter . กระบวนการที่เหลือจะยังคงตามที่อธิบายไว้ข้างต้น ยกเว้นคุณจะต้องสร้างแผนที่อื่นตามที่กล่าวไว้ด้านล่าง −
<filter> <filter-name>LogFilter</filter-name> <filter-class>LogFilter</filter-class> <init-param> <param-name>test-param</param-name> <param-value>Initialization Paramter</param-value> </init-param> </filter> <filter> <filter-name>AuthenFilter</filter-name> <filter-class>AuthenFilter</filter-class> <init-param> <param-name>test-param</param-name> <param-value>Initialization Paramter</param-value> </init-param> </filter> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>AuthenFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
ลำดับการใช้ตัวกรอง
ลำดับขององค์ประกอบการแม็พตัวกรองใน web.xml กำหนดลำดับที่เว็บคอนเทนเนอร์ใช้ตัวกรองกับเซิร์ฟเล็ตหรือ JSP ในการย้อนกลับลำดับของตัวกรอง คุณเพียงแค่ย้อนกลับองค์ประกอบการแมปตัวกรองใน web.xml ไฟล์.
ตัวอย่างเช่น ตัวอย่างข้างต้นจะใช้ LogFilter ก่อน จากนั้นจึงนำ AuthenFilter ไปใช้กับเซิร์ฟเล็ตหรือ JSP ตัวอย่างต่อไปนี้จะย้อนกลับคำสั่ง -
<filter-mapping> <filter-name>AuthenFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter-mapping> <filter-name>LogFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>