セッション有効期限の設定方法、具体的な方法は以下の通りです:
1. Javaコード
request.getSession().setMaxInactiveInterval(1800);/*秒为单位,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) セッションが無効になったときのユーザー数を制御します。システム内の数値は 1 ずつ減らされるなど、ユーザーを制御します。システムのパフォーマンスを確保するために、数値は一定の範囲内にあります。
(2) セッションが有効な場合、同じユーザーがログインすると、ユーザーがログインしたことを示すプロンプトが表示されます。セッションが期限切れになると、プロンプトを表示せずに直接ログインできます。 。
ここではリスナーを使用する必要があります。つまり、さまざまな理由でセッションが失敗した場合、リスナーはそれを監視し、リスナーで定義されたプログラムを実行できます。
public class OnlineListener implements HttpSessionListener{ public void sessionCreated(HttpSessionEvent 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(); synchronized (this) { SummerConstant.USERNUM--; //用户数减一 SummerConstant.UserMap.remove(id); //从用户组中移除掉,用户组为一个map } } }
<listener> <listener-class>com.demo.system.listener.OnlineListener</listener-class> </listener>
上記はセッションを使用してユーザー数を監視する簡単な方法ですが、実際のプロセスではこれよりもはるかに複雑になる可能性があります。
たとえば、ServletContextListener と HttpSessionListener の 2 つのインターフェイスを同時に実装したり、それらのメソッドを書き換えたりする必要があります。