JSP Web應用開發面試題與答案

來源:互聯網
上載者:User
1、Servlet執行時一般實現哪幾個方法?
   答:Servlet執行時一般實現哪幾個方法?
  (1)public void init(ServletConfig config)
  (2)public ServletConfig getServletConfig() 
  (3)public String getServletInfo()
  (4)public void service (ServletRequest request,
       ServletResponse response)
  (5)public void destroy()

2、說出Servlet的生命週期,並說出Servlet和CGI的區別。
   答:Servlet被伺服器執行個體化後,容器運行其init方法,請求到達時運行其service()方法,service()方法自動運行與請求對應的doXXX方法(doGet,doPost)等,伺服器決定將執行個體銷毀的時候調用destroy()方法。
    與CGI的區別在於:Servlet處於伺服器處理序中,它通過多線程方式運行其service()方法,一個執行個體可以服務於多個請求,並且其執行個體一般不會銷毀,而CGI對每個請求都產生新的進程,服務完成後就銷毀,所以效率上低於Servlet。 

3、說說forward 和redirect的區別。

   答:forward是伺服器請求資源,伺服器直接存取目標地址的URL,把那個URL的響應內容讀取過來,然後把這些內容再發給瀏覽器,瀏覽器根本不知道伺服器發送的內容是從哪兒來的,所以它的地址欄中還是原來的地址。

   redirect就是服務端根據邏輯,發送一個狀態代碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數重新請求,所以session,request參數都可以擷取。

4、什麼情況下調用doGet()和doPost()?
   答:JSP頁面中的form標籤裡的method屬性為get時調用doGet(),為post時調用doPost()。

5、JSP和Servlet有哪些相同點和不同點,他們之間的聯絡是什嗎?
   答:JSP是Servlet技術的擴充,本質上是Servlet的簡易方式,更強調應用的外表表達。JSP編譯後是“類servlet”。
   Servlet和JSP最主要的不同點在於,Servlet的應用邏輯是在Java檔案中,並且完全從展示層中的HTML裡分離開來。而JSP的情況是Java和HTML可以組合成一個副檔名為“.jsp”的檔案。JSP側重於視圖,Servlet主要用於控制邏輯。

6、JSP中動態INCLUDE與靜態INCLUDE的區別?
   答:動態INCLUDE用jsp:include動作實現 它總是會檢查所含檔案中的變化,適合用於包含動態網頁面,並且可以帶參數,其代碼為:
<jsp:include page="included. jsp" flush="true" />
   靜態INCLUDE用include偽碼實現,定不會檢查所含檔案的變化,適用於包含靜態頁面,其代碼為:
<%@ include file="included.htm" %> 

7、四種會話跟蹤技術分別是什嗎?
   答:會話範圍Servlets JSP 頁面描述分別為:
  (1)page是代表與一個頁面相關的對象和屬性。一個頁面由一個編譯好的 Java servlet表示。這既包括servlet又包括被編譯成servlet的JSP頁面。
  (2)request是代表與Web客戶機發出的一個請求相關的對象和屬性。一個請求可能跨越多個頁面,涉及多個Web組件(由於forward指令和include 動作的關係)。
  (3)session是代表與用於某個Web客戶機的一個使用者體驗相關的對象和屬性。一個 Web 會話可以也經常會跨越多個客戶機請求。
  (4)application是代表與整個Web應用程式相關的對象和屬性。這實質上是跨越整個Web應用程式,包括多個頁面、請求和會話的一個全域範圍。 

8、JSP有哪些動作?作用分別是什麼? 
   答:JSP共有以下6種基本動作: 
  (1)jsp:include表示在頁面被請求的時候引入一個檔案。 
  (2)jsp:useBean表示尋找或者執行個體化一個JavaBean。 
  (3)jsp:setProperty表示設定JavaBean的屬性。 
  (4)jsp:getProperty表示輸出某個JavaBean的屬性。 
  (5)jsp:forward表示把請求轉到一個新的頁面。 
  (6)jsp:plugin表示根據瀏覽器類型為Java外掛程式產生OBJECT或EMBED標記。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.