其他分享
首页 > 其他分享> > Spring Boot - HttpSession

Spring Boot - HttpSession

作者:互联网

HttpSession

您可以使用HttpServletRequest.getSession()方法获取当前的 HttpSession。

设置会话属性

使用HttpSession.setAttribute()方法设置会话的属性。会话值可以是任何对象。

这是在控制器中设置会话的示例

@GetMapping("/setValue")
public String setValue(HttpServletRequest request) {
    HttpSession session = request.getSession();
    session.setAttribute("foo", "bar");
    return "OK";
}

WebUtils提供了设置 Session 属性的方法。

WebUtils.setSessionAttribute(request, "foo", "bar");

获取会话属性

用于HttpSession.getAttribute()获取属性值

@GetMapping("/getValue")
public String getValue(HttpServletRequest request) {
    HttpSession session = request.getSession();
    if( session.getAttribute("foo") != null){
        LOG.info(session.getAttribute("foo").toString());
    }
    return "OK";
}

使用WebUtils获取 Session 属性:

WebUtils.getSessionAttribute(request, "foo").toString();

获取所有会话属性

使用Enumeration e = session.getAttributeNames()获取所有会话名称,然后使用HttpSession.getAttribute()方法获取会话属性。

@GetMapping("/getAll")
public String getAll(HttpServletRequest request) {
    HttpSession session = request.getSession();
    Enumeration e = session.getAttributeNames();
    while(e.hasMoreElements()) {
        Object key = e.nextElement();
        LOG.info(key.toString() + "=" + session.getAttribute(key.toString()));
    }
    return "OK";
}

标签:getAttribute,Spring,Boot,request,会话,session,属性,HttpSession
来源: https://blog.csdn.net/allway2/article/details/122742469