Java AppEngine和sessions
我在谷歌AppEngine和sessions上很难相处 我有一个Java GAE应用程序,它可以在本地主机上顺利运行,但一旦我将其部署到GAE上,会话变量的集合就为null 工作流程如下:我将数据存储在会话中的一个类中,然后读取它是一个JSP页面。将响应发送到servlet,在那里修改它,存储它并显示另一个JSP 我已经检查过了:数据(集合)仍然在servlet中的变量中,但是当涉及到JSP时,集合是空的 你知道它为什么表现得这么奇怪吗Java AppEngine和sessions,java,google-app-engine,session,Java,Google App Engine,Session,我在谷歌AppEngine和sessions上很难相处 我有一个Java GAE应用程序,它可以在本地主机上顺利运行,但一旦我将其部署到GAE上,会话变量的集合就为null 工作流程如下:我将数据存储在会话中的一个类中,然后读取它是一个JSP页面。将响应发送到servlet,在那里修改它,存储它并显示另一个JSP 我已经检查过了:数据(集合)仍然在servlet中的变量中,但是当涉及到JSP时,集合是空的 你知道它为什么表现得这么奇怪吗 谢谢。您是否在appengine-web.xml文件中启用
谢谢。您是否在appengine-web.xml文件中启用了会话?
看看
您是否在appengine-web.xml文件中启用了会话?
看看
确保会话中存储的所有对象都实现了
java.io.Serializable
接口 确保会话中存储的所有对象实现java.io.Serializable
接口 您能否将要放入会话集合的数据模型发布?一些对象,尽管是java可序列化的,但不是memcache/session可序列化的;例如,我想到了gxt型号。增强的对象或最终依赖于瞬态映射的对象无法保存到会话或memcache。尝试只保存对象本身,然后检查结果,或者检查stacktraces,这将直接告诉您是否存在序列化问题
如果不能按序列化您的模型,请考虑使用ObjutOutsPoString将对象转换为SerialabyByth[],或者使用另一个序列化机制(如GWT RPC序列化程序)转换为字符串。
< P>可以将正在插入的数据模型张贴到会话集合中吗?一些对象,尽管是java可序列化的,但不是memcache/session可序列化的;例如,我想到了gxt型号。增强的对象或最终依赖于瞬态映射的对象无法保存到会话或memcache。尝试只保存对象本身,然后检查结果,或者检查stacktraces,这将直接告诉您是否存在序列化问题如果不能按序列化您的模型,请考虑使用ObjutOutsPoString将对象转换为SerialabyByth[],或者使用另一个序列化机制,如GWT RPC序列化器,将其转换为字符串。
< P>您必须做两件事来启用会话: 1 In-war/WEB-INF/appengine WEB.xml<sessions-enabled>true</sessions-enabled>
要启用会话,您必须执行两项操作: 1 In-war/WEB-INF/appengine WEB.xml
<sessions-enabled>true</sessions-enabled>