Questão sobre <servlet-mapping>

Consider the following servlet mapping in deployment descriptor of the web application “order”:

<servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>*.xml</url-pattern> </servlet-mapping>

Which of the following requests will be served by the servlet named MyServlet?

A) http://localhost/xml

B) http://localhost/portal/test.xm

C) http://localhost/localhost/test.xml

D) http://localhost/order/test.xml2

E) http://yourwebapp.com/ServletName

Não entendi porque a resposta certa é a letra C não entendi porque usa duas vezes localhost será que é um erro da qustão ?

Porque é *.xml, os outros xml não é a extensão, ou não tem nem extensão.

Sim sim essa parte eu entendi só não entendi porque de dois localhost existe isso http://localhost/localhost/teste.xml é possível ter uma url assim?

Ah ta.
Realmente não sei, mas o que a questão considera é o servlet mapping e o servlet mapping só pega o *.xml

É só você lembrar da seguinte estrutura quando, por exemplo, fazemos deploy de uma aplicação no tomcat:
http://endereco/aplicacao/recurso (tipo http://localhost/minhaApp/cadastrar)
Na questão, você precisa considerar além disso o final .xml, então temos:

A) http://localhost/xml (errada, não é “algo.xml”)

B) http://localhost/portal/test.xm (errada, termina em “xm” em vez de “xml”)

C) http://localhost/localhost/test.xml (correta, o segundo “localhost” pode ser visto como uma aplicação chamada “localhost” :wink: , e o .xml está adequado)

D) http://localhost/order/test.xml2 (errada, termina em “xml2” em vez de “xml”)

E) http://yourwebapp.com/ServletName (errada, não possui o fim “.xml”)

É verdade Rendrys não tinha pensado nessa hipótese vlww agora sanou a minha dúvida