开发者社区 问答 正文

tomcat禁用session,如何配置?

请问tomcat如何禁用session?

因为我的程序不需要session,能否有办法设置不自动创建session?

展开
收起
落地花开啦 2016-06-03 18:13:26 4387 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    禁用tomcat的session。只不过要通过自行实现tomcat的session管理器才行。
    那些在jsp上设置session=false根本就不是那么一回事!就算jsp可以,那servlet怎么办?是吧!
    一个代码片段:
    session的管理器:
    public class NoSessionManager extends ManagerBase implements Lifecycle, PropertyChangeListener{
    ...
    }
    session的实例实现:

    public class NoSession implements HttpSession, Session, Serializable {
    ...
        public void setAttribute(String arg0, Object arg1) {
    //        这个就是大家经常用的 session.setAttribute 的方法啦。现在失业了。
        }
    ...
    }

    只要实现tomcat的ManagerBase和J2EE的HttpSession就完成了。
    最后在server.xml文件中增加刚刚创建的NoSessionManager:

         <Context docBase="D:\test" path="/test" reloadable="false" >
                    <Manager className="xxx.xxx.session.NoSessionManager" />
          </Context>

    大功告成,session再也没有用了,就算在jsp中设置session=true也无法使用

    2019-07-17 19:27:00
    赞同 展开评论