十、会话状态_MySQL

Jun 01, 2016 pm 02:07 PM
cookie セッション 保存 情報 物体 サーバ

10.1 会话状态概述

   HTTP协议的“无状态”(Stateless)特点带来了一系列的问题。特别是通过在线商店购物时,服务器不能顺利地记住以前的事务就成了严重的问题。它使得“购物篮”之类的应用很难实现:当我们把商品加入购物篮时,服务器如何才能知道篮子里原先有些什么?即使服务器保存了上下文信息,我们仍旧会在电子商务应用中遇到问题。例如,当用户从选择商品的页面(由普通的服务器提供)转到输入信用卡号和送达地址的页面(由支持SSL的安全服务器提供),服务器如何才能记住用户买了些什么?

   这个问题一般有三种解决方法:

Cookie。利用HTTP Cookie来存储有关购物会话的信息,后继的各个连接可以查看当前会话,然后从服务器的某些地方提取有关该会话的完整信息。这是一种优秀的,也是应用最广泛的方法。然而,即使Servlet提供了一个高级的、使用方便的Cookie接口,仍旧有一些繁琐的细节问题需要处理:
从其他Cookie中分别出保存会话标识的Cookie。
为Cookie设置合适的作废时间(例如,中断时间超过24小时的会话一般应重置)。

把会话标识和服务器端相应的信息关联起来。(实际保存的信息可能要远远超过保存到Cookie的信息,而且象信用卡号等敏感信息永远不应该用Cookie来保存。)
改写URL。你可以把一些标识会话的数据附加到每个URL的后面,服务器能够把该会话标识和它所保存的会话数据关联起来。这也是一个很好的方法,而且还有当浏览器不支持Cookie或用户已经禁用Cookie的情况下也有效这一优点。然而,大部分使用Cookie时所面临的问题同样存在,即服务器端的程序要进行许多简单但单调冗长的处理。另外,还必须十分小心地保证每个URL后面都附加了必要的信息(包括非直接的,如通过Location给出的重定向URL)。如果用户结束会话之后又通过书签返回,则会话信息会丢失。
隐藏表单域。HTML表单中可以包含下面这样的输入域:<INPUT TYPE="HIDDEN" NAME="session" VALUE="...">。这意味着,当表单被提交时,隐藏域的名字和数据也被包含到GET或POST数据里,我们可以利用这一机制来维持会话信息。然而,这种方法有一个很大的缺点,它要求所有页面都是动态生成的,因为整个问题的核心就是每个会话都要有一个唯一标识符。
   Servlet为我们提供了一种与众不同的方案:HttpSession API。HttpSession API是一个基于Cookie或者URL改写机制的高级会话状态跟踪接口:如果浏览器支持Cookie,则使用Cookie;如果浏览器不支持Cookie或者Cookie功能被关闭,则自动使用URL改写方法。Servlet开发者无需关心细节问题,也无需直接处理Cookie或附加到URL后面的信息,API自动为Servlet开发者提供一个可以方便地存储会话信息的地方。

   10.2 会话状态跟踪API

   在Servlet中使用会话信息是相当简单的,主要的操作包括:查看和当前请求关联的会话对象,必要的时候创建新的会话对象,查看与某个会话相关的信息,在会话对象中保存信息,以及会话完成或中止时释放会话对象。

   10.2.1 查看当前请求的会话对象

   查看当前请求的会话对象通过调用HttpServletRequest的getSession方法实现。如果getSession方法返回null,你可以创建一个新的会话对象。但更经常地,我们通过指定参数使得不存在现成的会话时自动创建一个会话对象,即指定getSession的参数为true。因此,访问当前请求会话对象的第一个步骤通常如下所示:
  HttpSession session = request.getSession(true);



   10.2.2 查看和会话有关的信息

   HttpSession对象生存在服务器上,通过Cookie或者URL这类后台机制自动关联到请求的发送者。会话对象提供一个内建的数据结构,在这个结构中可以保存任意数量的键-值对。在2.1或者更早版本的Servlet API中,查看以前保存的数据使用的是getValue("key")方法。getValue返回Object,因此你必须把它转换成更加具体的数据类型。如果参数中指定的键不存在,getValue返回null。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

