【Tomcat】Tomcat容器 web.xml详解

时间:2023-11-29 08:52:02

   Tomcat的安装目录下的conf目录下的web.xml文件有许多配置,例如:

<init-param>

     <param-name>debug</param-name>

     <param-value>0</param-value>

 </init-param>

    debug是设定debug level, 0表示提供最少的信息,9表示提供最多的信息.

下面这个参数重要:

<init-param>

    <param-name>listings</param-name>

    <param-value>false</param-value>

</init-param>

  在 web 开发阶段,通常希望列出 web 路径下的所有页面,这样能方便选择需要调试的 jsp 页面,listings设置为true时表示列出页面,为false则表示不支持目录结构的显示

  <load-on-startup>1</load-on-startup>

1)load-on-startup元素标记容器是否在启动的时候就加载这个servlet(实例化并调 用其init()方法)。
2)它的值必须是一个整数,表示servlet应该被载入的顺序
2)当值为0或者大于0时,表示容器在应用启动时就加载并初始化这个servlet;
3)当值小于0或者没有指定时,则表示容器在该servlet被选择时才会去加载。
4)正数的值越小,该servlet的优先级越高,应用启动时就越先加载。
5)当值相同时,容器就会自己选择顺序来加载。

<servlet>

        <servlet-name>jsp</servlet-name>

        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>

        <init-param>

            <param-name>fork</param-name>

            <param-value>false</param-value>

        </init-param>

        <init-param>

            <param-name>xpoweredBy</param-name>

            <param-value>false</param-value>

        </init-param>

        <load-on-startup>3</load-on-startup>

    </servlet>

参数

描述

development

默认值为true,说明jsp文件还处于开发阶段,因此Jasper应该按modificationTestInterval参数对jsp文件进行检查,当jsp发生更改时,则对其进行重编译

fork

默认值为true。指示使用不同的JVM编译JSP,这样可以消除资源竞争和在开发阶段的类加载器冲突

checkInterval

单位为秒,规定Jasper按这个时间间隔检查jsp是否需要重编译,默认为0,指示使用后台程序处理

modificationTestInterval

主要在development为true时发挥作用,默认值为4。Jasper将按这个频率检查jsp文件是否可以验证是否修改过。

compiler

读取资源时使用的缓存大小,默认为2KB

classdebuginfo

写资源时使用的缓存大小,默认为2KB

keepgenerated

默认值为true。指示Jasper在两次调用servlet之间在工作目录中保留那个servlet,这样可以大大提高tomcat的效率

mappedfilegenStrAsCharArray
dumpSmaptrimSpaces
supressSmap

这些是jsp开发者使用的优化和调试选项。

scratchDir

Jasper在编译jsp时使用的临时文件夹,默认为$CATALINA_HOME/work下的一个临时文件夹

xpoweredBy

默认为false。功能为生成X-Power-By头(header)

compilerTargetVM

编译生成的servlet的目标VM

compilerSourceVM

生成servlet的源VM

<mime-mapping>

        <extension>zip</extension>

        <mime-type>application/zip</mime-type>

    </mime-mapping>

mime-mapping是web.xml中的一个节点,用来指定对应的格式的浏览器处理方式,另外也可以用来配置静态页面的打开编码:

<mime-mapping>

     <extension>htm</extension> 

      <mime-type>text/html;charset=gb2312</mime-type> 

 </mime-mapping>

 <mime-mapping>

      <extension>html</extension> 

      <mime-type>text/html;charset=gb2312</mime-type> 

 </mime-mapping>

如果Web应用程序包含一些不常用的文件,则需要确保分配某些MIME类型,mime-mapping元素正是为此而设计的。添加rar,iso等的mime-type映射,避免在浏览器里直接打开

  <mime-mapping>  

        <extension>rar</extension>  

        <mime-type>application/octet-stream</mime-type>  

    </mime-mapping>  

    <mime-mapping>  

        <extension>iso</extension>  

        <mime-type>application/octet-stream</mime-type>  

</mime-mapping>

常见的MIME类型:
超文本标记语言文本 .htm,.html text/html
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
GIF图形 .gif image/gif
JPEG图形 .ipeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar

关于tomcat的server.xml配置参考:  https://www.cnblogs.com/qlqwjy/p/8722529.html