1.重定向
(1)什么是重定向?
服務(wù)器通知瀏覽器遇骑,向一個(gè)新地址發(fā)送請(qǐng)求悯姊。
? 注:服務(wù)器可以發(fā)送一個(gè)302狀態(tài)碼以及一個(gè)location消息頭(值是一個(gè)地址羡藐,稱之為重定向地址)給瀏覽器,瀏覽器收到之后悯许,會(huì)立即向重定向地址發(fā)送請(qǐng)求仆嗦。
(2)如何重定向?
response.sendRedirect(String url);
? 注:url就是重定向地址。
? 注: 重定向之前先壕,容器會(huì)清空response對(duì)象上存放的所有數(shù)據(jù)瘩扼。
也就是說(shuō),實(shí)體內(nèi)容里面是沒(méi)有任何數(shù)據(jù)的垃僚。
(3)特點(diǎn)
a.重定向地址是任意的集绰。
b.重定向之后瀏覽器地址會(huì)發(fā)生變化。
2.Servlet容器如何處理請(qǐng)求資源路徑?
比如 http://ip:port/servlet-day03/abc.html
"/servlet-day03/abc.html"
step1. 容器默認(rèn)會(huì)認(rèn)為訪問(wèn)的是一個(gè)servlet,即查找和"/abc.html"匹配的servlet谆棺。
注:匹配規(guī)則:
a.精確匹配:/abc.html
b.通配符匹配:/*栽燕、/demo/* ?(*:匹配零個(gè)或者多個(gè)任意的字符。)
c.后綴匹配:*.do----匹配所有以.do結(jié)尾的請(qǐng)求改淑。
step2.如果找不到匹配的servlet,則訪問(wèn)對(duì)應(yīng)的文件碍岔。找到了就返回該文件。如果找不到溅固,返回404付秕。
3.如何讓一個(gè)servlet處理多種請(qǐng)求?
step1. 采用后綴匹配。
step2. 分析請(qǐng)求資源路徑侍郭,依據(jù)分析結(jié)果询吴,來(lái)調(diào)用不同的分支來(lái)處理。
代碼示例: