【Tomcat】Tomcat容器 web.xml详解
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 |
这些是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