You should not think that because web.xml is not shown, then it wont find the servlet.
The fact is when you appear for SCWCD exam, it first clealry explain about the assumption you should make when complete code is not there. In this case, it is to be assumed that web.xml is defined properly.
I mean it doesn't make sense to test your knowledge on missing web.xml file.
The answer is simple. It is D. There is not doGet() defined for the servlet, and hence typing an URL in the browser address bar uses the GET method.
I got this similar question in the real Exam and I am 100% sure the answer is D and they were not testing your alertness that the question does not contain web.xml
And a servlet is mapped using servlet mapping. Which mean you can pass servlet name as "ABC" in the URL whereas the real servlet class name is "XYZ"