先介绍两种在tomcat中经常要用到的:DefaultServlet和JspServlet 。前者为处理Servlet后者为编译Jsp文件。
DefaultServlet
<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>
因此缺省情况下,default servlet在web应用启动的时候加载,目录列表是打开的,调试开关关闭。
DefaultServlet 允许下面的初始化参数:
debug
调试级别。除非你是tomcat开发员,否则这个参数没什么用。到写这篇文档为止,有用的值为0,1,11,1000。
listings
如果没有欢迎文件(通常是index文件),是否允许目录被列表。值为true或false。欢迎文件是servlet api的一部分。
readmeFile
如果出现了目录列表,readme文件也将出现在列表中。这个文件可以包含HTML。缺省值为null。
globalXsltFile
如果你想自己定义目录列表,你可以使用XSL transformation(转型语言)。这个值是一个给所有目录列表使用的绝对文件名。但每个web应用也可以通过在自己的web.xml中声明default servlet。xml的格式下面会有。
localXsltFile
你也可以通过对目录配置localXsltFile来自己定义目录列表。它在将要列表的目录中是一个相对文件名,重载globalXsltFile。如果这个参数赋了值而文件不存在,则使用globalXsltFile参数的定义。如果globalXsltFile文件也不存在,则显示缺省列表。
input
当读取要适合的资源时的输入缓冲区(按字节)。[2048]
output
写资源的输出缓冲区。[2048]
readonly
当为真时,将拒绝HTTP指令PUT和DELETE。[true]
JspServlet
Jasper用class org.apache.jasper.servlet.JspServlet实现。
初始化参数被配置好了。
<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
<init-param>
<param-name>logVerbosityLevel</param-name>
<param-value>WARNING</param-value>
</init-param>
<init-param>
<param-name>fork</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>3</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>