會話已過期我有一個表單,該表單從我的應用程序中顯示爲動態彈出的各種事件。我正在填寫表格並提交,導致會話過期。表單提交已過期
我發現,當打印表單中的請求標頭的值時,我發現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