SpringMVC:一个方法中定义的HttpSession对另一个方法不可用

SpringMVC:一个方法中定义的HttpSession对另一个方法不可用,spring,spring-boot,spring-mvc,httpsession,Spring,Spring Boot,Spring Mvc,Httpsession,我在SpringMVC项目中实现的Httpsession遇到了一个问题 首先,在用户成功登录后,我将在loginAuthenticationcontroller中获取Httpsession对象,并使用我想要的名称和值设置属性。(如下图所示) A.java控制器文件, 一切就绪后,控制器将用户导航到主页面,主页面能够访问所有定义的变量,而不会出现问题。(下图显示了映射到mainPage的控制器) A.java控制器文件, 在主页的导航菜单中,我单击所选内容以指示我添加manager网页。(以下显示

我在SpringMVC项目中实现的Httpsession遇到了一个问题

首先,在用户成功登录后,我将在loginAuthenticationcontroller中获取Httpsession对象,并使用我想要的名称和值设置属性。(如下图所示)

A.java控制器文件,

一切就绪后,控制器将用户导航到主页面,主页面能够访问所有定义的变量,而不会出现问题。(下图显示了映射到mainPage的控制器)

A.java控制器文件,

在主页的导航菜单中,我单击所选内容以指示我添加manager网页。(以下显示了链接)


因此,我不确定我的代码有什么问题,并且没有显示错误消息

我已经通过使用HttpServletRequest而不是HttpSession解决了这个问题。 现在,我的会话将不会丢失,甚至不会重定向或导航到JSP中的任何页面

大概是这样的:

@RequestMapping("/renderview", method = RequestMethod.GET)
@Controller
public class TestController {
    @RequestMapping(method = RequestMethod.GET)
    public String myMethod(HttpServletRequest request)
    {
        request.getSession().setAttribute("mySession", "XXX");
        return "jspview";
    }
}

参考:

将代码添加为文本而不是图像
@RequestMapping(value = "/mainPage", method = RequestMethod.GET)
    public String renderMainPageView(Model model, HttpServletRequest request) {
        if(request.getAttribute(SessionAttribute.AttributeName.LOGIN_CHECK.toValue()) != null) {
            model.addAttribute(SessionAttribute.AttributeName.LOGIN_ACC_ID.toValue(),
                    request.getAttribute(SessionAttribute.AttributeName.LOGIN_ACC_ID.toValue()));
            model.addAttribute(SessionAttribute.AttributeName.LOGIN_ACC_NAME.toValue(),
                    request.getAttribute(SessionAttribute.AttributeName.LOGIN_ACC_NAME.toValue()));
            model.addAttribute(SessionAttribute.AttributeName.LOGIN_ACC_ROLE.toValue(),
                    request.getAttribute(SessionAttribute.AttributeName.LOGIN_ACC_ROLE.toValue()));
            model.addAttribute(SessionAttribute.AttributeName.LOGIN_DATE.toValue(),
                    request.getAttribute(SessionAttribute.AttributeName.LOGIN_DATE.toValue()));
            return "mainPage";
        }else {
            model.addAttribute("systemAccount", new SystemAccount());
            return "index";
        }
    }
<a href="addManager" target="ifrm" >Add New Account</a>
@RequestMapping(value = "/addManager", method = RequestMethod.GET)
    public String renderAddManagerView(Model model, HttpSession httpSession) {
        if(httpSession.getAttribute(SessionAttribute.AttributeName.LOGIN_CHECK.toValue()) != null) {
            model.addAttribute("manager", new Manager());
            model.addAttribute(FormSelectionValue.FormSelectionAttributeName.COUNTRY_SELECTION.toValue(), FormSelectionValue.COUNTRY_SELECTION_LIST);
            model.addAttribute(FormSelectionValue.FormSelectionAttributeName.GENDER_SELECTION.toValue(), FormSelectionValue.GENDER_SELECTION_LIST);
            return "addManager";
        }else {
            model.addAttribute("systemAccount", new SystemAccount());
            return "index";
        }
    }
@RequestMapping("/renderview", method = RequestMethod.GET)
@Controller
public class TestController {
    @RequestMapping(method = RequestMethod.GET)
    public String myMethod(HttpServletRequest request)
    {
        request.getSession().setAttribute("mySession", "XXX");
        return "jspview";
    }
}