servlet必知细节(三)-- DefaultServlet

缺省servlet:org.apache.catalina.servlets.DefaultServlet,作用是处理其他servlet处理不到的请求

我们知道,在我们工程的web.xml中,会配置servlet映射,但是有些访问无法找到映射,如一些静态图片,一些js文件等,那服务器是如何返回给客户端的呢?

要回答上面的问题,我们必须详细了解下DefaultServlet,下面我们看tomcat的官方解释。

1.什么是DefaultServlet?

默认的servlet是既服务于静态资源又服务于目录列表(如果允许目录列表的话)的servlet。

2.它被声明在哪里?

它在$CATALINA_HOME/conf/web.xml中被全局声明。默认形式的声明是这样的: $CATALINA_HOME/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>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>

因此在默认的情况下,默认servlet在webapp启动时被装载,目录列表不可用,日志调试功能被关掉。

当访问的资源在工程的web.xml中没有Servlet映射时,我们如何加载资源的呢?

其实这就是一个io操作,DefaultServlet先根据客户端的访问路径,获取资源路径,然后找到服务器上资源绝对路径,再判断是否存在,如果不存在,则返回404或做其他处理,如果存在,则进行一个io读取操作返回给客户端。

上面学习,如果有错误,希望大家提出,共同提高,谢谢。

servlet必知细节(三)-- DefaultServlet相关推荐

  1. servlet必知细节(一)

    servlet必知细节(一) 今天复习了一下servlet,有过一些编程经验后,与最初学习servlet相比,对servlet理解的角度不同了,最初只是学习了如何写一个servlet,api怎么用,现 ...

  2. servlet必知细节(二)--servlet执行过程

    servlet必知细节(二)--servlet执行过程 我们知道,servlet没有main函数,那么,servlet是怎么调用的呢? 实际上,servlet 是由tomcat调用的,tomcat调用 ...

  3. 幻想三国ol服务器没有响应,《幻想三国OL》新手攻略新手必知的三点建议

    有了攻略你才能更简单的玩游戏,你才知道哪些做了有什么用,哪些做了对你有好处,有想玩<幻想三国>这款游戏的现在跟着小编一起来了解一下这个新手必知的三点小建议吧!! 一.属性点精彩内容,尽在百 ...

  4. python和单片机区别_成为单片机高手必知的三个重要步骤

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 成为单片机高手必知的三个重要步骤 很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部分,按照怎样的步骤进行学习.在摸索学习步骤的过程浪费时间 ...

  5. 单片机高手必知的三个重要步骤(干货分享)

    很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部分,按照怎样的步骤进行学习.在摸索学习步骤的过程浪费时间的同时也会造成学习兴趣的降低.为了帮助大家解决这种情况. 第一步:基础理论知识学 ...

  6. 成为单片机高手必知的三个重要步骤(干货分享)

    很多初学者最初接触单片机时较为苦恼的就是如何入门,也就是从哪一部分,按照怎样的步骤进行学习.在摸索学习步骤的过程浪费时间的同时也会造成学习兴趣的降低.为了帮助大家解决这种情况. 第一步:基础理论知识学 ...

  7. 产品经理必知的三个数据分析框架

    本篇文章给大家介绍产品经理在日常分析数据中所必须掌握的三个框架,一个叫逻辑分层拆解,一个叫漏斗分析,还有一个是用户行为路径分析. 逻辑分层拆解 虽然产品涉及到的方方面面的指标非常的多,但产品经理不可能 ...

  8. 幻想三国ol服务器没有响应,《幻想三国OL》游戏之新手必知的三个建议

    < 一.属性点 在这个游戏里面一共有着四个属性点,它们分别是:体质.致力敏捷还有力量. 体质:它能够决定人物的血量以及防御值,玩家的体质点越高的话,在战场上能够活久的几率也越大 力量:它能够决定 ...

  9. Oracle 快速入门 基本操作(必知)

    目录 一.需要启动的服务(必知): 二.常用数据表(常识) 二.关于Oracle数据库的开发环境(必知) 三.PL/SQL Developer 集成开发环境 四.新建SQL窗口(必知) 五.账户.表空 ...

最新文章

  1. Fastq-dump:我的日常命令
  2. c++编程例子_如何开始厉害的C语言编程?大神都是这样开始的!
  3. python怎么安装tensorflow-Python使用pip安装TensorFlow模块
  4. 为什么将老年代移动到方法区
  5. 【Python】之split()方法
  6. 秋风秋雨愁煞人:寒宵独坐心如捣
  7. python鞋子_python
  8. flutter初体验之基础控件知识
  9. oracle awr报告生成_[ORACLE],SQL性能报告(AWR)导出,扶你走上调优大神之路
  10. [POI2013]MOR-Tales of seafaring
  11. 阿里 java ide_纯JAVA版JAVA IDE环境(源码)
  12. 3D打印笔 画出模型
  13. 苹果软解ID软件(X.PASSWORD-XIMEI 苹果id锁)--上帝左手汉化组(内附即时更新)
  14. 携程校招编程题 bit count
  15. .NET实现Wap飞信协议
  16. 2021年1~11月语音合成和语音识别论文月报
  17. python第三方库pdf_Python使用到第三方库PyMuPDF图片与pdf相互转换
  18. 【远程文件浏览器】Unity+Lua开发调试利器
  19. C fseek() and fteel()
  20. 红帽认证工程师常见问题解答(转)

热门文章

  1. [MaxCompute MapReduce实践]通过简单瘦身,解决Dataworks 10M文件限制问题
  2. Android拍照得到全尺寸图片并进行压缩/拍照或者图库选择 压缩后 图片 上传
  3. C#从SQL server数据库中读取l图片和存入图片
  4. [Nancy On .Net Core Docker] 轻量级的web框架
  5. zencoding实践
  6. sdut AOE网上的关键路径(spfa+前向星)
  7. Linux C++/Java/Web/OC Socket网络编程
  8. windows7/8 安装mysql5.7
  9. Android 应用程序集成Google 登录及二次封装
  10. sqoop2增量导入无法指定last value问题解决方法