一个servlet有三个名字,分别是
- 类名:该名即servlet类文件的类名
- 部署名:简单理解为在服务器内部,对该servlet的称呼。该名称承担起映射的桥梁作用
- 公共URL名:该名称即普通用户看到的名称,如访问网页时的HTTP地址
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
如上例:<servlet-name>中包含的即为部署名。 <servlet-class>标签告诉容器使用了哪一个类文件(该类名不含.class拓展名)
<url-pattern>中包含的是公共URL名,此处为“/”。url和class文件,通过“default”这个名字联系在一起
使用servlet映射的好处:
结构灵活性:隐藏了真实的目录结构,当目录发生更变时,无需费力的改动多处的路径
安全性:用户不知道真实的目录结构,就难以绕过某些验证或页面来直接访问servlet