程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Servlet+JavaBean+JSP打造Java Web注冊與登錄功效

Servlet+JavaBean+JSP打造Java Web注冊與登錄功效

編輯:關於JAVA

Servlet+JavaBean+JSP打造Java Web注冊與登錄功效。本站提示廣大學習愛好者:(Servlet+JavaBean+JSP打造Java Web注冊與登錄功效)文章只能為提供參考,不一定能成為您想要的結果。以下是Servlet+JavaBean+JSP打造Java Web注冊與登錄功效正文


HTTP 頭處置
HTTP 頭是 HTTP 要求和呼應中的主要構成部門。在創立 HTTP 要求時須要設置一些 HTTP 頭。在獲得 HTTP 的呼應以後,也會須要對個中包括的 HTTP 頭停止解析。從代碼的角度來講,HTTP 頭的數據構造是 Map<String, List<String>>類型。也就是說,關於每一個 HTTP 頭,能夠有多個值。然則年夜部門 HTTP 頭都只要一個值,只要少部門 HTTP 頭許可多個值。OkHttp 采取了簡略的方法來辨別這兩品種型,使得對 HTTP 頭的應用加倍簡略。
在設置 HTTP 頭時,應用 header(name, value) 辦法來設置 HTTP 頭的獨一值。對統一個 HTTP 頭,屢次挪用該辦法會籠罩之前設置的值。應用 addHeader(name, value) 辦法來為 HTTP 頭添加新的值。在讀取 HTTP 頭時,應用 header(name) 辦法來讀取 HTTP 頭的比來湧現的值。假如該 HTTP 頭只要單個值,則前往該值;假如有多個值,則前往最初一個值。應用 headers(name) 辦法來讀取 HTTP 頭的一切值。
上面的代碼中應用 header 辦法設置了 User-Agent 頭的值,並添加了一個 Accept 頭的值。在停止解析時,經由過程 header 辦法來獲得 Server 頭的單個值,經由過程 headers 辦法來獲得 Set-Cookie 頭的一切值。

public class Headers {
  public static void main(String[] args) throws IOException {
  OkHttpClient client = new OkHttpClient();

  Request request = new Request.Builder()
      .url("http://www.百度.com")
      .header("User-Agent", "My super agent")
      .addHeader("Accept", "text/html")
      .build();

  Response response = client.newCall(request).execute();
  if (!response.isSuccessful()) {
    throw new IOException("辦事器端毛病: " + response);
  }

  System.out.println(response.header("Server"));
  System.out.println(response.headers("Set-Cookie"));
  }
}


Synchronous Get(同步 GET)
下載一個文件,以字符串的情勢打印出他的頭部信息,打印出呼應數據體信息。

String() 辦法作為一些小文件的呼應數據體長短常便利和高效的。然則假如針對一些年夜文件的下載(年夜於 1MB 文件),盡可能防止應用 String() 辦法由於他會將全部文本加載到內存中。針對這類例子優先選擇的處理計劃是將數據體作為一個數據流來處置。

 private final OkHttpClient client = new OkHttpClient();

 public void run() throws Exception {
  Request request = new Request.Builder()
    .url("http://publicobject.com/helloworld.txt")
    .build();

  Response response = client.newCall(request).execute();
  if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

  Headers responseHeaders = response.headers();
  for (int i = 0; i < responseHeaders.size(); i++) {
   System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
  }

  System.out.println(response.body().string());
 }

Asynchronous Get(異步 GET)
在任務線程中停止下載義務,而且在呼應達到的時刻采取回調的方法告訴。這個回調會期待呼應信息頭預備好以後發送,讀取這個呼應頭信息依然會壅塞。今朝的 OKHttp 不支撐異步的 APIS 來吸收處置部門的呼應體。

private final OkHttpClient client = new OkHttpClient();

 public void run() throws Exception {
  Request request = new Request.Builder()
    .url("http://publicobject.com/helloworld.txt")
    .build();

  client.newCall(request).enqueue(new Callback() {
   @Override public void onFailure(Request request, IOException throwable) {
    throwable.printStackTrace();
   }

   @Override public void onResponse(Response response) throws IOException {
    if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

    Headers responseHeaders = response.headers();
    for (int i = 0; i < responseHeaders.size(); i++) {
     System.out.println(responseHeaders.name(i) + ": " + responseHeaders.value(i));
    }

    System.out.println(response.body().string());
   }
  });
 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved