2023年web面試題一答案_第1頁
2023年web面試題一答案_第2頁
2023年web面試題一答案_第3頁
2023年web面試題一答案_第4頁
2023年web面試題一答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

JavaWeb部分面試題一說出Servlet的生命周期,并說出Servlet和CGI的區(qū)別?Web容器加載servlet并將其實例化后,servlet生命周期開始,容器運營其init方法進行servlet的初始化,請求到達時運營其service方法,service方法自動派遣運營于請求相應的doXXX方法(doGet,doPost)等,當服務器決定將實例銷毀的時候調(diào)用其destroy方法。與CGI的區(qū)別在與servlet處在服務器進程中,它通過多線程方式運營其service方法,一個實例可以服務于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產(chǎn)生新的進程,服務完畢后就銷毀,所以效率上低于servlet。forward和redirect的區(qū)別?forward是容器中控制權的轉向,是服務器請求資源,服務器直接訪問目的地址的URL,把那個URL的響應內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器主線不知道服務器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是本來的地址。redirect就是服務器端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數(shù)重新請求,所以session,request參數(shù)都可以獲取,并且從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,也有助于隱藏實際的鏈接;在有些情況下,比如需要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。JSP中動態(tài)include與靜態(tài)include的區(qū)別?動態(tài)include用jsp:include動作實現(xiàn)<jsp:includepage="included.jsp"flush="true"/>它總是會檢查所包含文獻中的變化,適合用于包含動態(tài)頁面,并且可以帶參數(shù);靜態(tài)include用include偽碼實現(xiàn),它不會檢查所含文獻的變化,合用于包含靜態(tài)頁面<%@includefile="included.htm"%>JSP的有哪些內(nèi)置對象,作用分別是什么?request:表達HttpServletRequest對象,它包含了有關瀏覽器請求的信息,并且提供了幾個用于獲取cookie,header和session數(shù)據(jù)的有用方法;response:表達HttpServletResponse對象,并提供了幾個用于設立送回瀏覽器的響應的方法(如cookies,頭信息等。)pageContext:網(wǎng)頁的屬性在這里管理;session:表達一個請求的javax.servlet.http.HttpSession對象,session可以存儲用戶的狀態(tài)信息;application:表達一個javax.servlet.ServletContext對象,這有助于查找有關servlet引擎和servlet環(huán)境的信息;out:是javax.jsp.JspWriter的一個實例,并提供了幾個方法使你能用于向瀏覽器回送輸出結果;config:表達一個javax.servlet.ServletConfig對象,該對象用于存?。骵rvlet實例的初始化參數(shù);page:表達從該頁面產(chǎn)生的一個servlet實例;exception:針對錯誤網(wǎng)頁,未捕獲的例外。JSP的常用指令?<%@pagelanguage="java"contentType="text/html"%><%@includefile="filename"%><%@taglibprefix="c"uri="http://...."%>JSP有哪些動作,作用分別是什么?JSP共有以下6種基本動作:jsp:include:在頁面被請求的時候引入一個文獻;jsp:useBean:尋找或者實例化一個JavaBean;jsp:setProperty:設立JavaBean的屬性;jsp:getProperty:輸出某個JavaBean的屬性;jsp:forward:把請求轉到一個新的頁面;jsp:plugin:根據(jù)瀏覽器類型為Java插件生成object標記。GET和POST的區(qū)別?form中的get和post方法,在數(shù)據(jù)傳輸過程中分別相應了HTTP協(xié)議中的GET和POST方法。兩者重要區(qū)別如下:Get是用來從服務器上獲得數(shù)據(jù),而Post是用來向服務器上傳遞數(shù)據(jù);Get將表單中數(shù)據(jù)按照variable=value的形式,添加到action所指向的URL后面,并且兩者使用“?”連接,而各個變量之間使用“&”連接;Post是將表單中的數(shù)據(jù)放在form的數(shù)據(jù)體中,按照變量和值相相應的方式,傳遞到action所指向URL;Get是不安全的,由于在傳輸過程,數(shù)據(jù)被放在請求的URL中;Post的所有操作對用戶來說都是不可見的;Get傳輸?shù)臄?shù)據(jù)量小,這重要是由于受URL長度限制;而Post可以傳輸大量的數(shù)據(jù),所以在上傳文獻只能使用Post;Get限制form表單的數(shù)據(jù)集必須為ASCII字符,而Post支持整個ISO10646字符集;Get是from的默認方法。常用的web容器和開發(fā)工具?最常用的容器包含:tomcat、weblogic、開發(fā)工具有:eclipse,jbuilder,JCreator畫出Servlet2.2以上WebApplication的基本目錄結構?目錄結構如下圖所示:JSP和Servlet有哪些相同點和不同點,它們之間的聯(lián)系是什么?Jsp是servlet技術的擴展,本質(zhì)上是servlet的簡易方式,更強調(diào)應用的視圖表達。JSP編譯后是“servlet類”。Servlet和JSP最重要的不同點在于,servlet的應用邏輯是在Java文獻中,并且完全從表達層中的HTML里分離開來。而JSP的情況是Java和HTML可以組合成一個擴展名為.jsp的文獻。JSP側重于視圖,servlet重要用于控制邏輯。JSP的四種數(shù)據(jù)共享范圍?pageContext是代表與一個頁面相關的對象和屬性。一個頁面由一個編譯好的Javaservlet類(可以帶有任何的include指令,沒有include動作)表達。這既涉及servlet又涉及被編譯成servlet的JSP頁面。Request是代表與web客戶機發(fā)出的一個請求相關的對象和屬性。一個請求也許跨越多個頁面,涉及多個web組件(由于forward指令和include動作的關系)Session是代表與用于某個web客戶機的一個用戶體驗相關的對象和屬性。一個web會話可以也經(jīng)常會跨越多個客戶機請求。Application是代表與整個web應用程序相關的對象和屬性。這實質(zhì)上是跨越整個web應用程序,涉及多個頁面、請求和會話的一個全局作用域。Request對象的重要方法?getParameter(String)返回指定輸入?yún)?shù),假如不存在,返回nullgetParameterValues(String)返回指定輸入?yún)?shù)名的取值數(shù)組,假如取值不存在則返回null。它在參數(shù)具有多個取值的情況下十分有用。getParameterMap()返回請求參數(shù)的map()對象getRequestURI()返回URL中一部分,從“/”開始,涉及上下文,但不涉及任意查詢字符串getContextPath()返回指定servlet上下文(web應用)的URL的前綴setAttribute(String,Object)在請求中設一個屬性getAttribute(String)得到設立的屬性的值getSession()返回當前http會話getCookies();?返回與請求相關cookie的一個數(shù)組getRequestDispatcher(String)用于轉發(fā)轉發(fā)到新的地址setCharaterEncoding(String)設立解析的編碼具體描述MVC。基于Java的web應用系統(tǒng)采用MVC架構模式,即model(模型)、view(視圖)、control(控制)分離設計;這是目前WEB應用服務系統(tǒng)的主流設計方向。Medel:即解決業(yè)務邏輯的模塊,每一種解決一個模塊;View:負責頁面顯示,顯示model解決結果給用戶,重要實現(xiàn)數(shù)據(jù)到頁面轉換過程;Control:負責每個請求的分發(fā),把form數(shù)據(jù)傳遞給model解決,把解決結果的數(shù)據(jù)傳遞給view顯示。MVC的各個部分都有哪些技術來實現(xiàn)?MVC是Model-View-Controller的簡寫?!癕odel”代表的是應用的業(yè)務邏輯(通過JavaBean,EJB組件實現(xiàn)),“View”是應用的表達層(由JSP頁面產(chǎn)生),“Controller”是提供應用的解決過程控制(一般是一個servlet),通過這種設計模型把應用邏輯,解決過程和顯示提成不同的組件實現(xiàn)。這些組件可以進行交互和重用。有哪幾種會話跟蹤技術?Cookie、URL重寫、設立表單隱藏域。過濾器有哪些作用?可以驗證客戶是否來自可信的網(wǎng)絡,可以對客戶提交的數(shù)據(jù)進行重新編碼,可以過濾掉客戶的某些不應當出現(xiàn)的詞匯,可以驗證用戶是否登錄,可以驗證客戶的瀏覽器是否支持當前的應用,可以記錄系統(tǒng)的日記等。Web.xml的作用?用于配置web應用的信息,如listener、filter及servlet的配置信息等。寫出熟悉的JSTL標簽。<c:if>、<c:choose>、<c:when>、<c:otherwise>、<c:forEach>、<c:set>。JSP標簽的作用?如何定義?作用:分離J

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論