$CATALINA_HOME/conf/web.xml
先介绍两种在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>*.jsp</url-pattern>
</servlet-mapping>
checkInterval
如果"development"属性为false且"reloading"为true,则使用后台编译。"checkInterval"是查看JSP页面是否需要重新编译的两次检查时间间隔(单位:秒)。缺省值为300。
compiler
Ant将要使用的JSP页面编译器。请查阅Ant文档获得更多信息。缺省为javac。
classdebuginfo
编译成class文件时是否附带调试信息。缺省为true。
classpath
编译servlet时要使用的class path,缺省情况下,该路径基于你当前的web应用动态生成。
development
是否让Jasper使用开发模式(这将在每次访问时都检查JSP的修改情况)。缺省为true。
enablePooling
决定是否共享标签处理器。缺省为true。
ieClassId
当使用<jsp:plugin>标签时,将要发送给Internet Explorerd的class-id的值。缺省为:8AD9C840-044E-11D1-B3E9-00805F499D93。
fork
可以在多个JVM上执行Ant对JSP的编译。缺省为true。
javaEncoding
对java源文件采用的字符编码。缺省为UTF-8。
keepgenerated
是否保存每个页面生成的java源代码,而不删除。缺省为true。
largefile
是否将JSP页面的静态内容保存在外部数据文件中,以减少生成的servlet尺寸。缺省为false。
mappedfile
是否对每个输入行都用一条print语句来生成静态内容,以方便调试。缺省为true。
reloading
是否让Jasper检查修改过的JSP页面。缺省为true。
scratchdir
当编译JSP页面时使用的临时目录。缺省为当前web应用的work目录。
trimSpaces
是否去掉模板文本中行为和指令之间的空格。缺省为false。
参考文章: