java servlet面试题_servlet面试题一般有哪些?servlet面试大全详解
面試一直以來是程序員入門的一道闌檻,你們都知道java中的servlet吧,今天我們就來看看過去常問的servlet面試題都有哪些吧。
一、說一說Servlet生命周期
Servlet生命周期包括三部分:
初始化:Web容器加載servlet,調(diào)用init()方法
處理請求:當(dāng)請求到達(dá)時(shí),運(yùn)行其service()方法。service()自動(dòng)派遣運(yùn)行與請求相對應(yīng)的doXXX(doGet或者doPost)方法。
銷毀:服務(wù)結(jié)束,web容器會(huì)調(diào)用servlet的distroy()方法銷毀servlet。
二、get提交和post提交有何區(qū)別
(1)get一般用于從服務(wù)器上獲取數(shù)據(jù),post一般用于向服務(wù)器傳送數(shù)據(jù)
(2)請求的時(shí)候參數(shù)的位置有區(qū)別,get的參數(shù)是拼接在url后面,用戶在瀏覽器地址欄可以看到。post是放在http包的包體中。
比如說用戶注冊,你不能把用戶提交的注冊信息用get的方式吧,那不是說把用戶的注冊信息都顯示在Url上了嗎,是不安全的。
(3)能提交的數(shù)據(jù)有區(qū)別,get方式能提交的數(shù)據(jù)只能是文本,且大小不超過1024個(gè)字節(jié),而post不僅可以提交文本還有二進(jìn)制文件。
所以說想上傳文件的話,那我們就需要使用post請求方式
(4)servlet在處理請求的時(shí)候分別對應(yīng)使用doGet和doPost方式進(jìn)行處理請求
三、說一說四種會(huì)話跟蹤技術(shù)作用域有哪些
(1)page:一個(gè)頁面
(2)request::一次請求
(3)session:一次會(huì)話
(4)application:服務(wù)器從啟動(dòng)到停止。
四、JSP中動(dòng)態(tài)INCLUDE和靜態(tài)INCLUDE有什么區(qū)別
include指令用于把另一個(gè)頁面包含到當(dāng)前頁面中,在什么時(shí)候包含的?再轉(zhuǎn)換成servlet的時(shí)候包含進(jìn)去的。
動(dòng)態(tài)INCLUDE用jsp:include動(dòng)作實(shí)現(xiàn) 它總是會(huì)檢查所含文件中的變化,適合用于包含動(dòng)態(tài)頁面,
并且可以帶參數(shù).
靜態(tài)INCLUDE用include偽碼實(shí)現(xiàn),定不會(huì)檢查所含文件的變化,適用于包含靜態(tài)頁面
五、jsp九大內(nèi)置對象是什么
1.request 說明 : 代表請求
2.response 說明 : 代表響應(yīng)
3.out 說明 : 輸出的數(shù)據(jù)流
4.session 說明 : 會(huì)話
5.application 說明 :全局的上下文對象
6.pageContext 說明 : Jsp頁面的上下文
7.page 說明 : 代表 jsp頁面本身(this)
8.config 說明:代表 Servlet配置對象
9.exception 說明:代表捕獲頁面的異常對象
六、目前來說,前后端分離技術(shù)jsp基本上已經(jīng)被淘汰了,JSP和Servlet有哪些相同點(diǎn)和不同點(diǎn),他們之間的聯(lián)系是什么?
JSP是Servlet技術(shù)的擴(kuò)展,本質(zhì)上是Servlet的簡易方式,更強(qiáng)調(diào)應(yīng)用的外表表達(dá)。JSP編譯后是"類servlet"。Servlet和JSP最主要的不同點(diǎn)在于,Servlet的應(yīng)用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個(gè)擴(kuò)展名為.jsp的文件。JSP側(cè)重于視圖,Servlet主要用于控制邏輯。
七、Cookie和Session的作用和區(qū)別
(1)cookie 是一種發(fā)送到客戶瀏覽器的文本串句柄,數(shù)據(jù)保存在客戶端,可以用來在某個(gè)WEB站點(diǎn)會(huì)話間持久的保持?jǐn)?shù)據(jù)。
(2)session技術(shù)中所有的數(shù)據(jù)都保存在服務(wù)器上,客戶端每次請求服務(wù)器的時(shí)候會(huì)發(fā)送當(dāng)前會(huì)話的sessionid,服務(wù)器根據(jù)當(dāng)前sessionid判斷相應(yīng)的用戶數(shù)據(jù)標(biāo)志,以確定用戶是否登錄或具有某種權(quán)限。
(3)cookie和session的共同之處在于:cookie和session都是用來跟蹤瀏覽器用戶身份的會(huì)話方式。
(4)cookie 和session的區(qū)別是:cookie數(shù)據(jù)保存在客戶端,session數(shù)據(jù)保存在服務(wù)器端。
八、如何知道是哪一個(gè)客戶端的機(jī)器正在請求你的Servlet
ServletRequest類可以找出客戶端機(jī)器的IP地址或者是主機(jī)名。getRemoteAddr()方法獲取客戶端主機(jī)的IP地址,getRemoteHost()可以獲取主機(jī)名。
九、隱含對象是什么意思?有哪些隱含對象?
JSP隱含對象是頁面中的一些Java對象,JSP容器讓這些Java對象可以為開發(fā)者所使用。開發(fā)者不用明確的聲明就可以直接使用他們。JSP隱含對象也叫做預(yù)定義變量。下面列出了JSP頁面中的隱含對象:application、page、request、response、session、exception、out、config、pageContext。
以上就是關(guān)于servlet面試題的所有內(nèi)容了,你理解了嗎?如果還需要了解更多面試常見問題,就快來關(guān)注奇Q工具網(wǎng)吧。
推薦閱讀:
總結(jié)
以上是生活随笔為你收集整理的java servlet面试题_servlet面试题一般有哪些?servlet面试大全详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sourcetail 一款代码编辑神器,
- 下一篇: 你对电感知之甚少