HttpServletRequest is an interface - agreed.
Tomcat (for example) will provide a class which implements that interface.
An interface provides a contract between the developer of a class and a user of the class. In particular it guarantees that any class which implements the interface will provide the methods specified in the interface.
Given this, you as a developer don't need to know the name of the class that tomcat provides because you access it via the interface type...
Is that any clearer?