[英]Maintaining List Object in Session on Google App Engine
我在GAE中遇到一個獨特的問題。 請注意,我在下面描述的問題僅是在我將代碼部署到GAE時,但是在本地運行良好。
我有一個servlet代碼,該代碼在session屬性中設置一個List對象,並將請求轉發到JSP,如下所示:
HttpSession session=request.getSession();
session.setAttribute("msgListS", msgList);
request.getRequestDispatcher("/WEB-INF/jsp/downloadpdf.jsp").forward(request, response);
在jsp中。...我正在獲取列表並打印其大小,然后單擊鏈接,然后調用另一個servlet。 JSP代碼如下:
List<Message> msgList=(List<Message>)session.getAttribute("msgListS");
out.println("The total messages are : "+msgList.size());
session.setAttribute("msgListS", msgList);
現在,在最后一個servlet中,我再次獲取List對象,但是這里的大小與列表的實際大小有所不同。 在jsp中,它顯示正確,但是在此servlet中,它的大小顯示為1。請幫助...。servlet代碼:
HttpSession session=request.getSession(false);
List<Message> msgList=(List<Message>)session.getAttribute("msgListS");
out.println("The total messages are : "+msgList.size());
On local machine it is working absolutely fine but GAE has above problem :(
您確定您正確地獲得了會話嗎? 我的理解是您應該這樣獲得它:
this.getThreadLocalRequest().getSession();
那就是我的工作,推薦的Google AppEngine會話示例
這里也有更多討論
這表明存在潛在的負面影響(內存泄漏)...盡管我僅出於參考目的而提及它,但不確定它是否適用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.