小紅書で透かしなしで写真を保存する方法 小紅書で透かしなしで写真を保存する方法 小紅書で透かしなしで写真を保存する方法 小紅書で透かしなしで写真を保存する方法 Mar 22, 2024 pm 03:40 PM

小紅書には誰でも自由に閲覧できる豊富なコンテンツがあり、毎日の退屈を解消し、自分自身を助けるためにこのソフトウェアを使用することができます。このソフトウェアを使用する過程で、時々さまざまな美しいものを見ることができます。写真を保存したいと思う人はたくさんいますが、しかし、保存された写真には透かしがあり、これは非常に影響力があります。誰もがここで透かしなしで写真を保存する方法を知りたがっています。エディターは必要な人のために方法を提供します。誰でも理解してすぐに使用できます。 1. 画像の右上隅にある「...」をクリックしてリンクをコピーします。 2. WeChat アプレットを開きます。 3. WeChat アプレットでサツマイモ ライブラリを検索します。 4. サツマイモ ライブラリに入り、取得することを確認します。リンク 5. 写真を取得して携帯電話のアルバムに保存します

PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド PHP を使用して IP プロキシ サーバーを構築するためのベスト プラクティス ガイド Mar 11, 2024 am 08:36 AM

ネットワーク データ転送において、IP プロキシ サーバーは重要な役割を果たし、ユーザーが実際の IP アドレスを隠し、プライバシーを保護し、アクセス速度を向上させるのに役立ちます。この記事では、PHP を使用して IP プロキシ サーバーを構築する方法に関するベスト プラクティス ガイドを紹介し、具体的なコード例を示します。 IPプロキシサーバーとは何ですか? IP プロキシ サーバーは、ユーザーとターゲット サーバーの間にある中間サーバーであり、ユーザーとターゲット サーバー間の転送ステーションとして機能し、ユーザーのリクエストと応答を転送します。 IPプロキシサーバーを使用する場合

Douyin動画をダウンロードして保存する方法 Douyin動画をダウンロードして保存する方法 Mar 29, 2024 pm 02:16 PM

1.Douyinアプリを開き、ダウンロードして保存したい動画を見つけて、右下隅の[共有]ボタンをクリックします。 2. 表示されるポップアップウィンドウで、2 行目の機能ボタンを右にスライドし、[ローカルに保存] を見つけてクリックします。 3. この時点で新しいポップアップ ウィンドウが表示され、ユーザーはビデオのダウンロードの進行状況を確認し、ダウンロードが完了するまで待つことができます。 4. ダウンロードが完了すると、[保存しました。アルバムに移動して表示してください] というメッセージが表示され、ダウンロードしたビデオがユーザーの携帯電話のアルバムに正常に保存されます。

Dnsmasq を DHCP リレー サーバーとして構成する方法 Dnsmasq を DHCP リレー サーバーとして構成する方法 Mar 21, 2024 am 08:50 AM

DHCP リレーの役割は、2 つのサーバーが異なるサブネット上にある場合でも、受信した DHCP パケットをネットワーク上の別の DHCP サーバーに転送することです。 DHCP リレーを使用すると、ネットワーク センターに集中 DHCP サーバーを展開し、それを使用してすべてのネットワーク サブネット/VLAN に IP アドレスを動的に割り当てることができます。 Dnsmasq は、一般的に使用される DNS および DHCP プロトコル サーバーであり、ネットワーク内の動的ホスト構成の管理を支援する DHCP リレー サーバーとして構成できます。この記事では、dnsmasq を DHCP リレー サーバーとして構成する方法を説明します。コンテンツ トピック: ネットワーク トポロジ DHCP リレー上の静的 IP アドレスの構成 集中型 DHCP サーバー上の DHCP リレー D

モモステータスの設定方法 モモステータスの設定方法 Mar 01, 2024 pm 12:10 PM

