java - GAE session 不起作用?

标签 java google-app-engine jsp session

我的项目在 Debug模式下运行良好,但在 gae 上部署时运行不佳。 session 似乎有问题?

下面列出了关键的java和jsp:

NewStudInfoServlet.java

public class NewStudInfoServlet extends HttpServlet {
public void doPost(HttpServletRequest req, HttpServletResponse resp)
        throws IOException {
    if (req.getParameterValues("StuFirName") != null
            && req.getParameter("StuFirName") != ""
            ) {

            Stud stud = new Stud();
            stud.setFirstName(req.getParameter("StuFirName"));              

            req.getSession().setAttribute("NewStud", stud); 
            req.getSession().setAttribute("StuInfoPage", "NewStudSchoolInfo");
            req.getSession().setAttribute("NewLackInfo", "successful!");                
        } else {
        req.getSession().setAttribute("StuInfoPage", "NewStudInfo");
        req.getSession().setAttribute("NewLackInfo", "First name, Last name, Graduation Year is required");
    }
    resp.sendRedirect("/NewAlumni.jsp");

NewAlumni.jsp

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <%@include file='WEB-INF/Header.jsp'%>
    <%
        if (session.getAttribute("StuInfoPage") != null
                && session.getAttribute("StuInfoPage").toString() == "NewStudSchoolInfo") {
    %>
    <%@include file='WEB-INF/NewStudSchoolInfo.jsp'%>       
    <%
        } else {
    %>
    <%@include file='WEB-INF/NewStudInfo.jsp'%>
    <%
        }
    %>

在 Debug模式下,效果很好:用户填写名字并按提交按钮,然后NewAlumni.jsp将包含WEB-INF/NewStudSchoolInfo.jsp以让用户提交更多信息;

但是,当我在 GAE 中部署该应用程序后,它的工作方式有所不同。用户填写名字并按提交按钮后,NewAlumni.jsp 不断包含 WEB-INF/NewStudInfo.jsp,而不是 WEB-INF/NewStudSchoolInfo.jsp。我确信

req.getSession().setAttribute("NewStud", stud); 
req.getSession().setAttribute("StuInfoPage", "NewStudSchoolInfo");
req.getSession().setAttribute("NewLackInfo", "successful!");    

被处决是因为我可以看到该死的“成功!”在 NewStudInfo.jsp 中。

怎么了?需要您的帮助。

我已准备好在 appengine-web.xml 中设置 true

提前致谢。

最佳答案

您是否通过添加 <sessions-enabled>true</sessions-enabled> 来启用 HTTP session 到您的 appengine-web.xml 文件,如 the documentation 中所述?

关于java - GAE session 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13130227/

相关文章:

java - 变量内容(String)访问JCheckBox的方法

java - 私有(private)方法的方法拦截器

java - SQL 功能不支持异常

java - 在 JSP 中显示多个图像的最佳方法

java - 创建 Google 云端硬盘文件时出现 FileNotFoundException

javascript - GWTUpload 添加额外信息

java - Eclipse 找不到 javax.servlet.http.HttpServlet

jquery - 服务器端 Python (GAE) 中的 Un -"jQuery $.param"

jsp - PageContextImpl 类型未定义方法 proprietaryEvaluate(String, Class<String>, PageContext, null)

java - 当struts.xml中配置action类时,请求的资源在struts2中不可用