See the extract from web.xml of web application "mywebapp" on server named mywebserver, runs on port 8081:

4 phương ánCó giải thích
Đề bài
<servlet-mapping>
  <servlet-name>ServletA</servlet-name>
  <url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>ServletB</servlet-name>
  <url-pattern>/bservlet.html</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>ServletC</servlet-name>
  <url-pattern>*.servletC</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>ServletD</servlet-name>
  <url-pattern>/dservlet/*</url-pattern>
</servlet-mapping>

Given that a user enters the following into thier browser, which (if any) of the mapped servlets will execute? (Choose one.) http://mywebserver:8081/mywebapp

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "ServletA". Địa chỉ người dùng gõ chỉ tới đúng gốc ứng dụng mywebapp, nên phần đường dẫn bên trong ứng dụng là rỗng và được container quy về gốc. Khi so khớp, container thử lần lượt theo thứ tự: khớp chính xác, rồi khớp theo tiền tố, rồi khớp theo đuôi mở rộng, cuối cùng mới tới servlet mặc định được khai bằng một dấu gạch chéo đơn; ở đây không khai báo nào khớp chính xác nên servlet mặc định nhận yêu cầu. "ServletB" chỉ chạy khi đường dẫn đúng bằng chuỗi bservlet.html, trong khi yêu cầu này không hề có phần đó. "ServletC" chỉ chạy khi đường dẫn kết thúc bằng đuôi servletC, nhưng đường dẫn ở đây rỗng nên không có đuôi nào. "ServletD" chỉ nhận những đường dẫn bắt đầu bằng đoạn dservlet, cũng không khớp với một đường dẫn rỗng.

Cùng phần 2

Xuất hiện trong 2 bộ đề