Weil irgendwo auf der Festplatte eine MeinServlet.class Datei liegt
und irgendwer gibt
http://contextname.de/foo/bar/schmu
ein. Der Container muss ja wissen, was er damit machen soll?
P.S.: Früher gabs einen automatischen Invoker, der dazu führte, dass bei Aufruf von
http://contextname/servlet/MeinServlet
automatisch das Ding (MeinServlet.class) aus dem Ordner WEB-INF/classes
geholt wurde. In neueren Versionen des Webservers Tomcat ist das aus Sicherheitsgründen deaktiviert worden (reine Vorsichtsmassnahme!)
Bei jsp geht man eben davon aus, dass die Leute wissen was sie tun.
=> auch in php musst du ja aufpassen, dass nicht jemand eine für den Include bestimmte datei (connection.inc.php) einfach über die URL aufruft