• 締切済み

JSPで、sessionのタイムアウトを制御したいのですが・・・

じつはかなり素人なのですが、JSPで、冒頭のほうに、例えば <jsp:useBean id="db" class="db*****.db*****bean" scope="session"/> と記述したとします。で、このsessionのタイムアウトになる時間を制御したいのですが、どのようにしたらよいのかわかりません。 JAVAの記述で制御できる、ということは聞いたことがあるのですが・・・。 もしそれが難しければ、カウントをとって、「sessionタイムアウトまで **分前です」のようなアラートでも出そうかと思っていたのですが・・・。 どなたか、ぜひ教えてください。

  • Java
  • 回答数2
  • ありがとう数1

みんなの回答

  • covachan
  • ベストアンサー率38% (46/120)
回答No.2

どのコンテナを使用していますか? もしTomcatであればweb.xmlのsession-configのところで time outの設定はできます。デフォルトでは30分になっています。 それでsessionの寿命を設定しておきsession.getCreationTime() あたりでセッションの生成時間を取得して計算すれば「あと何分です」 みたいな事は出来るのではないでしょうか??

  • zzzzzz
  • ベストアンサー率61% (70/113)
回答No.1

タイムアウト時間の設定なら <% session.setMaxInactiveInterval(sec) %> 取得なら <% t = session.getMaxInactiveInterval(); %> でできるはずです。 JRun3.1ではsecに大きな値(Integer.MAX_VALUE/1000以上)を入れた場合にgetMaxInactiveInterval()が正しい結果を返さないそうです。

