我已经Redis
在旧版Spring MVC应用程序中实现了Spring Session
。我还使用DefaultCookieSerializer
来设置jvmRoute
,因为我需要一些服务器亲和力才能运行Talend作业。
当运行前端并检查Chrome中的页面时,我看到了jvmRoute
该会话的附件。如果将其从“ node1”编辑为“
node2”,则保留该会话。如果我在部署期间重新部署服务器并发出请求,我将被重定向到集群中的另一个节点,这意味着Spring Sessions可以正常工作。
但是,我无法获得服务器关联性,因为当我调试HttpServletRequest
Spring应用程序中的a时,HttpServletRequest.getSession().getId()
它没有其中jvmRoute
的内容(尽管十六进制数字与我在Chrome中看到的匹配),这就是我传递给Talend的内容工作。
如果我恢复为Tomcat会话并jvmRoute
在的Engine组件中设置,则在Chrome和调试代码中都会server.xml
看到jvmRoute
该会话ID
的附加内容。
到底是DefaultCookieSerializer
做什么的?我认为它会在创建cookie时对其进行编辑,这就是cookie的存储方式Redis
。因此,jmvRoute
如果您以这种方式进行设置,则在创建该cookie后对它的任何使用都应附带附件。
DefaultCookieSerializer到底能做什么?我认为它会在创建cookie时对其进行编辑,这就是将cookie存储在Redis中的方式。因此,如果以这种方式进行设置,则在创建此cookie后对它的任何使用都应附加jmvRoute。
首先,重要的是要意识到cookie本身没有存储在会话存储中(即您的Redis)。存储的是会话本身及其属性的表示。
除了会话存储之外,会话管理的另一个重要方面是用户的HTTP请求与存储的会话之间的关联。有了Spring Session的Servlet
API支持,这是它的责任HttpSessionIdResolver
,并且默认情况下,Spring
Session使用基于cookie的实现,即CookieHttpSessionIdResolver
。中还有一个基于HTTP标头的实现HeaderHttpSessionIdResolver
。我之所以这样说是因为,重要的是要意识到会话存储是在不同级别上运行的独特关注点。
现在,关于CookieHttpSessionIdResolver
,它将cookie的编写和读取问题委托给CookieSerializer
(DefaultCookieSerializer
默认情况下是……)。根据其配置,DefaultCookieSerializer
在写入和读取会话cookie时会考虑许多选项,例如cookie名称,是否对Base64编码cookie值,是否使用httpOnly
cookie指令等。
但是,我无法获得服务器关联性,因为调试Spring应用程序中的HttpServletRequest时,HttpServletRequest.getSession()。getId()中没有jvmRoute(尽管十六进制数字与我在Chrome中看到的匹配)
),这就是我转交给塔伦德工作的目的。
这是我不理解的部分-
如果您能够HttpSession
从当前的情况下解决问题,HttpServletRequest
那么您知道jvmRoute
它必然会正确吗?这是jvmRoute
当前JVM的,否则会话将无法HttpServletRequest
在此JVM的处理下解决。
什么是spring会议和Tomcat的会话管理之间的不同,是在Tomcat中jvmRoute
是会话ID生成相关的问题,而与spring会议将jvmRoute
在会话cookie序列化的环境中使用。
我们在客户端上安装了我们的根证书,https连接适用于。 但是如果我们尝试使用,它会失败: 证书在客户端上。见: 版本:PIP1.4。1.
问题内容: 我在诸如Amazon AWS和Cloud9等各种云平台上使用Codeception。默认情况下,这两个都没有GUI。我的问题是,您可以在这种类型的系统上运行Selenium吗?还是我需要以某种方式获取GUI? 问题答案: Selenium只是一个库,因此,如果您在配备GUI的系统上运行它,它并不特别在乎。您可能要问的是:如果我使用Selenium打开浏览器,那么该浏览器是否可以在没有G
问题内容: 我试图在HashMap中找到一个键。我可以使用’get’打印选定的键,但是在if语句中使用’containsKey’时,找不到该键。 我知道该键存在于Map中,但它一直返回false。有什么想法的人吗? 我的代码: 这是Location类的代码: 问题答案: 您必须确保该类已正确实现其和方法(文档)。也就是说,如果两个对象实际上相等,则它们应该共享一个公共哈希码,并且它们的方法应该返回
因此,正如一个人在之前的帖子中所说的,我会使用: 包括行末的“我的文件”。 由于未使用,我想我应该在标准输出中接收操作的结果。然后执行它并获得(注意,我使用而不是只是为了查看是否可以根据需要修改文件,因为在本例中,文件已经有了所需的行): 所以如您所见,文件没有更改。我做错了什么? 感谢阅读
问题内容: 好的,这是我的问题。我有一个简单的jQuery Ajax请求,当我将DataType设置为“ JSON”时我无法工作。 这实际上是我的ajax文件。该如下所示: 当我运行jQuery脚本时,我收到了Firebug的200:OK响应,而当我查看响应时,得到了以下内容: 但是,在.body-item div中没有显示任何内容,也没有尝试使用alert()。 另外,如果我运行相同的代码而
从https://projects.spring.io/spring-framework/,我有一个spring framework hellpworld程序。我删除了注释。然而,程序仍然可以像以前一样运行。为什么?这里的角色是什么?