我已经开始使用Clojure构建一个Web应用程序(使用ring和compojure),一切都运行良好。
但是,当我使用uberwar创建war文件并将其部署到Tomcat时,我的会话对Tomcat不可见。
会话机制本身肯定有效(例如,它保留了购物篮的状态)但是没有JSESSIONID和Tomcat管理器应用程序,Java Melody,Psi Probe都说我没有会话。
我确信在创建JSESSIONID时我有一些明显的缺失,但在我找到的任何教程中都没有看到任何相关内容。
有人能指出我如何部署到Tomcat服务器的Clojure应用创建JSESSIONID?
感谢您的帮助
答案 0 :(得分:2)
Ring使用其own session store。
但是,如果您使用的是Servlet容器,则Ring将populate the request map与各种Servlet对象一起使用。在这种情况下,:servlet-request
键引用HttpServletRequest
对象。
值得注意的是,Ring是HTTP的抽象,并不一定依赖于Servlet规范。因此,只要您在下面使用Servlet容器,您就应该能够使用Servlet会话