2009-05-07 9 views
2

私は1分ごとにリフレッシュするJSP Webページを持っています。各リフレッシュで が有効になった場合、セッションオブジェクトの妥当性がチェックされます。 Tomcat Webサーバーが再起動すると、セッションは終了し、ページが更新されると「無効」と表示されます。誰も私の問題の解決策を持っていますか?tomcatセッションをどのように維持しますか?

+0

期待どおりに記述する行動があります。 Tomcatセッションを持続させることは、あなたが望むものではないでしょう。 –

答えて

1

セッション内のすべてのオブジェクトがシリアル化可能であることを確認する必要があります。そのうちの1つがシリアライズ可能な要件を満たしていない(またはシリアライズ可能な要件を満たしていない)場合、WebアプリケーションのリロードまたはTomcatの再起動時にセッションが失われます。

EG:以下は、サーブレットのために正常に動作します:

public class MainServlet extends HttpServlet { 
    private static final long serialVersionUID = 1L; 

    protected void doGet(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException 
    { 
     HttpSession session = request.getSession(); 
     Date date = (Date) session.getAttribute("date"); 
     if (date == null) { 
       date = new Date(); 
       session.setAttribute("date", date); 
     } 
     response.setContentType("text/plain"); 
     PrintWriter pw = response.getWriter(); 
     pw.println("New Session? " + session.isNew()); 
     pw.println("Date : " + date); 
     pw.flush(); 
    } 

} 
関連する問題