你如何坚持tomcat会话?

时间:2009-05-07 12:20:16

标签: java tomcat

我有一个每1分钟刷新一次的JSP网页。 在每次刷新时,会检查会话对象的有效性。 当tomcat Web服务器重新启动时,会话消失......当页面刷新时,它会显示“无效”。任何人都有解决我的问题的方法吗?

2 个答案:

答案 0 :(得分:2)

查看Tomcat配置文件中的配置。文档位于http://tomcat.apache.org/tomcat-6.0-doc/config/manager.html查找有关持久性管理器的部分......

答案 1 :(得分:1)

您必须确保您的会话中的所有对象都是可序列化的。如果其中一个不符合(或不符合Serializable要求),您将在Web应用重装或tomcat重启时丢失会话。

EG:以下适用于Servlet:

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();
    }

}