我正在使用Scalatra框架来构建Web应用程序.应用程序依赖于会话,但我不能使用会话cookie(因为从技术上讲,只有一个用户,它同时运行多个会话).
每个会话都有一个唯一的会话密钥,我想将其用作标识符.我希望将此密钥作为GET或POST参数而不是cookie标头发送.
我现在的问题是:如何在没有cookie的情况下将会话信息(即状态)存储在Scalatra servlet中,而只是将参数作为标识符存储?
到目前为止,我尝试使用文件系统来存储所有会话信息,但这太慢而且不必要,因为会话只持续几秒钟.
(安全不是问题)
我有一个依赖于上下文或初始化参数的 Web 应用程序,我在 Jetty 中运行它。
我已经找到了如何在 WEB-INF/web.xml 文件中设置这些:
<context-param>
<param-name>myParamName</param-name>
<param-value>42</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
一旦我将我的 web 应用程序打包到一个 .war 文件中,我就不能再更改这些文件了,所以我必须以某种方式在 servlet 上下文 xml 文件中设置参数。
我从 eclipse.jetty Wiki 中发现的是:
<Set name="initParameter">
<Arg>myParamName</Arg>
<Arg>42</Arg>
</Set>
Run Code Online (Sandbox Code Playgroud)
但是java.lang.NoSuchMethodException当我尝试这个时,Jetty 抛出了一个。在 Jetty 中设置上下文参数的正确方法是什么?