我回来时问了同样的问题,但这次有更多的记录。我有一个包含许多servlet和JSP的web应用程序。应用程序有一个登录选项。在登录servlet中,我启动一个新会话,在会话中放置一些信息后,我转到一个JSP。
登录。java相关代码:
HttpSession sess = request.getSession(true);
sess.setAttribute("GLN", user);
rd.forward(request, response);
转发后,我得到一个名为Insert.jsp的Jsp页面,在那里我得到会话属性。
插入jsp相关代码:
HttpSession sess = request.getSession(false);
if (sess != null){
out.println(sess.getAttribute("GLN"));
}
在这之后,我有一个表单将我引导到servlet Adaugare。JAVA在这里,我做了同样的事情:
阿杜加雷。java代码:
HttpSession sess = request.getSession(false);
问题来了。稍后编辑:由于不存在会话,因此返回null。然后我转发同样的插页。jsp文件,即使我有HttpSession sess=request。getSession(错误);,创建的新会话ID与第一个会话不同。所以很明显,我要离开了。println(sess.getAttribute(“GLN”);返回null。
这是一个很长的故事。简短的版本:
当我从一个servlet转到一个jsp时,会话是可以的,当我从一个jsp转到一个servlet时,会话是不存在的。然后,当我转发到JSP时,会创建一个新会话。实际上,它创造了一个新的饼干。如果我从JSP和serlet打印contextPath,它是一样的。
但奇怪的是,当我在带有mod_jk的apache上运行应用程序时,会发生这种情况。当我从tomcat运行应用程序时,它工作正常......
请帮忙,我在这个问题上已经被困了两个星期了。
答:丹:(发短信想发表评论,需要等7个小时才能回答我自己的问题)我删除了所有留言。希望没问题。我不是负责服务器的人,但告诉我这不是多个工人的人。
worker.list=jk-status
worker.jk-status.type=status
worker.jk-status.read_only=true
worker.list=jk-manager
worker.jk-manager.type=status
worker.list=balancer
worker.balancer.type=lb
worker.balancer.error_escalation_time=0
worker.balancer.max_reply_timeouts=10
worker.balancer.balance_workers=node1
worker.node1.reference=worker.template
worker.node1.host=localhost
worker.node1.port=8109
worker.node1.activation=A
worker.balancer.balance_workers=node2
worker.node2.reference=worker.template
worker.node2.host=localhost
worker.node2.port=8209
worker.node2.activation=A
worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3
如果请求在多个工作者之间平衡,则应将会话粘性标志设置为true。见:http://tomcat.apache.org/connectors-doc/reference/workers.html更多细节。你应该试试:
worker.balancer.sticky_session=True
我找到了很多关于这个问题的答案,但没有解决我的问题-所以我想给你看我的代码,希望有人能找到错误... 我有一个标准的超文本标记语言的形式,给一些数据与POST到下一个. php文件,我得到它,并将其保存到会话变量。我使用会话变量有两个原因: 如果有人重新加载页面,它应该显示与以前相同的信息 我需要在即将到来的php文件中的变量 代码如下: 第一个调用工作精细会话变量被设置,回声给出正确的值。重新加
问题内容: 如何使 connect.sid cookie本身仅是会话cookie,而不是持久性cookie? 我尝试失败 但是cookie仍具有到期时间戳。 问题答案: 以上工作。因此,通过将maxAge设置为null,我确实管理了expressjs以使用会话cookie。ew
使用嵌入式tomcat,这段代码可以工作: Servlet: JSP: 它设置属性,然后在servlet的jsp页面上打印出来。 然而,如果我试图在会话中设置属性,那么我不会得到相同的结果,相反,当使用此选项时,我会得到一个: Servlet: JSP:
我将jsp/servlets用于一个基本的ajax应用程序。我正在用servlet设置一个会话,但返回了null。我的代码片段如下: Servlet: ajax工作得很好,只是会话检索似乎是个问题。在第一个if()中设置数据后,我就可以提取数据。但当我做另一个post请求时,它返回为空。我需要另一个HttpSession吗?非常感谢您的帮助,我是一名PHP开发人员,不是JSP,所以对我来说非常新鲜
问题内容: 如何解决在PHP中重定向后丢失会话的问题? 最近,我遇到了一个非常常见的问题,即在重定向后丢失会话。在搜索该网站后,我仍然找不到任何解决方案(尽管这是最接近的解决方案)。 更新资料 我找到了答案,我想将它发布在这里,以帮助遇到同样问题的任何人。 问题答案: 首先,执行以下常规检查: 确保在任何会话被调用之前被调用。因此,一个安全的选择就是将其放在页面的开头,紧接着在开始声明之后,再放在
问题内容: 我几个月前开始使用PHP。为了为我的网站创建一个登录系统,我阅读了有关cookie和会话及其区别(cookie存储在用户的浏览器中以及服务器上的会话中)的信息。当时,我更喜欢cookie(谁不喜欢cookie ?!),只是说:“谁在乎?我在将它存储在服务器中没有任何好处”,所以,我继续使用cookie我的学士毕业项目。但是,在完成了我的应用程序的大部分工作之后,我听说对于存储用户ID的