1. 程式人生 > >關於jsp和servlet常見面試題

關於jsp和servlet常見面試題

1.轉發和重定向的區別?
    獲取轉發器:RequestDispatcher rd=request.getRequestDispatcher(String uri)
    轉發:rd.forword(request,response)
    重定向:response.sendRedirect(String uri);
                    轉發(forword)             重定向(redirect)
    請求次數        一次                    兩次
    地址            專案內部                地址任意
    共用request        yes                         no
    地址變化            no                        yes
2.jsp九大內建物件。   名稱                    作用                                作用域
    request            請求物件           客戶端的請求資訊                        Request
    response           響應物件            客戶端的響應                          Page
    pageContext        頁面上下文物件      是取得任何範圍的引數                  Page
    session            會話物件            識別使用者並儲存使用者資訊               Session
    application        應用程式物件         可將資訊儲存在伺服器中                 Application
    out                輸出物件            在Web瀏覽器內輸出資訊                  Page
    config             配置物件              取得伺服器的配置資訊                Page
    page               頁面物件                代表JSP本身                          Page
    exception          異常物件             顯示異常資訊                        Page

3.                session和 cookie的區別
    安全性       安全        不安全  
    儲存位置    伺服器        瀏覽器
    儲存資料    大量        少量
    用法       跟蹤會話       記錄客戶資訊
4.                      get請求     和    post請求的區別
    安全性:     不安全                安全
    儲存資料      少量                 大量
    本質:get是從伺服器上獲取資料,post是向伺服器提交資料。
5.servlet:擴充套件web伺服器功能的元件規範。
6.jsp:伺服器端的動態頁面技術規範,本質是一個servlet
        test.jsp---->test_jsp.java
7.jsp和servlet的區別和聯絡:
    1.jsp經編譯後就變成了Servlet.
    2.jsp更擅長表現於頁面顯示,servlet更擅長於邏輯控制.
    3.Servlet中沒有內建物件,Jsp中有內建物件
    4.兩者建立的方式不一樣
    5.Jsp是Servlet的一種簡化,使用Jsp只需要完成程式設計師需要輸出到客戶端的內容,
    Servlet的Service方法用於生成對客戶端的響應。
    聯絡:  JSP是Servlet技術的擴充套件,本質上就是Servlet的簡易方式。
    JSP側重於檢視,Servlet主要用於控制邏輯。
8,jsp的六大動作,作用分別是什麼?
    jsp:include:在頁面被請求的時候引入一個檔案。
    jsp:useBean:尋找或者例項化一個JavaBean。
    jsp:setProperty:設定JavaBean的屬性。
    jsp:getProperty:輸出某個JavaBean的屬性。
    jsp:forward:把請求轉到一個新的頁面。
    jsp:plugin:JSP中嵌入Java外掛
9.    jsp的三大指令。
    Page:該指令是針對當前頁面的指令
    include:用於指定包含另一個頁面
    taglib:用於定義和訪問自定義標籤
10.servlet的生命週期?
    它指的是容器如何建立servlet物件          例項化
    如何對其進行初始化,                     初始化  呼叫init(),該方法只會執行一次
    如何調其方法來處理請求,                 就緒     呼叫service(),請求一次,呼叫一次
    以及如何銷燬該物件的過程                 銷燬     呼叫destroy(),該方法只會執行一次
11.servlet和filter的區別?
                            Filter                                           Servlet
介面                  實現Filter介面                                實現Servlet介面
呼叫方法           doFilter()                                            service()
初始化時間       先初始化                                              後初始化
銷燬                 晚於Servlet銷燬之後                   伺服器停止後銷燬
servlet作用  主要是處理客戶端的請求並將其結果傳送到客戶端。
filter作用
    1. 在HttpServletRequest到達Servlet之前,攔截客戶的HttpServletRequest。
    2. 根據需要檢查HttpServletRequest,也可以修改HttpServletRequest頭和資料。
    3. 在HttpServletResponse到達客戶端之前,攔截HttpServletResponse。
    4. 根據需要檢查HttpServletResponse,也可以修改HttpServletResponse頭和資料。
12.bs和cs架構的區別?
    CS響應速度快,安全性強,一般應用於區域網中,但是開發維護成本高;
    BS可以實現跨平臺,便於維護,但是個性化能力低,響應速度較慢。
    所以有些單位日常辦公應用BS,在實際生產中使用CS結構。