servlet及jsp面試題

1jsp有哪些內置對象作用分別是什麼
:JSP共有以下9種基本內置組件(可與ASP的6種內部組件相對應):
 request 用戶端請求,此請求會包含來自GET/POST請求的參數
   response 網頁傳回用戶端的迴應
   pageContext 網頁的屬性是在這裏管理
   session 與請求有關的會話期
   application servlet 正在執行的內容
   out 用來傳送回應的輸出
   config servlet的構架部件
   page JSP網頁本身
   exception 針對錯誤網頁,未捕捉的例外
2jsp有哪些動作作用分別是什麼
:JSP共有以下6種基本動作
   jsp:include:在頁面被請求的時候引入一個文件。
   jsp:useBean:尋找或者實例化一個JavaBean。
   jsp:setProperty:設置JavaBean的屬性。
   jsp:getProperty:輸出某個JavaBean的屬性。
   jsp:forward:把請求轉到一個新的頁面。
   jsp:plugin:根據瀏覽器類型爲Java插件生成OBJECT或EMBED標記
3JSP中動態INCLUDE與靜態INCLUDE的區別?
答:動態INCLUDE用jsp:include動作實現
   它總是會檢查所含文件中的變化,適合用於包含動態頁面,並且可以帶參數
   靜態INCLUDE用include僞碼實現,定不會檢查所含文件的變化,適用於包含靜態頁面
  
 
4、兩種跳轉方式分別是什麼有什麼區別
答:有兩種,分別爲:
前者頁面不會轉向include所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執行完後還會回來,相當於函數調用。並且可以帶參數.後者完全轉向新頁面,不會再回來。相當於go to 語句。
 
5JSP的內置對象及方法。
request表示HttpServletRequest對象。它包含了有關瀏覽器請求的信息,並且提供了幾個用於獲取cookie, header, 和session數據的有用的方法。
   response表示HttpServletResponse對象,並提供了幾個用於設置送回瀏覽器的響應的方法(如cookies,頭信息等)
   out對象是javax.jsp.JspWriter的一個實例,並提供了幾個方法使你能用於向瀏覽器回送輸出結果。
   pageContext表示一個javax.servlet.jsp.PageContext對象。它是用於方便存取各種範圍的名字空間、servlet相關的對象的API,並且包裝了通用的servlet相關功能的方法。
   session表示一個請求的javax.servlet.http.HttpSession對象。Session可以存貯用戶的狀態信息
   applicaton 表示一個javax.servle.ServletContext對象。這有助於查找有關servlet引擎和servlet環境的信息
   config表示一個javax.servlet.ServletConfig對象。該對象用於存取servlet實例的初始化參數。
   page表示從該頁面產生的一個servlet實例

二、JSP&Servlet技術

1.
描述JSPServlet的區別、共同點、各自應用的範圍
2.
Web開發中需要處理HTML標記時,應做什麼樣的處理,要篩選那些字符(< > &“”)
3.
JSP中如何讀取客戶端的請求,如何訪問CGI變量,如何確定某個Jsp文件的真實路徑。
4.
描述CookieSession的作用,區別和各自的應用範圍,Session工作原理。
5.
列出Jsp中包含外部文件的方式,兩者有何區別。
6.
說明JsperrorPage的作用,應用範圍。
7.
介紹在Jsp中如何使用JavaBeans
8.
簡單介紹JSP的標記庫
9. Jsp
Servlet中的請求轉發分別如何實現。
10.    JSP的常用指令
isErrorPage(是否能使用Exception對象),isELIgnored(是否忽略表達式)

11、什麼情況下調用doGet()和doPost()?
Jsp頁面中的form標籤裏的method屬性爲get時調用doGet(),爲post時調用doPost()。

12、servlet的生命週期
web容器加載servlet,生命週期開始。通過調用servlet的init()方法進行servlet的初始化。通過調用service()方法實現,根據請求的不同調用不同的do***()方法。結束服務,web容器調用servlet的destroy()方法。

13
、如何現實servlet的單線程模式
 
14、頁面間對象傳遞的方法request,session,application,cookie等

15JSPServlet有哪些相同點和不同點,他們之間的聯繫是什麼?

是Servlet技術的擴展,本質上是Servlet的簡易方式,更強調應用的外表表達。JSP編譯後是"類servlet"。Servlet和JSP最主要的不同點在於,Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML裏分離開來。而JSP的情況是Java和HTML可以組合成一個擴展名爲.jsp的文件。JSP側重於視圖,Servlet主要用於控制邏輯。
16、四種會話跟蹤技術
會話作用域ServletsJSP 頁面描述
page否是代表與一個頁面相關的對象和屬性。一個頁面由一個編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面
request是是代表與 Web 客戶機發出的一個請求相關的對象和屬性。一個請求可能跨越多個頁面,涉及多個 Web 組件(由於 forward 指令和 include 動作的關係)
session是是代表與用於某個 Web 客戶機的一個用戶體驗相關的對象和屬性。一個 Web 會話可以也經常會跨越多個客戶機請求
application是是代表與整個 Web 應用程序相關的對象和屬性。這實質上是跨越整個 Web 應用程序,包括多個頁面、請求和會話的一個全局作用域

17Request對象的主要方法:
setAttribute(String name,Object):設置名字爲name的request的參數值
getAttribute(String name):返回由name指定的屬性值
getAttributeNames():返回request對象所有屬性的名字集合,結果是一個枚舉的實例
getCookies():返回客戶端的所有Cookie對象,結果是一個Cookie數組
getCharacterEncoding():返回請求中的字符編碼方式
getContentLength():返回請求的Body的長度
getHeader(String name):獲得HTTP協議定義的文件頭信息
getHeaders(String name):返回指定名字的request Header的所有值,結果是一個枚舉的實例
getHeaderNames():返回所以request Header的名字,結果是一個枚舉的實例
getInputStream():返回請求的輸入流,用於獲得請求中的數據
getMethod():獲得客戶端向服務器端傳送數據的方法
getParameter(String name):獲得客戶端傳送給服務器端的有name指定的參數值
getParameterNames():獲得客戶端傳送給服務器端的所有參數的名字,結果是一個枚舉的實例
getParameterValues(String name):獲得有name指定的參數的所有值
getProtocol():獲取客戶端向服務器端傳送數據所依據的協議名稱
getQueryString():獲得查詢字符串
getRequestURI():獲取發出請求字符串的客戶端地址
getRemoteAddr():獲取客戶端的IP地址
getRemoteHost():獲取客戶端的名字
getSession([Boolean create]):返回和請求相關Session
getServerName():獲取服務器的名字
getServletPath():獲取客戶端所請求的腳本文件的路徑
getServerPort():獲取服務器的端口號
removeAttribute(String name):刪除請求中的一個屬性

18、Servlet執行時一般實現哪幾個方法?
public void init(ServletConfig config)
public ServletConfig getServletConfig()
public String getServletInfo()
public void service(ServletRequest request,ServletResponse response)
public void destroy()JSP
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章