2

私は Java で小さな Web サーバーを作成しておりHttpCore、ほとんどの Http 要求/応答などに使用しています。
今は、Cookie を作成、保存、およびロードできるようにしたいと考えています。私は何も見つけることができずHttpCore、他のライブラリに精通していません。Cookie を処理するための既存のライブラリ (できれば実際の例を含む) はありますか?

編集:Cookieの使用に関して少し混乱していたようです。それがどのように機能するのか完全にはわかりませんが、セッションを維持し、Web サーバーからセッション変数にアクセスしたいと考えています。これどうやってするの?ブラウザが Cookie を保存する場合、それらはサーバーに送信されますか? それらにアクセスするにはどうすればよいですか?

4

1 に答える 1

2

サーバーでのセッション サポートは、通常、オブジェクト ストアを使用して構築されます。単純なオブジェクト ストアは、Map または Set です。このストア内のオブジェクト (マップの場合は値) は、論理セッションの概念を持つ 1 対 1 のマッピングを持っています。つまり、サーバーによって作成されたセッションごとに、ストア内に 1 つのアイテムが存在します。

ストアによって管理されるセッションでは、属性をセッションに関連付けることができます。そのような属性のリストは事前にわからない場合があるため、この目的のために別のマップが必要になります。キーは属性名になり、値は属性値になります。

セッション ストアの管理に関する限り、API 呼び出しがサーバーに対して行われたときに、ストアに新しいセッションを作成する必要があります。簡単に言えば、Web アプリケーションがセッションを作成する必要があると判断した場合、サーバーの API はそのために必要なインターフェースを提供する必要があります。セッション オブジェクトを作成するだけでは十分ではありません。また、最初にセッションを作成するときに、セッション ID を Cookie として書き出す必要があります。このような場合、API は適切な応答を作成できるようにする必要があります。特に HttpServletRequest および HttpSession クラスのサーブレット API と、この目的のためのサーブレット コンテナーの実装を確認することをお勧めします。

リクエストからの Cookie へのアクセスについては、受信 HTTP リクエスト ヘッダーを解析して、ブラウザから送信された Cookie を確認する必要があります。ブラウザーやその他の HTTP クライアントはSet-Cookie、この目的で要求ヘッダーを使用することが期待されています。リクエストで有効な Cookie が提供された場合にのみ、セッション オブジェクトが Web アプリケーションに返されるようにする必要があります。

于 2011-06-11T16:53:51.553 に答える