NO.65 容器对路径的处理

1.重定向

(1)什么是重定向?

服务器通知浏览器,向一个新地址发送请求。

  注:服务器可以发送一个302状态码以及一个location消息头(值是一个地址,称之为重定向地址)给浏览器,浏览器收到之后,会立即向重定向地址发送请求。

NO.65 容器对路径的处理_第1张图片

(2)如何重定向?

response.sendRedirect(String url);

  注:url就是重定向地址。

  注: 重定向之前,容器会清空response对象上存放的所有数据。

也就是说,实体内容里面是没有任何数据的。

(3)特点

a.重定向地址是任意的。

b.重定向之后浏览器地址会发生变化。

2.Servlet容器如何处理请求资源路径?

比如 http://ip:port/servlet-day03/abc.html

"/servlet-day03/abc.html"

step1. 容器默认会认为访问的是一个servlet,即查找和"/abc.html"匹配的servlet。

注:匹配规则:

a.精确匹配:/abc.html

b.通配符匹配:/*、/demo/*  (*:匹配零个或者多个任意的字符。)

c.后缀匹配:*.do----匹配所有以.do结尾的请求。

step2.如果找不到匹配的servlet,则访问对应的文件。找到了就返回该文件。如果找不到,返回404。

3.如何让一个servlet处理多种请求?

step1. 采用后缀匹配。

step2. 分析请求资源路径,依据分析结果,来调用不同的分支来处理。

代码示例:

NO.65 容器对路径的处理_第2张图片
service方法部分代码
NO.65 容器对路径的处理_第3张图片
部署设置

你可能感兴趣的:(NO.65 容器对路径的处理)