<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 請求行 ## 重要方法 * String getMethod():獲取請求的方式. * String getContextPath():獲取項目動態路徑. * String getRemoteAddr():獲取請求者的IP. ## 了解的方法 * String getRequestURI():獲取的是請求的資源(不帶get請求的參數). * Sting getQueryString() :獲取get請求的參數. * String getProtocol():獲取協議和版本. ## 實例 ~~~ System.out.println(request.getMethod().equals("GET")); System.out.println(request.getContextPath()); System.out.println(request.getRemoteAddr()); System.out.println(request.getRequestURI()); System.out.println(request.getQueryString()); System.out.println(request.getProtocol()); ~~~ 結果 ``` true /dome 127.0.0.1 /dome/show name=jack HTTP/1.1 ``` # 請求頭 ## 重要方法 * String getHeader(String name) :獲取 一個請求頭. ~~~ System.out.println(request.getHeader("accept")); ~~~ ## 了解方法 * int getIntHeader(String name) * long getDateHeader(String name) * Enumeration getHeaders(String name) # 請求體 請求體就是請求的實體參數.key&value形式. ## 獲取請求體的數據(適用get和post) http://127.0.0.1:8080/dome/show?name=jack&hobby=1&hobby=2 ~~~~~~ //獲取單值 String name = request.getParameter("name"); System.out.println(name); //獲取多值 String[] hobbies = request.getParameterValues("hobby"); System.out.println(Arrays.toString(hobbies)); //獲取所有參數 Map<String, String[]> parameterMap = request.getParameterMap(); for (String key : parameterMap.keySet()) { System.out.println(Arrays.toString(parameterMap.get(key))); } ~~~~~~ # 亂碼產生原因 服務器和瀏覽器編碼 /解碼不一致造成的. * 響應的亂碼:服務器用iso-8859-1方式編碼 ,瀏覽器用UTF-8方式解碼. 解決方式 : response.setContentType("text/html;charset=utf-8"); * 請求的亂碼: 瀏覽器用utf-8編碼,服務器是用iso-8859-1解碼 . * 針對于下載功能,文件名也會產生亂碼,不同瀏覽器對下載文件的中文名的編碼格式不一致. 解決方式:ie和chrome : URIEncoder.encode("中文名","編碼方式"). # 注意 tomcat8 雖說是用UTF-8編碼,但是只是針對GET請求,POST請求還是ISO-8859-1的編碼.在server.xml設置的字符集也是只能設置GET的編碼方式無法改變POST的. 有個TOMCAT緩沖區的概念,使用request.setCharacterEncoding("utf-8") 就是設置緩沖區的字符集. # 請求的亂碼解決方式 第一種方式 ~~~ tomcat8之前默認的編碼方式都是"iso-8859-1",8和8之后都是utf-8. //模擬瀏覽器 String name = "杰克"; System.out.println(name); //編碼 String encode = URLEncoder.encode(name, "utf-8"); System.out.println(encode); //模擬服務器,解碼 String decode = URLDecoder.decode(encode, "iso-8859-1"); System.out.println(decode); ~~~ 第二種方式 ~~~ String str = "中國"; byte[] bytes = str.getBytes("iso-8859-1"); //編碼方式 System.out.println(new String(bytes, "utf-8")); //解碼方式 ~~~ ## 針對post請求 ~~~ request.setCharacterEncoding("utf-8"); ~~~ # 請求轉發 ~~~ request.getRequestDispatcher("/內部路徑(不帶conext的路徑)").forward(request, response); ~~~ ## 重定向和請求轉發區別 1. 重定向發送兩次請求,請求轉發發送一次請求. 2. 重定向地址欄變化請求轉發地址欄不變. 3. 重定向是響應發起的,請求轉發是請求發起. 4. 重定向路徑不帶協議和主機的絕對路徑,請求抓發是內部路徑. 5. 重定向不能使用request的屬性操作,請求轉發可以使用request屬性操作. # request域對象 request域只能在一個訪問內有效.重定向不能使用request域,請求轉發可以. 創建:請求的時候. 銷毀:生成響應的時候. ## 方法 * request.setAttribute(name,value). * request.getAttribute(name). * request.removeAttribute(name).
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看