溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

面試servlet的問題案例

發(fā)布時(shí)間:2020-09-16 11:37:49 來源:億速云 閱讀:150 作者:小新 欄目:編程語言

小編給大家分享一下面試servlet的問題案例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

  面試官不同側(cè)重的方向也不同,不過問Servlet的話,以下內(nèi)容由很大幾率都會(huì)被問到,可以作為參考,可以沒有說Servlet問題就這么多哦。

面試servlet的問題案例

1、servlet生命周期

初始化:web容器加載servlet,調(diào)用init()方法;

處理請(qǐng)求:允許service()方法,service()自動(dòng)運(yùn)行與請(qǐng)求對(duì)應(yīng)的doXXX方法(doGet或doPost)

銷毀:服務(wù)結(jié)束后,web容器調(diào)用servlet的distory()方法銷毀servlet

2、jsp與servlet 有什么區(qū)別。

jsp在本質(zhì)上就是servlet,但是兩者的創(chuàng)建方式不同,servlet都是java程序代碼構(gòu)成,用于流程控制和事務(wù)處理,而jsp由html和jsp標(biāo)簽構(gòu)成,可以方便地編寫動(dòng)態(tài)網(wǎng)頁。jsp和servlet主要有兩方面不同:編譯:jsp修改后就可立刻看到效果,不需要編譯,而servlet需要編譯。轉(zhuǎn)換:jsp是動(dòng)態(tài)網(wǎng)頁開發(fā)技術(shù)是運(yùn)行在服務(wù)端的腳本語言,而servlet是web服務(wù)器的編程技術(shù),所以jsp運(yùn)行時(shí)就是轉(zhuǎn)換為servlet。

3、get和post有何區(qū)別

get參數(shù)傳遞通過url,post放在resquest body中;

get請(qǐng)求參數(shù)有長(zhǎng)度限制,post沒有

get不安全,因?yàn)閰?shù)暴露在url中。

get請(qǐng)求只能進(jìn)行url編碼。post支持多種編碼

get請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽歷史記錄,而post不會(huì)被保留。

get和post本質(zhì)就是tcp鏈接,并無差別。但是由于HTTP的規(guī)定和瀏覽器/服務(wù)器的限制,導(dǎo)致他們?cè)趹?yīng)用過程中體現(xiàn)出一些不同。

get產(chǎn)生一個(gè)tcp數(shù)據(jù)包;post產(chǎn)生兩個(gè)tcp數(shù)據(jù)包。

4、doGet與doPost方法的兩個(gè)參數(shù)是什么

HttpServletRequest:封裝與請(qǐng)求相關(guān)的信息

HttpServletResponse:封裝了與響應(yīng)相關(guān)的信息

5、jsp有哪些內(nèi)置對(duì)象

request :包含用戶端請(qǐng)求的信息

response:包含服務(wù)器傳回客戶端的響應(yīng)信息

session:與請(qǐng)求有關(guān)的會(huì)話期

pageContext:管理網(wǎng)頁屬性

application:服務(wù)器啟動(dòng)創(chuàng)建,服務(wù)器關(guān)閉停止,為多個(gè)應(yīng)用程序保存信息

out:向客戶端傳輸數(shù)據(jù)

config:servlet的架構(gòu)組件

page:指網(wǎng)頁本身

exception:針對(duì)錯(cuò)誤頁面才可使用

6、四大作用域

page:一個(gè)頁面

request:一次請(qǐng)求

session:一次會(huì)話

application:服務(wù)器從啟動(dòng)到停止

7、jsp中動(dòng)態(tài)include和靜態(tài)include有什么區(qū)別

動(dòng)態(tài)include用jsp:include動(dòng)作實(shí)現(xiàn)<jsp:include page="include.jsp" flush="true"/> 他總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面并且可以帶參數(shù)。

靜態(tài)include用include偽代碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)界面<%@ include file="included.htm"%>

8、forward和redirect的區(qū)別

轉(zhuǎn)發(fā)與重定向:

第一點(diǎn):從地址欄來說forward是服務(wù)器請(qǐng)求資源,服務(wù)器直接訪問目標(biāo)地址的url,把目標(biāo)url的響應(yīng)內(nèi)容讀取過來,然后發(fā)給瀏覽器,瀏覽器并不知道服務(wù)器發(fā)送的內(nèi)容從哪來的,所以地址欄還是原來的url。redirect是服務(wù)器根據(jù)邏輯,發(fā)送一個(gè)狀態(tài)碼,告訴瀏覽器重新去請(qǐng)求那個(gè)地址,所以地址欄會(huì)顯示新的url 。

第二點(diǎn):從數(shù)據(jù)共享來說,forward轉(zhuǎn)發(fā)頁面和轉(zhuǎn)發(fā)到的頁面共享request里面的數(shù)據(jù),redirect不能共享數(shù)據(jù)。

第三點(diǎn):從運(yùn)行地方來說,forward一般用于登陸的時(shí)候,根據(jù)角色轉(zhuǎn)發(fā)到相對(duì)于的模塊。

redirect一般用于用戶注銷登陸時(shí)返回主頁或者跳轉(zhuǎn)到其他頁面時(shí)。

第四點(diǎn):從效率來說forward高,redirect低。

以上是面試servlet的問題案例的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI