特定の方法は次のとおりです。
1。Javaコード<! - 優先度は最高>です
request.getSession()。setMaxinActiveInterval(1800);/*secはユニット、1800 = 60*30、つまり30分*/
2。web.xml <! - 優先度は最低です - >
<session-config> <! - 単位の分 - > <session-timeout> 30 </session-timeout> </session-config>
3。WebサーバーResin.Conf、Tomcat、
<session-config> <! - 単位の分 - > <session-timeout> 30 </session-timeout> <enable-url-rewriting> false </enable-url-rewriting> </session-config>
優先度:1> 3> 2
Tomcatが再起動した後、セッションは通常失敗しません。ブラウザを閉じた後、セッションは失敗します。
一般的なシステムでは、セッションが失敗した後も一部の操作が必要になる場合があります。
(1)ユーザー数を制御します。セッションが失敗すると、システム内のユーザーの数が1つなど削減され、特定の範囲内のユーザー数を制御してシステムのパフォーマンスを確保します。
(2)ユーザーを制御して複数回ログインします。セッションが有効な場合、同じユーザーがログインすると、ログインするように求められます。セッションの有効期限が切れたら、プロンプトなしでログインできます。
では、セッションが失敗した後、どのように一連の操作を実行しますか?
ここでは、リスナーを使用する必要があります。つまり、さまざまな理由でセッションが失敗した場合、リスナーはリスナーで定義されているプログラムを実行できます。
リスナークラスはsessionCreated 和sessionDestroyedのとおりです。HTTPSSESSIONLISTENERクラス、2つの方法があります。
このクラスを継承してから、個別に実装できます。
セッション作成とは、セッションが作成されたときに実行されたメソッドを指します
sessiondestroyedとは、セッションが失敗したときに実行されたメソッドを指します
次のように:
public class onlineListenerはhttpssessionlistener {public void sessioncreated(httpssessionevent event){httpsession ses = event.getsession(); string id = ses.getid()+ses.getcreationtime(); summerconstant.usermap.put(id、boolean.true); //ユーザーを追加} public void sessiondestroyed(httpsessionevent event){httpsession ses = event.getSession(); string id = ses.getid()+ses.getcreationtime();同期(this){summerconstant.usernum--; //ユーザー数summerconstant.usermap.remove(id)による減少; //ユーザーグループから削除すると、ユーザーグループはマップです}}}このリスナーをWeb.xmlで宣言するだけです。
<リスナー> <リスナークラス> com.demo.system.listener.onlineListener </ristener-class> </ristener>
上記は、セッションを使用してユーザーの数を聞く簡単な方法です。実際のプロセスでは、これよりもはるかに複雑な場合があります。
たとえば、ServletContextListenerとhttpsessionListenerの2つのインターフェイスを同時に実装し、メソッドなどを書き換える必要があります。
上記は、編集者が紹介したJavawebセッションの失敗時間設定方法です。それがあなたに役立つことを願っています。ご質問がある場合は、メッセージを残してください。編集者は時間内に返信します。 wulin.comのウェブサイトへのご支援ありがとうございます!