有名なソーシャル プラットフォームである Momo は、ユーザーに日常の社会的交流のための豊富な機能サービスを提供します。 Momo では、ユーザーは自分の生活状況を簡単に共有したり、友達を作ったり、チャットしたりすることができます。その中でも、設定ステータス機能は、ユーザーが現在の気分やステータスを他の人に示すことで、より多くの人々の注目とコミュニケーションを集めることができます。では、モモのステータスをどのように設定すればよいのでしょうか? 以下に詳しく説明します。 Momo にステータスを設定するにはどうすればよいですか? 1. Momo を開き、右下隅にある [More] をクリックし、[Daily Status] を見つけてクリックします。 2. ステータスを選択します。 3. 設定状況が表示されます。

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか? Epic がオフラインでゲームに参加できない理由の解決策 Mar 13, 2024 pm 04:40 PM

Epic サーバーがオフラインのときにゲームに参加できない場合はどうすればよいですか?この問題は多くの友人が経験しているはずです。このプロンプトが表示されると、正規のゲームが起動できなくなります。この問題は通常、ネットワークやセキュリティ ソフトウェアからの干渉によって引き起こされます。では、どのように解決すればよいでしょうか?今回の編集者が説明します。解決策を皆さんと共有したいと思います。今日のソフトウェア チュートリアルが問題の解決に役立つことを願っています。オフライン時に epic サーバーがゲームに参加できない場合の対処方法: 1. セキュリティ ソフトウェアによって妨害されている可能性があります。ゲーム プラットフォームとセキュリティ ソフトウェアを閉じて、再起動します。 2. 2 つ目は、ネットワークの変動が大きすぎることです。ルーターを再起動して機能するかどうかを確認してください。状態に問題がない場合は、5G モバイル ネットワークを使用して動作を試みることができます。 3. それならもっとあるかもしれない

動画アカウントの動画をフォトアルバムに保存するにはどうすればよいですか?メソッドの共有 動画アカウントの動画をフォトアルバムに保存するにはどうすればよいですか?メソッドの共有 Mar 26, 2024 am 11:21 AM

ビデオ アカウントは、ユーザーが自分のビデオを撮影、編集、共有できる人気のショートビデオ アプリケーションです。ただし、これらの素晴らしいビデオをフォト アルバムに保存して、必要なときにいつでも見返せるようにしたい場合があります。そこで、次にビデオアカウントのビデオをアルバムに保存する方法をいくつか紹介します。動画は、Video Number アプリケーションの組み込み機能を通じて保存できます。アプリを開いて、保存したい動画を見つけます。ビデオの右下隅にあるオプションアイコンをクリックすると、メニューが表示されるので、「アルバムに保存」を選択します。これにより、ビデオが携帯電話のフォトアルバムに保存されます。方法 2 は、スクリーンショットを撮ってビデオを保存することです。この方法は比較的簡単ですが、保存された画像にはビデオ コントロール バーなどの要素が含まれるため、十分に純粋ではありません。あなた

Toutiao からダウンロードしたビデオは携帯電話のどこにありますか?動画をフォトアルバムに保存するにはどうすればよいですか? Toutiao からダウンロードしたビデオは携帯電話のどこにありますか?動画をフォトアルバムに保存するにはどうすればよいですか? Mar 07, 2024 pm 09:30 PM

人気のニュースおよび情報アプリケーションとして、Toutiao はユーザーが楽しめる豊富で多様なビデオ コンテンツを提供します。場合によっては、ユーザーはこれらの素晴らしいビデオを携帯電話に保存したいと思うかもしれませんが、Toutiao によってダウンロードされたビデオが携帯電話のどこに保存されているかがわかりません。 1. Toutiao からダウンロードしたビデオは携帯電話のどこにありますか?内部ストレージの場所 Toutiao を使用してビデオをダウンロードすると、デフォルトではビデオは携帯電話の内部ストレージに保存されます。これらのビデオ ファイルは、携帯電話のファイル マネージャーまたはストレージ オプションを通じて簡単に見つけることができます。ビデオ保存パス 通常、Toutiao でダウンロードしたビデオは携帯電話の特定のフォルダーに保存されます。携帯電話のストレージで「今日の Toutiao」、「Toutiao」、「Vide」という名前を探してみてください。

See all articles