URL匹配模式
确切路径匹配
以"/"开始,后面跟着一个具体的路径名称,也可以包含子路径。“/”代表该web应用的根路径。在该匹配模式下,客户端只能通过这一唯一的路径来访问该Servlet实例。
模糊路径匹配
以“/”开始,以“/”结束,中间可以包含子路经。客户端可以通过一组相关的路径来访问该Servlet的实例
扩展名匹配
以“”开始,以任意其他的字符结束。客户端可以通过一组相关的路径来访问该Servlet的实例。
缺省的Servlet:配置成“/”的Servlet为该应用的缺省Servlet,Web服务器会将所有无法识别的客户端请求交给缺省的Servlet来处理
Web容器匹配Servlet的顺序规则
1 ,寻找确切的路径匹配的Servlet。
2 ,如果没有确切的路径匹配,按照模糊路径匹配,如果有多个路径存在,取固定部分路径最长的Servlet。
3 ,寻找扩展名的匹配。
4 ,如果上述规则都无法匹配到Servlet,系统会将请求交给却省的Servlet处理。
5 , 如果没有缺省的Servlet,报告404错误信息给调用者。
自装载式Servlet
标签来
通知Web容器在部署该Web应用时就创建该Servlet的实例
用法:1或(0)
正数或零:该Servlet必须在应用启动时装载,容器必须保证数值小的Servlet先装载,如果有多个Servlet的取值相同,由容器决定它们的装载顺序。
Servlet交互
应用于Servlet调用另一个资源时来对浏览器的请求做出相应。
两种实现的方法
方法实现重定向。
方法实现请求分派。
重定向(原理)
Servlet执行重定向时是向客户端返回302响应。并把“目标URL”当作请求头Location的值发送给客户端。
客户端浏览器接收到302响应后,会自动发起Location请求头指向的新地址的请求。并把新地址显示在地址栏中。
Web容器针对这个新请求再作出响应
图解
重定向(特征)
两次请求和响应。
最终请求地址显示在地址栏中。
第一次请求中的数据会丢失。
适用于重定向到静态页面或一个新的服务器操作。
请求分派
特点
浏览器地址栏上的URL没有任何变化。
– 请求中的数据不会丢失
图解
重定向和请求的区别
重定向由客户端来完成工作,而请求分派要求服务器上
的某个Servlet来完成任务。
重定向会丢失请求对象中的数据。而请求分派不会。
请求域
存储在ServletRequest中的对象称之为请求域属性
属于同一个请求的多个处理模块之间可以通过请求域
属性来传递对象数据。