ヘッダーをスキップ
Oracle Application Server PL/SQL Web Toolkitリファレンス
10g(10.1.3.1.0)
B31863-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

3 owa_cookieパッケージ

owa_cookieパッケージには、HTTPのCookieをクライアントのブラウザに送信したり、ブラウザから取得したりするサブプログラムが含まれています。Cookieは、HTTPコール間で状態を保持するためにブラウザに送信される隠ぺいされた文字列です。状態は、クライアントのセッションが確立されている間のみ、または有効期限が指定されている場合は有効期限まで保持されます。システムの日付は、owa_customパッケージで指定されている情報に従って計算されます。

3.1 サマリー

owa_cookie.cookieデータ型: Cookieの名前/値ペアを格納するデータ型です。

owa_cookie.getファンクション: 指定したCookieの値を取得します。

owa_cookie.get_allプロシージャ: Cookieのすべての名前/値ペアを取得します。

owa_cookie.removeプロシージャ: 指定したCookieを削除します。

owa_cookie.sendプロシージャ: HTTPヘッダーにSet-Cookie行を追加します。


注意:

HTTPヘッダーはすべて英語で記述する必要があります。ヘッダーをデータベースから生成する場合は、ヘッダーが英語で作成されていることを確認してください。

3.2 owa_cookie.cookieデータ型

HTTP標準ではCookie名のオーバーロードが認められているので(つまり、同じCookie名に複数の値を関連付けることができる)、このデータ型は特定のCookie名と関連付けられているすべての値を保持するPL/SQL RECORDです。

vc_arr型は、table of varchar2(4000) index by binary_integerです。

表3-1にowa_cookie.cookieデータ型のプロパティを示します。

表3-1 owa_cookie.cookieデータ型

プロパティ 定義

構文:

type cookie is RECORD (
   name           varchar2(4000),
   vals           vc_arr,
   num_vals       integer);

戻り値:

なし


3.3 owa_cookie.getファンクション

指定したCookieに関連する値が返されます。値はowa_cookie.cookieデータ型で返されます。

表3-2にowa_cookie.getファンクションのプロパティを示します。

表3-2 owa_cookie.getファンクション

プロパティ 定義

構文:

owa_cookie.get(name in varchar2) return cookie;

パラメータ:

name: Cookieの名前です。

戻り値:

owa_cookie.cookieデータ型です。


3.4 owa_cookie.get_allプロシージャ

クライアントのブラウザからすべてのCookie名とその値が返されます。値は、ブラウザから送信された順序で示されます。

表3-3にowa_cookie.get_allプロシージャのプロパティを示します。

表3-3 owa_cookie.get_allプロシージャ

プロパティ 定義

構文:

owa_cookie.get_all(
   names          out      vc_arr,
   vals           out      vc_arr,
   num_vals       out      integer);

パラメータ:

names: Cookieの名前です。

vals: Cookieの値です。

num_vals: Cookieの名前/値ペアの数です。

実行結果:

受信した順序での名前と値の配列、および組合せの数です。


3.5 owa_cookie.removeプロシージャ

HTTPヘッダーのSet-Cookie行のexpiresフィールドを01-Jan-1990に設定することで、強制的にCookieを有効期限切れにします。このプロシージャは、HTTPヘッダーのコンテキスト内でコールされる必要があります。

表3-4にowa_cookie.removeプロシージャのプロパティを示します。

表3-4 owa_cookie.removeプロシージャ

プロパティ 定義

構文:

owa_cookie.remove(
   name           in       varchar2,
   val            in       varchar2,
   path           in       varchar2   DEFAULT NULL);

パラメータ:

name: 有効期限切れにするCookieの名前です。

value: Cookieの値です。

path: 現在は使用されていません。

実行結果:

Set-Cookie: <name>=<value> expires=01-JAN-1990


3.6 owa_cookie.sendプロシージャ

Cookieをクライアントに送信するSet-Cookie行を生成します。このプロシージャは、HTTPヘッダーのコンテキスト内で使用する必要があります。

表3-5にowa_cookie.sendプロシージャのプロパティを示します。

表3-5 owa_cookie.sendプロシージャ

プロパティ 定義

構文:

owa_cookie.send(
   name           in       varchar2,
   value          in       varchar2,
   expires        in       date       DEFAULT NULL,
   path           in       varchar2   DEFAULT NULL,
   domain         in       varchar2   DEFAULT NULL,
   secure         in       varchar2   DEFAULT NULL);

パラメータ:

name: Cookieの名前です。

value: Cookieの値です。

expires: Cookieの有効期限が切れる日付です。

path: pathフィールドの値です。

domain: domainフィールドの値です。

secure: このパラメータの値がNULLでない場合は、secureフィールドが行に追加されます。

実行結果:

Set-Cookie: <name>=<value> expires=<expires> path=<path> domain=<domain> secure