创建时间:6.15

Servlet的配置

1. 基本配置

其中url-pattern的配置方式:

1)完全匹配 访问的资源与配置的资源完全相同才能访问到

2)目录匹配 格式:/虚拟的目录../*   *代表任意,即访问该虚拟目录下任何资源都能访问到这个东西

浏览器地址

都可以访问到

 


3)扩展名匹配 格式:*.扩展名

浏览器地址:

!注意:第二种与第三种不要混用
/aaa/bbb/*.abcd(错误的)

2.服务器启动实例化Servlet配置

Servlet的何时创建:默认第一次访问servlet时创建

为什么是默认?可以修改为在服务器启动时就创建:

当在servlet的配置web.xml时 加上一个配置 <load-on-startup> servlet对象在服务器启动   时就创建

(一般优先级占中间的数)

3.缺省Servlet

可以将url-pattern配置一个/,代表该servlet是缺省的servlet

什么是缺省(默认)的servlet?

当你访问资源地址所有的servlet都不匹配时(没有这个资源) , 缺省的servlet负责处理

*其实,web应用中所有的资源的响应都是servlet负责,包括静态资源

(配置servlet是缺省的时,静态资源访问不到。)

例子:创建一个html,访问该html文件,显示的却是service()的打印内容

想要访问静态资源,写成之前的三种url-patteern配置方式就行。

原因:

 

*先提一下Tomcat的全局配置文件:

Tomcat这里的web.xml是全局的,适用于所有在Tomcat下的web项目,但当和项目内部的web.xml一些配置冲突时,有效的是项目内的局部web.xml

*再说说内部是怎么找资源的。

*内部找资源过程:

不是直接找文件。内部将名称1.html整体作为名称,去web项目中的配置文件web.xml中找资源<url-pattern>1.html</url-pattern>,(动态资源找不到)没有找到就去找Tomcat全局配置文件web.xml中的<url-pattern>/</url-pattern>,它去找DefaultServlet。

DefaultServlet去Web项目下找有没有一个叫1.html的静态资源,找到就逐行输出,没有就报404(404也是页面,是DefaultServlet在没有找到资源时提供的)

  • 正文:如果在一个web项目的配置文件里写<url-pattern>/</url-pattern>,它找的本项目的DefaultServlet,然而它并没有返回静态资源的功能!

4.欢迎页面

页面访问时什么都不写,web.xml中这么一段话,第一个是index.xml,找到了就不会再往下找,所以当同时有1.html和index.html时,生效的是index文件

想要1.html为首要生效,就在这段话里加一句:

*如果删除了整段话,页面仍然默认显示index。

为什么?

因为Tomcat的全局web.xml里也有这样一段话

【Servlet】Servlet的配置的更多相关文章

  1. tomcat上servlet程序的配置与处理servlet请求过程

    手动配置: tomcat服务器下web项目的基本目录结构 |-tomcat根目录 |-webapps |-WebRoot : web应用的根目录 |-静态资源(html+css+js+image+ve ...

  2. servlet两种配置方法详解

     1.web.xml中Servlet的注解 <servlet> <!-- servlet的内部名称,自定义 --> <servlet-name>DemoAction ...

  3. 尚硅谷springboot学习26-嵌入式servlet容器自动配置、启动原理

    EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置 @AutoConfigureOrder(Ordered.HIGHEST_PREC ...

  4. [javaEE] Servlet的手动配置

    一.Servlet sun提供的一种动态web资源开发技术,本质上就是一段java小程序,可以将Sevlet加入到Servlet容器中 *Servlet容器 -- 能够运行Servlet的环境就叫做S ...

  5. 嵌入式Servlet容器自动配置和启动原理

    EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置? @AutoConfigureOrder(Ordered.HIGHEST_PRE ...

  6. JavaWeb项目中web.xml有关servlet的基本配置

    JavaWeb项目中web.xml有关servlet的基本配置: 我们注意到,tomcat下的conf中也有一个web.xml文件,没错的,所有的JavaWeb项目中web.xml都继承自服务器下的w ...

  7. web.xml servlet、servlet-mapping配置

    Servlet常称为服务器端小程序,即运行在服务器端的程序,用于处理及响应客户的请求. Servlet类是个特殊的java类,继承于HttpServlet. --------------------- ...

  8. eclipse环境Dynamic web module version 3.1版本的进步,简化Dynamic web object 中Servlet类的配置,不用web.xml配置<Servlet>

    eclipse环境Dynamic web module version 3.1版本之前,Dynamic web object 中Servlet类的配置,要在web.xml 配置<Servlet& ...

  9. [原创]java WEB学习笔记04:Servlet 简介及第一个Servlet程序(配置注册servlet,生命周期)

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  10. springboot(八) 嵌入式Servlet容器自动配置原理和容器启动原理

    1.嵌入式Servlet容器自动配置原理 1.1 在spring-boot-autoconfigure-1.5.9.RELEASE.jar => springboot自动配置依赖 jar包下,E ...

随机推荐

  1. Discarding Game CodeForces - 1250G(思维)

    Discarding Game \[ Time Limit: 3000 ms\quad Memory Limit: 524288 kB \] 题意 一个人和一个电脑在玩游戏,游戏规则是 游戏有 \(n ...

  2. django报错:django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module. Did you install mysqlclient?

    django 迁移数据库报错 django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.Did you ins ...

  3. Python程序设计例题

    例一:蒙特卡罗方法求解 π 值 from random import random from math import sqrt from time import clock DARTS=1000 hi ...

  4. [LeetCode] 272. Closest Binary Search Tree Value II 最近的二分搜索树的值之二

    Given a non-empty binary search tree and a target value, find k values in the BST that are closest t ...

  5. Spring Boot中整合Sharding-JDBC读写分离示例

    在我<Spring Cloud微服务-全栈技术与案例解析>书中,第18章节分库分表解决方案里有对Sharding-JDBC的使用进行详细的讲解. 之前是通过XML方式来配置数据源,读写分离 ...

  6. java8 关于Set集合的线程安全使用

    场景:并发多线程,往Set集合中存放数据时,发现最终的数量结果不对,经过排查,没有使用线程安全的Set导致 哈哈,不会描述,代码解释一切,下面代码,使用的 Sets.newHashSet() 和 Co ...

  7. 爬虫解析库:XPath

    XPath     XPath,全称 XML Path Language,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言.最初是用来搜寻 XML 文档的,但同样适用于 HTML 文档的 ...

  8. @PostConstruct、@Autowired以及构造函数的执行顺序

    结论先行:构造函数 -> PostConstruct -> @Autowired 依次执行 由于项目需要启动时加载一个配置信息,所以想到了用@PostConstruct,如下所示: @Co ...

  9. sqlyog管理关系型数据库mysql数据库之sqlyog的安装管理

    .关系型数据库 有库有表,有关系 非关系型数据库  存储对象.集 下面的所有演示截图都是基不超过SQLyog 11进行的. 1. 2.点击上图中的应用程序,进行安装. 安装sqlyog , 账户dd0 ...

  10. Eureka与Zookeeper的区别

    ACID与ACP的介绍