本文讲述Tomcat 5中的DefaultServer.
1. 什么是DefaultServlet? DefaultServlet被定义在$CATALINA_HOME/conf/web.xml中,这里面被定义的东西会在Tomcat启动的时候被加载,对所有的webapp都有效。DefaultServlet在Tomcat中主要是做Directory Listing用。
2. DefaultServlet在web.xml中是这样被定义的:
1. 什么是DefaultServlet? DefaultServlet被定义在$CATALINA_HOME/conf/web.xml中,这里面被定义的东西会在Tomcat启动的时候被加载,对所有的webapp都有效。DefaultServlet在Tomcat中主要是做Directory Listing用。
2. DefaultServlet在web.xml中是这样被定义的:
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
...
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet-name>default</servlet-name>
<servlet-class>
org.apache.catalina.servlets.DefaultServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
...
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
从上可以看出,有一些参数可以控制DefaultServlet的行为。此外,当请求的URL是/的时候, 也就是没有匹配的时候,就会触发这个DefaultServlet。
3. 文档中主要讲述的就是DefaultServlet的一些参数,以及我们如何用XSL来自定义DefaultServlet展示的界面。当然,我们也可以写一个自己的DefaultServlet,不过那样就要求我们对Tomcat自带的这个DefaultServlet很熟悉了。