|
|
1
6
服务器通过在浏览器上保存会话ID的cookie来标识用户。在服务器上,会话是放置在客户机/服务器交互期间需要跟踪的数据的地方(为应用程序提供状态)。
然后,您可以通过执行以下操作从httpservletrequest中获取会话:
见JavaDoc: here
在检索servlet中的会话后,使用
为什么要全局存储它,因为只有一个ID可以访问会话的servlet获得了与会话ID一起提供的请求。不是应用程序中的所有内容都需要了解每个请求。 下面是一个例子 请求 它附带了会话ID cookie:
您不能全局存储此信息,它对于每个请求都是唯一的。
当对数据进行有用的操作时,不要将会话传递给您的方法,传递有用的信息,如用户名、购物车内容等。
您的业务逻辑方法甚至不应该知道会话是什么。它更像是一件艺术品。 |
|
2
2
我想你想要的是 java.lang.ThreadLocal 变量。 |
|
|
3
1
我想你需要用 Context object 在表示层和业务层之间传递状态(我假设存在一个状态)。 Context对象使您能够封装状态并跨层传递它,而不必担心状态本身是如何维护的。如果您需要在这方面获得更多信息,可以参考核心J2EE模式书中的上下文对象设计模式。 |
|
|
bobi · 如何修复:谷歌登录按钮未经验证 2 年前 |
|
|
Jad Chahine · 谷歌应用引擎灵活环境中的日志出现错误 2 年前 |
|
|
Community wiki · 上下文中的用户和角色 3 年前 |
|
|
Pebii Root · 点击提交按钮时防止重复条目谷歌工作表 3 年前 |
|
|
Pebii · 谷歌表单防止点击提交按钮后出现重复条目 3 年前 |