Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EE中会话和接口参数的隔离_Java_Jsp_Session_Extjs_Arraylist - Fatal编程技术网

Java EE中会话和接口参数的隔离

Java EE中会话和接口参数的隔离,java,jsp,session,extjs,arraylist,Java,Jsp,Session,Extjs,Arraylist,我们有一个在Tomcat5服务器上运行的JavaEE Web应用程序(该工具的开发使用jsp、java和extjs) 我们有时会观察到,特别是当应用程序被高度使用时,一些会话变量或接口字段在servlet中混用 这意味着:当一个用户连接时,他的参数保存在会话中 在ORACLE数据库中更新或插入数据后,系统将返回另一个用户的姓名,该用户可能同时连接到不同的导航器或不同的计算机上。 其他时间request.getparameter从不同的客户端或用户界面获取值。 感谢您帮助我解决此问题。发生此问题的

我们有一个在Tomcat5服务器上运行的JavaEE Web应用程序(该工具的开发使用jsp、java和extjs)

我们有时会观察到,特别是当应用程序被高度使用时,一些会话变量或接口字段在servlet中混用

这意味着:当一个用户连接时,他的参数保存在会话中

在ORACLE数据库中更新或插入数据后,系统将返回另一个用户的姓名,该用户可能同时连接到不同的导航器或不同的计算机上。 其他时间request.getparameter从不同的客户端或用户界面获取值。
感谢您帮助我解决此问题。

发生此问题的唯一方法是,如果您在某个地方有一个跟踪会话的单例,并且由于某种原因,该单例在会话之间混合了变量

您可以尝试这样做:不要仅通过用户的凭据来区分用户(假设您没有使用联合身份),而是将所有会话中唯一的令牌返回给登录的用户,并让用户在每个请求中发送该唯一id。这样,即使用户使用许多不同的浏览器登录,也可以区分请求/响应


但同样,这只会发生在您使用单例连接会话之类的操作时,会话本身不会在它们之间交换变量。

我终于了解了servlet.java的工作原理。 我的工作方式类似于为任何调用创建线程的主进程 因此,此类类的所有属性对于所有线程都是公共的,我们不确定访问它们时得到的结果

如果我们希望任何客户端在私有上下文中使用这些变量,我们必须将它们作为局部变量放入函数“doGet”或“doPost”中


我的问题已经解决了

我打赌你的servlet有字段,你可以在
doGet
和/或
doPost
方法中更改它们的值。servlet中的所有元素都应该来自同一个用户会话界面。但有时用户id或值在将数据带到servlet的http协议中混淆了,这不是我的意思。请提供一个servlet的示例。我尝试将会话id保存在GUI中,并在到达servlet时与请求中的会话id进行比较。但这并不能保证每个参数都来自同一个userHmmmm。我认为您做得太多了,不允许servlet(和过滤器)完成它们的工作。请尝试阅读更多关于它们是如何工作的。请给我一个地址,在那里我可以找到关于servlets.java的详细信息,以及如何在多个web站点之间高效地使用它们client@user3622677