【问题标题】:how to use a variable's value throughout session in servlet/jsp?如何在 servlet/jsp 的整个会话中使用变量的值?
【发布时间】:2017-07-13 01:33:25
【问题描述】:

我使用 servlet/jsp 进行了一些基于身份验证的项目。当用户最初使用用户名和密码登录时,通过登录 servlet 进行身份验证,我需要将用户的电子邮件保存在变量中,例如通过执行 String email 来执行 @987654323 @ 询问。 我需要从登录 servlet 到电子邮件 servlet 访问该变量,以便将某种 OTP 发送到用户的电子邮件。 如何使用会话属性或任何相关想法来实现?

【问题讨论】:

标签: java jsp session servlets


【解决方案1】:

使用session.setAttribute()session.getAttribute() 方法。

阅读HttpSession here的javadoc。

你可以参考this完整的例子。

【讨论】:

    【解决方案2】:

    请如下使用。你可以实现你所需要的。

     <%session.setAttribute( "email", "test@gmail.com" );%>
     <%= session.getAttribute( "email" ) %>
    

    我们使用的另一种方式。

     <c:set var="email" value="test@gmail.com" scope="session"/>
    

    你用 JS 得到这个:

    var mail ="${email}";
    

    【讨论】:

      【解决方案3】:

      要在会话中保存数据,您应该使用来自 http 请求的会话对象,如下所示:

      HttpSession session = request.getSession();
      session.setAttribute("email", email);
      

      使用 scriptlet 从会话对象中检索数据:

      <%= session.getAttribute("email")%>
      

      <%= request.getSession().getAttribute("email")%>
      

      你也可以使用EL表达式:

      <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
      
      <c:out value="${sessionScope.email}"/>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-02
        • 2012-12-07
        • 2013-07-13
        • 2015-01-26
        • 2011-07-31
        相关资源
        最近更新 更多