tomcat defaultServlet
2024-08-29 23:45:00
首先所有的请求进入tomcat,都会流经servlet,如果没有匹配到任何应用指定的servlet,那么就会流到默认的servlet。
默认的servlet是配置在$catalina/conf/web.xml里面的。
如下面贴出来所示(由于贴的内容太多了,我把注释去掉了,其实注释是相当重要的):
- <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>false</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <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>
- <servlet-mapping>
- <servlet-name>jsp</servlet-name>
- <url-pattern>*.jsp</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>jsp</servlet-name>
- <url-pattern>*.jspx</url-pattern>
- </servlet-mapping>
tomcat初始化一个context的时候就会初始化context下面所有的 servlet,包括这个默认的servlet。
如图:
图待添加
它就是从servletContext里面加载的资源中去取出需要的资源,然后加载进来,并且判断相应的mime类型设置不同的HTTP head,然后输出到页面上。内容还是挺简单的。
其中还有mime的mapping:
- <mime-mapping>
- <extension>abs</extension>
- <mime-type>audio/x-mpeg</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>ai</extension>
- <mime-type>application/postscript</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aif</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aifc</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aiff</extension>
- <mime-type>audio/x-aiff</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>aim</extension>
- <mime-type>application/x-aim</mime-type>
- </mime-mapping>
- <mime-mapping>
- <extension>art</extension>
- <mime-type>image/x-jg</mime-type>
- </mime-mapping>……后面太多贴不出来了
最新文章
- 用Myeclipse,包名上有小红叉(表示错误),但是包中的类都是没有错误的+struts2继承ActionSupport时package前面出错
- log4net一些配置说明
- 【Alpha版本】冲刺-Day8
- 基于AngularJS的过滤与排序
- 两个viewport的故事(第二部分)
- mesos INSTALL
- Asp.net Vnext IValueProvider
- python 列表函数
- SqlServer 杂记 不断补充中
- GC之一--GC 的算法分析、垃圾收集器、内存分配策略介绍
- Latex 横排图片
- Apache 的 Rewrite 规则详细介绍
- angularJs工作日记-自定义指令Directive01
- offie2010设置前两页和后面显示不同页码的方法
- 寻找链表中倒数第K个结点的位置
- rsyslog 读日志文件 ,当rsyslog 中断时,也会丢数据
- 2013 ACM/ICPC Asia Regional Chengdu Online---1003
- BZOJ 1263: [SCOI2006]整数划分( 高精度 )
- Excel自己定义纸张打印设置碰到无法对上尺寸的问题
- Windows 8.1下 MySQL绿色版安装配置与使用