<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 4,comments - 30,trackbacks - 0

    一、Jsp方面

    1、forward 和redirect的區別

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

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

    2、jsp有哪些內置對象?作用分別是什么?

      答:JSP共有以下9種基本內置組件(可與ASP的6種內部組件相對應):

      request 用戶端請求,此請求會包含來自GET/POST請求的參數
      response 網頁傳回用戶端的回應
      pageContext 網頁的屬性是在這里管理
      session 與請求有關的會話期
      application servlet正在執行的內容
      out 用來傳送回應的輸出
      config servlet的構架部件
      page JSP網頁本身
      exception 針對錯誤網頁,未捕捉的例外

    3、jsp有哪些動作?作用分別是什么?

      答:JSP共有以下6種基本動作:

      jsp:include:在頁面被請求的時候引入一個文件。
      jsp:useBean:尋找或者實例化一個JavaBean。
      jsp:setProperty:設置JavaBean的屬性。
      jsp:getProperty:輸出某個JavaBean的屬性。
      jsp:forward:把請求轉到一個新的頁面。
      jsp:plugin:根據瀏覽器類型為Java插件生成OBJECT或EMBED標記

    4、JSP中動態INCLUDE與靜態INCLUDE的區別?

      答:動態INCLUDE用jsp:include動作實現。<jsp:include page="included.jsp" flush="true" />它總是會檢查所含文件中的變化,適合用于包含動態頁面,并且可以帶參數

      靜態INCLUDE用include偽碼實現,定不會檢查所含文件的變化,適用于包含靜態頁面:<%@ include file="included.htm" %>

    5、兩種跳轉方式分別是什么?有什么區別?

      答:有兩種,分別為:

      <jsp:include page="included.jsp" flush="true">
      <jsp:forward page= "nextpage.jsp"/>

      前者頁面不會轉向include所指的頁面,只是顯示該頁的結果,主頁面還是原來的頁面。執行完后還會回來,相當于函數調用。并且可以帶參數.后者完全轉向新頁面,不會再回來。相當于go to 語句。

    6、JSP的內置對象及方法。

      答: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實例

    二、Servlet方面

    1、說一說Servlet的生命周期?

      答:servlet有良好的生存期的定義,包括加載和實例化、初始化、處理請求以及服務結束。這個生存期由 javax.servlet.Servlet接口的init,service和destroy方法表達。 Servlet被服務器實例化后,容器運行其init方法,請求到達時運行其service方法,service方法自動派遣運行與請求對應的doXXX 方法(doGet,doPost)等,當服務器決定將實例銷毀的時候調用其destroy方法。

      與cgi的區別在于servlet處于服務器進程中,它通過多線程方式運行其service方法,一個實例可以服務于多個請求,并且其實例一般不會銷毀,而CGI對每個請求都產生新的進程,服務完成后就銷毀,所以效率上低于servlet。

    2、JAVA SERVLET API中forward() 與redirect()的區別?

      答:前者僅是容器中控制權的轉向,在客戶端瀏覽器地址欄中不會顯示出轉向后的地址;后者則是完全的跳轉,瀏覽器將會得到跳轉的地址,并重新發送 請求鏈接。這樣,從瀏覽器的地址欄中可以看到跳轉后的鏈接地址。所以,前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣 也有助于隱藏實際的鏈接。在有些情況下,比如,需要跳轉到一個其它服務器上的資源,則必須使用sendRedirect()方法。

    3、Servlet的基本架構

      答:

    public class ServletName extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
    ServletException, IOException {
    }
    }

    3、什么情況下調用doGet()和doPost()?

      答:Jsp頁面中的form標簽里的method屬性為get時調用doGet(),為post時調用doPost()。

    4、servlet的生命周期

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

    5、如何現實servlet的單線程模式

      答:<%@ page isThreadSafe="false"%>

    6、頁面間對象傳遞的方法

      答:request,session,application,cookie等

    7、JSP和Servlet有哪些相同點和不同點,他們之間的聯系是什么?

      答:JSP是Servlet技術的擴展,本質上是Servlet的簡易方式,更強調應用的外表表達。JSP編譯后是"類servlet"。 Servlet和JSP最主要的不同點在于,Servlet的應用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP的情況是 Java和HTML可以組合成一個擴展名為.jsp的文件。JSP側重于視圖,Servlet主要用于控制邏輯。

    8、四種會話跟蹤技術

      答:會話作用域ServletsJSP 頁面描述

      page否是代表與一個頁面相關的對象和屬性。一個頁面由一個編譯好的 Java servlet 類(可以帶有任何的 include 指令,但是沒有 include 動作)表示。這既包括 servlet 又包括被編譯成 servlet 的 JSP 頁面

      request是是代表與 Web 客戶機發出的一個請求相關的對象和屬性。一個請求可能跨越多個頁面,涉及多個 Web 組件(由于 forward 指令和 include 動作的關系)

      session是是代表與用于某個 Web 客戶機的一個用戶體驗相關的對象和屬性。一個 Web 會話可以也經常會跨越多個客戶機請求

      application是是代表與整個 Web 應用程序相關的對象和屬性。這實質上是跨越整個 Web 應用程序,包括多個頁面、請求和會話的一個全局作用域

    9、Request對象的主要方法

      答:

      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):刪除請求中的一個屬性

    10、我們在web應用開發過程中經常遇到輸出某種編碼的字符,如iso8859-1等,如何輸出一個某種編碼的字符串?

      答:

    Public String translate (String str) {
    String tempStr = "";
    try {
    tempStr = new String(str.getBytes("ISO-8859-1"), "GBK");
    tempStr = tempStr.trim();
    }
    catch (Exception e) {
    System.err.println(e.getMessage());
    }
    return tempStr;
    }

    11、Servlet執行時一般實現哪幾個方法?

      答:

      public void init(ServletConfig config)
      public ServletConfig getServletConfig()
      public String getServletInfo()
      public void service(ServletRequest request,ServletResponse response)
      public void destroy()
    posted on 2007-08-30 11:39 蠻哥♂楓 閱讀(1505) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 精品国产免费观看久久久 | 免费一级毛片女人图片| 亚洲乱人伦精品图片| 亚洲视频在线免费播放| 亚洲国产精品一区二区久| 久久精品国产免费观看| 亚洲国产成人无码av在线播放| 13一14周岁毛片免费| 亚洲精品国产成人中文| 一色屋成人免费精品网站| 亚洲一久久久久久久久| 日韩伦理片电影在线免费观看| 亚洲JIZZJIZZ妇女| 亚洲国产成人五月综合网| 一二三区免费视频| 亚洲国产精品无码久久一线| 97国产在线公开免费观看| 亚洲国产精品综合福利专区| 最近2019中文字幕免费看最新| 亚洲AV日韩综合一区| 亚洲午夜精品久久久久久浪潮| 最好免费观看高清在线| 亚洲视频在线观看视频| 成人毛片18岁女人毛片免费看| 精品国产日韩亚洲一区在线| 国产国拍亚洲精品福利 | 亚洲国产综合精品| 最近中文字幕mv免费高清电影| 免费人成视频在线播放| 亚洲乱码一区二区三区在线观看| 一区二区免费视频| 最新国产精品亚洲| 伊人久久综在合线亚洲91| 69影院毛片免费观看视频在线 | 亚洲资源在线视频| 国产午夜无码视频免费网站| 中文字幕乱码免费看电影| 精品亚洲成A人无码成A在线观看| 亚洲av无码天堂一区二区三区 | 最新亚洲精品国偷自产在线| 精品亚洲成α人无码成α在线观看|