如何在JSP会话中存储JavaScript变量值

如何在JSP会话中存储JavaScript变量值,java,javascript,jsp,servlets,jakarta-ee,Java,Javascript,Jsp,Servlets,Jakarta Ee,我想在JSP会话中存储一个JavaScript变量值,以便在Java类方法中进一步使用它。请提供在JSP会话中存储任何JavaScript变量的解决方案。从JSP向执行此操作的其他JSP发出AJAX调用。jsp将使用变量名及其值作为请求参数,并将变量放入会话中 您不能仅使用客户端(javascript)代码来实现这一点 从JSP向执行此操作的其他JSP发出AJAX调用。jsp将使用变量名及其值作为请求参数,并将变量放入会话中 您不能仅使用客户端(javascript)代码来实现这一点 使用aja

我想在JSP会话中存储一个JavaScript变量值,以便在Java类方法中进一步使用它。请提供在JSP会话中存储任何JavaScript变量的解决方案。

从JSP向执行此操作的其他JSP发出AJAX调用。jsp将使用变量名及其值作为请求参数,并将变量放入会话中


您不能仅使用客户端(javascript)代码来实现这一点

从JSP向执行此操作的其他JSP发出AJAX调用。jsp将使用变量名及其值作为请求参数,并将变量放入会话中


您不能仅使用客户端(javascript)代码来实现这一点

使用ajax将该变量传递给Servlet,或者在表单提交时将其设置在某个隐藏字段中。使用ajax将该变量传递给Servlet,或者在表单提交时将其设置在某个隐藏字段中。您最好将该值存储在cookie中。客户端javascript和服务器端jsp都可以访问cookie。

最好的办法是将值存储在cookie中。客户端javascript和服务器端jsp都可以访问cookies。

您的程序应该有一个自然的流程,这样您就不必为了存储变量而专门使用存储变量的机制。我的意思是,如果您正在存储用户名,那么它应该在登录时存储,或者如果您正在获取contactInfo,那么您应该有一个专门用于此目的的servlet。不管怎样,这里有一个三部分的答案来回答你的问题。它非常笼统且不具体,但一旦具体化,它将实现您想要的:

以下是web.xml文件:

    <servlet>
        <servlet-name>StoreVariableServlet</servlet-name>
        <servlet-class>tests.servlets.StoreVariableServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>StoreVariableServlet</servlet-name>
        <url-pattern>/storeVariableServlet</url-pattern>
    </servlet-mapping>
以下是Servlet代码:

    String variableToBeStored = request.getParameter("variable");
    HttpSession session = request.getSession();
    session.setAttribute("variableXYZ", variableToBeStored);

您的程序应该有一个自然的流程,这样您就不必为了存储变量而专门使用存储变量的机制。我的意思是,如果您正在存储用户名,那么它应该在登录时存储,或者如果您正在获取contactInfo,那么您应该有一个专门用于此目的的servlet。不管怎样,这里有一个三部分的答案来回答你的问题。它非常笼统且不具体,但一旦具体化,它将实现您想要的:

以下是web.xml文件:

    <servlet>
        <servlet-name>StoreVariableServlet</servlet-name>
        <servlet-class>tests.servlets.StoreVariableServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>StoreVariableServlet</servlet-name>
        <url-pattern>/storeVariableServlet</url-pattern>
    </servlet-mapping>
以下是Servlet代码:

    String variableToBeStored = request.getParameter("variable");
    HttpSession session = request.getSession();
    session.setAttribute("variableXYZ", variableToBeStored);

“您不能仅使用客户端(javascript)代码来执行此操作!”但您可以使用
sessionStorage
localStorage
。这些HTML 5功能不是吗?也许你可以使用它们,但我希望有一个回退机制,以防我的浏览器不支持它们……你可以回退到IE7和更老的浏览器的cookies上。“你不能只使用客户端(javascript)代码!”但你可以使用
会话存储
本地存储
。这些HTML 5功能不是吗?也许你可以使用它们,但我希望有一个回退机制,以防我的浏览器不支持它们……你可以回退到IE7和更旧浏览器的cookies。