如果,某个Servlet的映射路径为一个正斜线/,那么,这个Servlet表示当前Web应用的默认Servlet
Servlet服务器在接收到访问请求时,如果,在web.xml文件中找不到匹配的<servlet-mapping>
元素的URL,此时,就会调用默认的Servlet处理请求
也就是说,默认Servlet用于处理,其他Servlet都不处理的访问请求
示例代码
<servlet>
<description></description>
<display-name>TestServlet01</display-name>
<servlet-name>TestServlet01</servlet-name>
<servlet-class>cn.itcast.chapter04.servlet.TestServlet01</servlet-class>
</servlet>
<!-- 映射默认的Servlet -->
<servlet-mapping>
<servlet-name>TestServlet01</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
启动Tomcat,在浏览器中输入URL
http://localhost:8080/chapter04/abcd
显示结果如下
可以看出,当URL路径随意输入时
仍然可以访问TestServlet01
注意
Tomcat安装目录下的web.xml文件
也配置了一个默认的Servlet
配置如下
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
org.apache.catalina.servlets.DefaultServlet,被设置为默认的Servlet
对Tomcat服务器上,所有Web应用都起作用,当某个Web应用,没有默认Servlet时,就会调用Tomcat上默认的Servlet
当客户端访问Tomcat服务器中,某个静态HTML文件时,DefaultServlet会判断HTML文件是否存在
如果存在,就会将数据以流的形式回送给客户端
否则,就会报告404错误
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
</div>