回覆列表
  • 1 # 使用者834195712159

    Service()方法

    在Service() 這個方法裡面,有servletRequest和servletResponse兩個引數。Servlet中的介面中的 service(ServletRequest servletRequest, ServletResponse servletResponse) 方法用於應答請求。例項程式碼在文末。

    1、 原因是每次使用者請求都會都會呼叫 service() 方法。

    2、 servletRequest 封裝了請求資訊(透過J2EE的官方文件中能找到全部的方法)。

    3、servletResponse 封裝了響應資訊,如果想給使用者什麼響應,具體可以使用該介面方法實現。

    一、 Request的具體實現

    透過 ServletRequest 的物件有多種獲取請求引數的方式,這裡就只拿出最常用的四種方法作為講解。可以瞭解一下J2EE的文件裡面有哪些方法。

    1、 String -> getParameter(String name)

    String為返回值,用於獲取單個值。

    2、 String [] -> getParameterValues(String name)

    用於獲取多個值

    3、 Enumeration -> getParameterNames()

    獲取多個name對應的單個值

    4、 Map ->getParameterMap()

    獲取全部的值,以鍵值對的方式存在Map中。

    二、 獲取請求URI、請求方式、域名後面的路徑、引數

    ServletRequest的物件並不能獲取這些資料,但是HttpServletRequest的物件就可以獲取到,所以需要強轉一下物件HttpServletRequest httpServletRequest =(HttpServletRequest) servletRequest;就可以使用以下的方法了。

    1、getRequestURI() 如 /login

    2、getMethod() 如 post

    3、getQueryString() 如 xxx?userid=123&name=DJun

    4、getServletPath() 如 /login

    三、 Response的具體實現

    Response大家都知道是用於回覆使用者的請求內容。介紹一下下面兩個函式:

    1、 getWriter() 透過PrintWriter的物件將回復的內容列印到頁面中

    PrintWriter printWriter = servletResponse.getWriter();

    printWriter.println("Hello,World!");

    2、 setContentType() 設定內容型別(Header)

    如,

    返回一個word給使用者下載: servletResponse.setContentType("application/msword");

    返回HTML或者是文字型別:servletResponse.setContentType("text/html;charset=UTF-8");

  • 中秋節和大豐收的關聯?
  • 剛打的玻璃膠能沾水嗎?