Yes and no.
You find out that something is not there when you try to access it and it fails. At that point the spec provides a way to handle this gracefully.
What you're describing sounds like it would genenerate two reads for every request. One to see if the file is there and then another to actually serve up the file/resource.
Also, all resources are not files on the system, requests can also be made for url-mappings to
servlets, etc...