関連するQ&A

  • JSPで、sessionのタイムアウトを制御したいのですが・・・

    じつはかなり素人なのですが、JSPで、冒頭のほうに、例えば <jsp:useBean id="db" class="db*****.db*****bean" scope="session"/> と記述したとします。で、このsessionのタイムアウトになる時間を制御したいのですが、どのようにしたらよいのかわかりません。 JAVAの記述で制御できる、ということは聞いたことがあるのですが・・・。 もしそれが難しければ、カウントをとって、「sessionタイムアウトまで **分前です」のようなアラートでも出そうかと思っていたのですが・・・。 どなたか、ぜひ教えてください。

  • JSPでsession変数が勝手に書き換えられる

    お世話になっています。 JSPを使ってプログラミングをしていますが、画面遷移の途中でsession変数の内容が空になってしまう現象に悩まされています。 画面遷移は、 ■入力画面 <jsp:useBean id="apply" scope="session" class="apply.Apply2009Bean" /> ↓post ■確認画面(ここで、前の画面で入力された値をsessionに保存) <jsp:useBean id="apply" scope="session" class="apply.Apply2009Bean" /> ↓post ■申し込み完了画面(入力された値をDBに保存) <jsp:useBean id="apply" scope="session" class="apply.Apply2009Bean" /> ここで、申し込み完了画面になるとapplyという変数の中が全部nullになっています。 念のため暗黙のsession変数からgetId()でセッションIDを画面に出してみると<%=session.getId()%> 申し込み画面:585C94623773F49C0708E050C95E20D2 確認画面:5C35DCF1B68850A762D531CAF2F9700E 完了画面:7D1035FD035C7767C8CEB1D938325D60 と、毎回セッションIDが変わっています。  ちなみに、テスト環境ではこの問題は起こらず、本番環境のみで発生します。  同様の問題を経験したことがあるかたはいらっしゃいませんでしょうか。 構成は ■テスト環境: os:WindowsXP SP2 server:Tomcat 4.1 Java: 1.4.2 ■本番環境: os:FreeBSD 6.1-RELEASE-p6 server:Tomcat 4.1 Java: 1.4.2  よろしくお願いいたします。

    • ベストアンサー
    • Java
  • セッションについて。

    プログラミング初心者です。サーブレットを勉強しています。 同じオブジェクトがセッション上で使い続けられず、困っています。 あるJSPファイル内で、 <jsp:useBean class="kajitu" id="kajitu" scope="session"/> という記述をし、そのファイル内で、 kajitu = db.load(1);//戻り値として、kajituオブジェクトが戻ってくる。戻ってくるkajituオブジェクトはdbクラス内で生成し、値を入れたものが返ってくる。 という記述をし、kajituオブジェクトに値をいれた(つもり)のですが、遷移して次のページにいくと、kajituオブジェクトは空(初期状態)になっています。kajituオブジェクトについて、何かいじっている処理は上の操作以外に特にありません。 上記の処理は、まずいやり方でしょうか? よろしくお願いします。

  • MVCモデルのJSPの使い方

    こんにちは。二回目の質問をさせていただきます。 今MVCモデルとJDBCで、社員データをDBにいれる簡単なプログラムを作ろうとしているのですが、初期の段階で躓きました。 サーブレットにてBeanをSessionに関連付けているのですが、いざJSPにてBeanを使おうとするとエラーが出るのです。 JSPのコードは冒頭部分にきちんと下記のものを記述し、 (Beanクラス名はFileBeanです。サーブレットできちんとSessionで関連付けています) <jsp:useBean id="bean" class="FileBean" scope="session" /> JSPの中で、Beanのメソッドを使うようにしているのですが下記のようなエラーが出てしまいます。 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません注: sun.tools.javac.Main は推奨されません。 JSPファイル: /Nyuryoku.jsp の中の行: 3でエラーが発生しました 生成されたサーブレットのエラーです: C:\Apache Tomcat 4.0\work\localhost\SyainData\Nyuryoku$jsp.java:65: クラス org.apache.jsp.FileBean が見つかりません。 FileBean bean = null; ^ 因みに参考書のもので試してみたところ、JSPにおいてBeanを使おうとすると空のHTMLが吐き出され、ブラウザには真っ白な画面が表示されます。JSPのBeanの部分を削除すると、ブラウザには普通にHTMLの部分が表示されるのです。 以上二つのことから、JSPでのBeanの使い方がおかしい、というのはわかったのですが、自分でどう解決して良いのかわかりません。特に参考書のコードはちゃんと市販されているものなので、問題ないと思うのですが… 最後になりましたが、私の環境は Tomcat4.0 で OSはMEになります。 皆様お忙しいとは思いますが、ご教示の程宜しくお願い致します<(_ _)>

    • ベストアンサー
    • Java
  • JSPが表示できない

    サーブレットからJSPに表示させようとしているのですがJSPの中にJAVAソース を加えると表示できなく画面が真っ白になり、加えなければ表示できます。 原因がなぜなのかわからなく困惑中です。ソースは以下の通りです。 アドバイスお願いします。 <%@ page contentType="text/html;charset=Shift_JIS"                               import= "java.sql.*" %> <jsp:useBean id="Bean" class="Servlet"scope="session" /> <html> <head><title>表示画面</title></head> <body> // BeanファイルでデータをSQL文によって取り出しrs変数に格納し // getNameCDメソッドによってデータを取り出す。BeanファイルではSQL文 実行確認済み <% ResultSet rs = Bean.getNamaCD(); %> <%  while(rs.next()){ out.println(rs.getString(1)); // 名前のコードを取り出し表示させる。 } %> </body> </html>

  • ServletとJSPで。。。

    省略してますが、下記の記述で JSPの----部分の記述方法がわかりません。 実際、実行できる環境だといいのですが、今は実行環境がないので調査できません。 まだなにもわからない状態なので、記述が正しいかも自信ありませんがよろしくお願いします。 =============Servlet==============================Schedulebean bean = new Schedulebean(); bean.setYear(request.getParameter("year")); bean.setMonth(request.getParameter("month")); request.setAttribute("bean", bean); request.getRequestDispatcher("/jsp/schedulefrm.jsp").forward(request,response); ============ JSP ================== <%@ page contentType = "text/html; charset=Shift_JIS"%> <jsp:useBean id="bean" scope="request" class="java.lang.String"/> <HTML> <FRAMESET FRAMESPACING="10" COLS="250,*"> <FRAME src="/jsp/calender.jsp?Year=<%= year % -------- ↑ >&Month=<%= month %>" --------- ↑    上記をid 取得する記述は? name = "left" scrolling = "no" NORESIZE /> <FRAME src="/jsp/schedule.jsp?Year=<%= year %>&Month=<%= month %>" name = "right" scrolling = "yes" /> </FRAMESET> </HTML>

    • ベストアンサー
    • Java
  • JSP jsp:usebean で総称型クラスを使うには

    お世話になります。 JSPでプログラムを書いています。 そこでjsp:usebeanを使っているのですが、そのクラスに以下のように総称型クラスを使用したいのです。 > <%@page import="java.util.Vector"%> > <jsp:useBean id="vec" scope="application" class="java.util.Vector<String>"/> で、warファイルまではできるのですが、実行するとブラウザ上に以下のようなエラーが表示されます。 > org.apache.jasper.JasperException: /index.jsp(4,0) useBeanのクラス属性 java.util.Vector<String> の値が無効です > org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40) > org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) > org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148) > org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1178) JSPのbeanには総称型クラスを使うことができないのでしょうか。 環境は以下の通りです。 サーバー:Tomcat 5.5.27 jdk: 1.6.0_07 特別なコンパイルオプションなどは指定していません。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • Bean利用時のJSPへのforward時のエラー

    <jspの設置場所> /usr/local/...../ssm3u/jsp/ ☆JSP(DMmvc.jsp)の内容(一部) <jsp:useBean id="mvc" class"mvc.MVCdata" scope="request" /> <%=mvc.getMSG()%> <サーブレット・Beanの設置場所> /usr/local/...../ssm3u/WEB-INF/classes/mvc/ (javaもclassもここに設置) ☆サーブレット(DMmvc.java)の内容 package mvc; ・・・・・(略)・・・・・ MvcData mvc = new MvcData(); req.setAttribute("mvc", mvc); RequestDispatcher rDispatcher = req.getRequestDispatcher("../jsp/DMmvc.jsp"); rDispatcher.forward(req, res); ・・・・・(略)・・・・・ ☆Bean(MvcData.java)の内容 package mvc; ・・・・・(略)・・・・・ というようにしてみたのですが 実行時エラー(parseException)になります。 useBeanを使わないJSPにforwardすると問題なく表示できます。 JSPの書き方(class="mvc.MvcData"あたり?)がおかしいような 気もするのですが・・・・

    • ベストアンサー
    • Java
  • jsp から servlet に

    パラメータをJSPからServlet に渡す所で、どうしても、null になってしまします‥。 主要な部分だけ書きます。 --jsp-- <jsp:useBean id="beanId" class="Bean" scope="request" /> <form method="POST" action="servlet"> <input type="submit" value="送信"> <input type="text" size="10" name="name"> --servlet-- import Bean; Bean bean = (Bean)request.getAttribute( "beanId" ); // ↑ここが、nullになってしまう。 --Bean-- public String getName() { return name; } public void setName( String name ) { this.name = name; } 考え方が違ってるかも知れないのですが‥。 よろしくお願いします。

    • ベストアンサー
    • Java
  • JSPでbeanプロパティ(配列)をgetしたい

    こんにちわ。 表題の件ですが、下のようなbeanファイルとjspファイルの構成です。 --AAA.JSP-- <jsp:useBean id="E" scope="page" class="myPack.Engine" /> ・・・・途中をかなり略・・・・ <td><%= E.getIntSuryo() %></td> <========(1) Engineクラス(bean側) package myPack; public class Engine { int intSuryo[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; } public int[] getIntSuryo() { return intSuryo; } --------------ここまで------------- ここで、(1)の箇所の記述の仕方がわかりません。 インデックスを指定して、1~10までを表にしようと思っています。 getIntSuryo()の括弧内にindexを入れてみましたが、 エラーとなり怒られました。 どなたかご存知の方、教えてください。

    • ベストアンサー
    • Java