- 如果某个Servlet的映射路径仅仅为一个正斜杠(/),那么这个Servlet就成为当前web应用程序的缺省servlet。
- 默认(缺省)servlet是用于处理别人处理不了的请求。(处理写错的或者没有匹配的路径)
- 凡是在web.xml文件中找不到匹配的<servlet-mapping>元素的URL,它们的访问请求都将交给缺省servlet处理,也就是说,缺省servlet用于处理所有其他servlet都不处理的访问请求。
- 在<tomcat的安装目录>\conf\web.xml文件(这是服务器的配置文件,自己所有工程的web.xml文件都相当于继承了这个文件)中,注册了一个名称为org.apache.catalina.servlets.DefaultServlet的Servlet,并将这个Servlet设置为了缺省Servlet。
- 当访问Tomcat服务器中的某个静态HTML文件和图片时,实际上是访问这个缺省Servlet。
- 当访问web工程下内容下,都是web.xml文件中的<url-pattern>去查找资源。而我们在访问a.txt时,在xml文件中没有与其对应的资源,这时,是默认的servlet处理。默认servlet搜索一下,有没有a.txt,如果有,就读出来,显示在浏览器中。没有就404。我们看到的404都是默认servlet处理的。默认servlet怎么读,怎么写另学。
- 如果自己写了默认servlet,Tomcat中的servlet失效。
- <init-param>配置中的<param-name>listing</param-name>和<param-value>false</param-value>作用:如果当前访问的是一个目录,会将目录以列表形式展示文件夹下的内容,前提value是true,如果为false,则会报404。这个配置会根据不同版本的Tomcat有区别。
关于缺省Servlet(十二)
最新推荐文章于 2021-11-18 16:53:54 发布