У меня есть три разных сервера под управлением Tomcat 7. Я использую JDK 7 и Spring.request.getSession (false), не обнаруживающий предыдущий сеанс
В моей среде разработки и производства все работает плавно, однако на третьей машине я столкнулся с проблемой обнаружения сеансов.
На третьем сервере начальная страница открывается нормально, но следующая строка кода возвращает значение null.
@RequestMapping(value="/getCaptcha",method=RequestMethod.POST)
public @ResponseBody OutputStream getCaptchaImage(HttpServletRequest request, HttpServletResponse response) throws IOException{
String stToken = request.getParameter("token");
OutputStream os = null;
try{
HttpSession httpsession = request.getSession(false);
System.out.println("HttpSession: "+httpsession);
if(httpsession != null){
...
}
}
catch(Exception e){
e.printStackTrace();
}
return os;
}
Здесь HttpSession является недействительным и не может обнаружить сессию я установлена с
HttpSession httpsession = request.getSession(true);
Помимо этого, во всем моем проекте request.getSession (ложь) возвращает нуль, хотя сессии был ранее установлен.
Я не уверен, что у меня что-то не хватает, поскольку тот же код отлично работает на двух других серверах. Любая помощь/руководство/предложения будут высоко оценены.
Просто попробуйте request.getSession(), чтобы получить сеанс. – user1211
@ user1211 request.getSession() создаст новый сеанс, если сеанс не существует. Это не то, что он просил. – Chinmay
@Chinmay правильно, я пытаюсь получить мою существующую сессию. –