我有一个带有Spring MVC的WebApp,我使用Tomcat 7服务器在Web上运行它。在我的localhost Tomcat 9服务器上,由于我创建的类,我的WebApp可以很好地创建会话。
在我的控制器中的每个方法中,我有5种方法,其中大多数是ModelAndView方法,例如:
@RequestMapping(value = { "/home" }, method = RequestMethod.GET)
public ModelAndView goHomePage(HttpSession session, @PathVariable String,HttpServletRequest request, ModelMap modelMap) {
.... return ModelAndView object;
}
我有一个用户检查方法,用于检查用户是否在DataBase上,在此方法中,我添加会话ID以使用每种方法,直到会话结束。
RequestMapping(value = "/check", method = RequestMethod.POST)
public String check(HttpServletRequest request,User user,BindingResult bindingResult){
request.getSession().setAttribute("sessionId", id);
return "redirect:/home";
}
以及所有其他方法每次HttpSession作为参数进行检查并检查它是否包含属性" sessionId"。
在我的LocalHost上它工作正常,在我的网络服务器上它使用myhostname.com:8080/WAR_FILE_NAME时工作正常,但是当我使用正常方式时它会在我的网址行添加一些JSESSIONID = 123456数字并且不会让我转到WebApp的其他页面。
有人可以解释为什么会发生这种情况,我该怎么做才能解决它或禁用这种情况,因为我使用自己的会话跟踪。
我已经在这里查看了一些常见案例的答案,但不适用于我。