$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的值。缺省为:8AD 9C840-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。 |
参考文章: