servlet

1.........servlet特點(diǎn)

1) servlet是個(gè)普通java類 ? 主要繼承httpservlet類,繼承httpservlet類是為了創(chuàng)建一個(gè)http協(xié)議的servlet程序

2)servlet程序交給tomcat運(yùn)行的

2..........servlet開(kāi)發(fā)過(guò)程

1)把servlet的class字節(jié)碼拷貝到WEB-INF/classes文件下

2)在web.xml中配置

3.........servlet的執(zhí)行過(guò)程

前提: ? ? ? ? tomcat服務(wù)器啟動(dòng)時(shí),會(huì)加載conf/web.xml文件,再加載站點(diǎn)下每個(gè)應(yīng)用web.xml文件

例:站點(diǎn)下的web應(yīng)用名稱 ? ? /day10

? ? ? ? 資源名稱 ? ? ? ?/hello

1)在day10應(yīng)用下的web.xml文件中找是否匹配得<url-pattern>/hello</url-pattern>

2)使用servlet的內(nèi)部名稱在web.xml文件中查找是否相同名稱的servlet配置

3)得到對(duì)應(yīng)的servlet-class內(nèi)容? ? ? ? 字符串:cdqf.a_servlet.HelloServlet

4.......servlet的生命周期

1.servlet程序的生命周期是由tomcat控制的 ?

2.servlet的四個(gè)生命周期

? ? 1)構(gòu)造函數(shù)? ? 只調(diào)用1次? 正面servelt對(duì)象在tomcat中是單實(shí)例的

? ? ? 2)init()方法? ? 初始化 ?創(chuàng)建完servlet對(duì)象后調(diào)用 ? ?只調(diào)用1次

? ? ? ? 3)service方法 ? ? 每次請(qǐng)求servlet時(shí)調(diào)用 ? 調(diào)用n次

? ? ? ?4)destroyy方法:servlet對(duì)線銷毀時(shí)調(diào)用 ?,只調(diào)用1次,tomcat停止時(shí) ? 或者web項(xiàng)目重新部署時(shí)

5......servlet的四個(gè)對(duì)象

? ? ?1)httpservletrequest對(duì)象域 ? ? ? 封裝請(qǐng)求信息

? 2)httpservletresponse對(duì)象 ? ? ? 封裝響應(yīng)信息

3) servletconfig對(duì)象 ? ? ? ? ?封裝一個(gè)servlet配置參數(shù)信息

4 ?servletcontext對(duì)象域 ? ? ?封裝web應(yīng)用環(huán)境信息

6...........wervletcontext對(duì)象域

?1.介紹

servletContext叫servlet的上下文對(duì)象,表示該web應(yīng)用下的環(huán)境,一個(gè)web項(xiàng)目只有一個(gè)serveltContext對(duì)象

2創(chuàng)建時(shí)機(jī)

servletContext是tomcat加載完當(dāng)前項(xiàng)目 ,作為servletConfig對(duì)象的成員變量傳入servlet中,通過(guò)servletConfig的getservletContext得到的servletCotext對(duì)象

3得到全局的參數(shù)

方法? ? ? java.lang.StringgetInitParameter(java.lang.String name)

java.util.EnumerationgetInitParameterNames()

域相關(guān)的方法 ?

void setAttribute(java.lang.String name,

java.lang.Object object)保存數(shù)據(jù)

java.lang.Object getAttribute(java.lang.Stringname)得到數(shù)據(jù)

void removeAttribute(java.lang.Stringname)清除數(shù)據(jù)

7 ?轉(zhuǎn)發(fā)相關(guān)的

RequestDispatchergetRequestDispatcher(java.lang.String path)

在servlet中實(shí)現(xiàn)頁(yè)面跳轉(zhuǎn)

請(qǐng)求重定向:response.sendRedirect(路徑);

請(qǐng)求轉(zhuǎn)發(fā):request.getRequestDispacher(路徑).forward(request,respone);

/=======請(qǐng)求重定向vs請(qǐng)求轉(zhuǎn)發(fā)區(qū)別====

請(qǐng)求重定向:

1)地址欄改變,改變?yōu)橹囟ㄏ虻降刂?/p>

2)可以重定向到當(dāng)前web應(yīng)用,其他web應(yīng)用,甚至是其他站點(diǎn)資源。

3)處于兩次不同的請(qǐng)求。不可以使用request域?qū)ο髞?lái)共享數(shù)據(jù)。

請(qǐng)求轉(zhuǎn)發(fā):

1)地址欄不會(huì)改變。

2)只能轉(zhuǎn)發(fā)到當(dāng)前web應(yīng)用內(nèi)部資源。

3)處于同一次請(qǐng)求。可以使用request域?qū)ο髞?lái)共享數(shù)據(jù)

不同類型資源:

1)web應(yīng)用內(nèi)部資源。在當(dāng)前web應(yīng)用中的資源

2)其他web應(yīng)用資源。在同一個(gè)站點(diǎn)下的其他web應(yīng)用的資源。

3)站點(diǎn)外的資源。其他站點(diǎn)下的資源。

D%?????X

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容