【Servlet】Servlet的配置

创建时间: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里也有这样一段话

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值