サーブレット:第五編【seesion】
2335 ワード
1.sessionの基本概念
sessionは別のセッション技術です.違いはCookieがブラウザに保存され、sessionがサーバに保存されていることです.ユーザがブラウザを使用する場合,サーバはユーザの情報を何らかの形でサーバに記録する.Cookieよりもsessionの方が使いやすくて柔軟で、Cookieは文字列しか保存できず、sessionはオブジェクトを保存できます!
2.session常用API long getCreationTime();【Session作成取得時間】 String getId();【Sessionのid取得】 long getLastAccessedTime();【セッションの最後のアクティブな時間に戻る】 ServletContext getServletContext();【サーブレットContextオブジェクトの取得】 void setMaxInactiveInterval(int var1);【セッションタイムアウトの設定】 int getMaxInactiveInterval();【セッションタイムアウト取得】 Object getAttribute(String var1);【Sessionプロパティの取得】 Enumeration getAttributeNames();【Sessionのすべての属性名の取得】 void setAttribute(String var1, Object var2);【Sessionプロパティの設定】 void removeAttribute(String var1);【Sessionプロパティの削除】 void invalidate();【このセッションの破棄】 boolean isNew();【このセッションが新しいか】 セッションドメインオブジェクト
sessionはドメインオブジェクトとして破棄されなければservlet間で通信を実現できる.
上記の値を取得
セッションはいつ使いますか?一般的に、ユーザーレベルのデータを保存するにはsessionを使用します.ブラウザが閉じない限り、データがまだsessionを使用することを望んでいます.
3.sessionライフサイクルと有効期間
1.sessionは、ユーザがサーバのservlet、jspなどの動的リソースに初めてアクセスするときに作成され、サーバのメモリに保存する(HTML、IMAGEなどの静的リソースにアクセスすると作成しない).セッション生成後、ユーザはアクセスを継続し、セッションを読み書きするかどうかにかかわらず、サーバはセッションが一度アクティブになったと考えられる.メモリオーバーフローを防止するために,サーバは長時間アクティブでないセッションをメモリから削除する,この時間はセッションのタイムアウト時間である.セッションのデフォルトのタイムアウト時間は30分で、次の3つの方法で時間を変更します. Tomcat/conf/web.xmlでの構成 プロジェクトのweb.xmlで を設定 setMaxInactiveInterval() を通過
4.Cookieとsessionの比較
1.有効期間が異なる.セッションサイクルとは、アクティブでない時間を指します.例えば私たちは10 Sを設定して、10 S内でsessionが活発でなければ、失効します.ただし、9 Sのときにセッションを使用すると、再計算、再起動、サーバのシャットダウン、またはWebアプリケーションのセッションの再ロードも無効になります.クッキーのライフサイクルは累積時間で計算されます.Cookieはクライアントに格納され、sessionはサービス側にある.サーバへの負担比較.コンカレント量が大きすぎるとsessionはメモリを大量に消費します.一般的にcookieを使用することをお勧めします.
先にここに着いて、後でプロジェクトの応用を更新します~
sessionは別のセッション技術です.違いはCookieがブラウザに保存され、sessionがサーバに保存されていることです.ユーザがブラウザを使用する場合,サーバはユーザの情報を何らかの形でサーバに記録する.Cookieよりもsessionの方が使いやすくて柔軟で、Cookieは文字列しか保存できず、sessionはオブジェクトを保存できます!
2.session常用API
sessionはドメインオブジェクトとして破棄されなければservlet間で通信を実現できる.
// session
HttpSession session = request.getSession();
// session
session.setAttribute("name","Test");
上記の値を取得
// session
HttpSession session = request.getSession();
String value = (String)session.getAttribute("name");
セッションはいつ使いますか?一般的に、ユーザーレベルのデータを保存するにはsessionを使用します.ブラウザが閉じない限り、データがまだsessionを使用することを望んでいます.
3.sessionライフサイクルと有効期間
1.sessionは、ユーザがサーバのservlet、jspなどの動的リソースに初めてアクセスするときに作成され、サーバのメモリに保存する(HTML、IMAGEなどの静的リソースにアクセスすると作成しない).セッション生成後、ユーザはアクセスを継続し、セッションを読み書きするかどうかにかかわらず、サーバはセッションが一度アクティブになったと考えられる.メモリオーバーフローを防止するために,サーバは長時間アクティブでないセッションをメモリから削除する,この時間はセッションのタイムアウト時間である.セッションのデフォルトのタイムアウト時間は30分で、次の3つの方法で時間を変更します.
20
20
4.Cookieとsessionの比較
1.有効期間が異なる.セッションサイクルとは、アクティブでない時間を指します.例えば私たちは10 Sを設定して、10 S内でsessionが活発でなければ、失効します.ただし、9 Sのときにセッションを使用すると、再計算、再起動、サーバのシャットダウン、またはWebアプリケーションのセッションの再ロードも無効になります.クッキーのライフサイクルは累積時間で計算されます.Cookieはクライアントに格納され、sessionはサービス側にある.サーバへの負担比較.コンカレント量が大きすぎるとsessionはメモリを大量に消費します.一般的にcookieを使用することをお勧めします.
先にここに着いて、後でプロジェクトの応用を更新します~