• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ServletでSessionの一覧を取得)

Servletでセッションの一覧を取得する方法

このQ&Aのポイント
  • ServletでSessionの一覧を取得する方法について調べています。
  • Tomcatの管理画面にはセッションの一覧表示があり、それを実現する方法を知りたいです。
  • Servlet API v2.1以降でセッションの一覧取得が廃止されたようですが、代替方法はあるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • teketon
  • ベストアンサー率65% (141/215)
回答No.1

認証系かな。 HttpSessionListenerインタフェースを使用します。このリスナは、HttpSessionの作成時、廃棄時に呼ばれるメソッドを持っています。 で、作成時にSessionIdを共有メモリに登録します。共有メモリは、対応するスコープで選択してください(AppレベルならSingletonオブジェクト、サーバ間共有ならDBなど)。 そして、HttpSessionはタイムアウトで破棄される場合があるので、破棄時はこの共有メモリに登録されていないかチェックしSessionIdが存在するなら削除を行います。 これでこの共有メモリを他プログラムから参照すれば、Sessionの一覧を作成できるはずです。 あとは、Sessionの一覧から削除した際の動きですが、これはFilterインタフェースを使用します。このインタフェースは、リクエスト毎に内容をチェックできます。 それで、リクエストにHttpSessionが含まれるとき、共有メモリ内にSessionIdがあるかチェックし、共有メモリになければHttpSessionを破棄します。 たぶん、こんな感じ。ここまで書きましたが、SpringSecurityというフレームワークがこういった動作をしています。 また、tomcatのmanagerはtomcat固有APIを使用している可能性があるため、避けたほうが良いです。

unko347
質問者

お礼

大変参考になりました。ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 空き番号取得について

    テーブルから空き番号取得するという方法を 探しているのですが http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=22751&forum=26&6 にあったように「今入っている数字の次の番号」を 取得する方法はわかりましたが 先頭の判断をSQLで判別するには どのようにしたらいいでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • TOMCAT起動エラー

    エクリプスでTOMCATを起動させると以下のようなエラーがでます Parse Fatal Error at line 1 column 1: Premature end of file. org.xml.sax.SAXParseException: Premature end of file. 調べていたらhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14048&forum=12で回答あるじゃんと思ったら、 『servlet.xml』 <?xml version='1.0' encoding='utf-8'?> 『web.xml』 <?xml version="1.0" encoding="ISO-8859-1"?> ・・・どこがいけないのかが分かりません 回答お願いします

  • TomcatでのCGI

    Tomcatでcgiを動かすため、以下のことをしました。 servlets-cgi.renametojar を servlets-cgi.jar に名前変更 web.xmlを修正 (<servlet>と<servlet-mapping>のコメントアウト) cgiのファイル作成 #!/usr/bin/perl print "Test"; アクセスすると、真っ白な画面しか表示されず、ブラウザでソースの表示をすると、以下のソースしかありません。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD> <META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD> <BODY></BODY></HTML> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=11945 ここの方は、Apacheと連携することで解決しています。 しかし、Tomcatのみで動かそうと思っているので、ご指導よろしくお願いいたします。

  • Javascriptのクエリ(パラメータ)取得

    Javascriptでクエリが取得できません。 現在、行おうとしていることは <html> <body> ~ <script src="http://www.hoge.jp/example.js?id=1"></script> ~ </body> </html> のidの値をexample.jsでクエリ取得し、example.js内でidを用いた計算を 行おうと思っています。 調べたところ、http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47607&forum=28&4 のような情報はありましたが、scriptタグの事前にファイルを読み込ませると言った方法でした。 直接jsファイル内でクエリが読み込める方法がありましたら教えてくれませんか?

  • 標準コンテキストメニューのイベント取得方法について

    お世話になります。 現在、VS2010 C#で作成したTextboxの右クリック時に表示される コンテキストメニュー(元に戻す、切り取り、コピー他)を選択された時の イベントが取得できず調査しております。 下記、参考サイト(2)を見てみたのですが、 Formのload時に「this.○○.ContextMenuStrip.Opening」を 実施しても「ContextMenuStrip」がnullとなります。。。 何か方法がございましたらご教示頂けないでしょうか? ■参考サイト (1)http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=35503&forum=7 (2)http://blogs.yahoo.co.jp/kenatzh/31673805.html

  • ASP.NETのサーバー移行に伴うエラーについて教えて下さい

    こんばんわ。 localの開発環境で作ったASP.NETのアプリケーションを、サーバーに置いて実行するとエラーが出てしまいます。 色々、調べてhttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=12465&forum=7&1のサイトと同じ事を行ったのですがエラーは 解消できず困っています。 ご存知の方、ご教示下さいませ。 よろしくお願い致します。

  • jarファイル実行でDB接続するやり方(Eclipseで開発)

    Eclipseを使って、DB接続(DBはMySQL)して情報を表示する アプリケーションを作成しています。 Eclipse上ではうまく動作するんですが、jarファイルを作成して 実行するとDB接続時にエラーが発生します。 ↓ここにも同じような問題で解決策が書かれていたんですが、  具体的な解決法がわかりませんでした。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27342&forum=12 わかる方がいらっしゃいましたら教えてください。 よろしくお願いいたします。

  • サーブレットでスレッドを生成

    チャットのようなプログラムで、 (1)クライアントがアプレットをダウンロード (2)アプレットが下(リンク)のようなプログラムにアクセスする とゆうような場合、スレッドが必要になるだろうとテスト用のプログラムを作ったのですが何か間違いがあれば教えてください。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27474&forum=11&0 ちなみに while(i==0) if(i==1) を取れば動くと確認していますが。

    • ベストアンサー
    • Java
  • VB-【デスクトップの表示】イベント取得方法

    下記のとおり同じ内容のものを見つけたのですが、結局どうしたらいいかわからないので 質問です。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=30384&forum=7 やりたいことは、 VBにて、WebBrowserコントロールを使用しサイト表示させたものを作り それ(exe)をデスクトップ上に常駐させておく というものを作成目的としています。 要するにWindows7においてのActiveDesktop機能の実現です。 (Combooなどフリーソフトも試してますが、適切なものが見つかってません。) そこで1つ問題があり、 デスクトップにあります「デスクトップの表示」で、全体が最小化されますが 作ったプログラムだけは最小化されず残したままの状態にする方法がわかりません。 プログラムやツール等どの方法でもかまいませんので、ご存じの方が いらっしゃいましたら教えていただければと思っています。 ちなみに「Layout」イベントではイベントが走りません。 よろしくお願いします。

  • Win2003R2+ADでインターネット接続制限

    Windows2003serverR2で、ActiveDirectoryでユーザを管理しております。 ある特定のユーザ、若しくは端末のみインターネットへの接続を とめようとしております。 ルータでやれば出来ると思うのですが、ADで出来ればやりたいと 考えております。 IEを起動しない等ソフトの起動制限ではなく、その他の方法を検討しています。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=13661&forum=6 にWin2000での方法は書かれていたのですが、同じことが2003では出来ないのでしょうか? ここのページでは3段階にしたいと書かれておりますが、 インターネット・メールが止められればよいです。 どなたかご存知の方いらっしゃいましたらご教授願います。

このQ&Aのポイント
  • この人アホなの?センセーショナルな感覚の正しさについての質問
  • 歩道でのすれ違いや横断歩道での行動に疑問がある
  • 人との関わり方によってアホと思われるかどうかを考える
回答を見る

専門家に質問してみよう