Java Usnig会话作为实例变量
我的Servlet的许多方法都使用HTTPSession。将HTTPSession变量声明为实例变量是线程安全的吗 defaut servlet的不是线程安全的。而且,将为许多客户机调用一个servlet实例将会话作为实例变量是绝对错误的。 参考:Java Usnig会话作为实例变量,java,session,servlets,Java,Session,Servlets,我的Servlet的许多方法都使用HTTPSession。将HTTPSession变量声明为实例变量是线程安全的吗 defaut servlet的不是线程安全的。而且,将为许多客户机调用一个servlet实例将会话作为实例变量是绝对错误的。 参考: defaut servlet不是线程安全的。而且,将为许多客户机调用一个servlet实例将会话作为实例变量是绝对错误的。 参考: 不,它不安全。当应用程序启动时,将创建一个servlet。Servlet只有一个实例(这意味着多个请求/客户端使用
defaut servlet不是线程安全的。而且,将为许多客户机调用一个servlet实例将会话作为实例变量是绝对错误的。 参考:
不,它不安全。当应用程序启动时,将创建一个servlet。Servlet只有一个实例(这意味着多个请求/客户端使用同一个Servlet),这就是为什么您应该避免使用任何实例变量。不,这是不安全的。当应用程序启动时,将创建一个servlet。Servlet只有一个实例(这意味着多个请求/客户端使用同一个Servlet),这就是为什么您应该避免使用任何实例变量。即使我通过getThreadLocalRequest.getSession()获取会话变量?@Hello:What是
getThreadLocalRequest()
?是否使用任何框架?getThreadLocalRequest()表示获取线程本地对象。这是线程安全的,因为在每次请求初始化之前,都会设置线程本地。我不确定它是哪一个框架,我只是向您提供了一些有用的链接。好的,谢谢。。i、 e.如果我使用thredLocal获取会话,我可以将该会话设置为实例变量?不,只需使用request.getSession()。当您想要访问除servlet以外的类中的会话时,您可以使用线程本地,这些类没有现成的请求或会话变量。即使我通过getThreadLocalRequest.getSession()获取会话变量?@Hello:What isgetThreadLocalRequest()
?是否使用任何框架?getThreadLocalRequest()表示获取线程本地对象。这是线程安全的,因为在每次请求初始化之前,都会设置线程本地。我不确定它是哪一个框架,我只是向您提供了一些有用的链接。好的,谢谢。。i、 e.如果我使用thredLocal获取会话,我可以将该会话设置为实例变量?不,只需使用request.getSession()。当您想要访问除Servlet以外的类中的会话时,您可以使用thread local,这些类没有现成的请求或会话变量。但是会话对于每个用户来说都是唯一的对象。所以,即使我通过getThreadLocalRequest.getSession()获取会话,它也不是线程安全的,但会话对于每个用户来说都是唯一的对象。因此,即使我通过getThreadLocalRequest.getSession()获取会话,它也不是线程安全的?相关:相关: