会话已过期我有一个表单,该表单从我的应用程序中显示为动态弹出的各种事件。我正在填写表格并提交,导致会话过期。表单提交已过期
我发现,当打印表单中的请求标头的值时,我发现jsession标识缺失或有时会创建新的jseesion标识。
这不是经常发生。在工作案例中,我不会错过任何jsession id或获取不同的jseesion id。
有什么建议吗?
以下是代码示例。
<HTML>
<HEAD>
</HEAD>
<%
Enumeration<String> headerNames = request.getHeaderNames();
while (headerNames.hasMoreElements())
{
String headerName = headerNames.nextElement();
String headerValue = request.getHeader(headerName);
System.out.println("Header Name " +headerName);
System.out.println("headerValue " +headerValue);
}
%>
<body>
Comments </br>
<form name = 'savefrm' action ='save.jsp'>
<textarea name = 'comments' id = 'text' cols=38 rows=8>"+comments.trim()+"</textarea>
<input type="submit" value="ok"/>
</form>
</body>
</html>
这是一个单独的servlet或一个应用程序中的? – Virtual 2012-02-23 11:12:49
没有它的内置servlet的应用程序。 – tpsharish 2012-02-23 11:28:12
如果这是服务器或客户端问题,您首先要排除。要确定它,你需要跟踪HTTP流量。在Chrome/IE9/Firebug中,您可以按F12查看“网络”流量。检查请求/响应标头。如果有必要尝试不同的浏览器来查看行为是否相同。如果它的确是服务器返回一个新的JSESSIONID cookie作为响应,即使客户端已经在请求中发送了正确的JSESSIONID cookie,那么这是一个服务器问题,否则就是客户端问题。 – BalusC 2012-02-23 13:45:11