У нас есть класс SecurityFilter в нашем приложении путем реализации Filter, и наш метод doFilter выглядит следующим образом.
public void doFilter(ServletRequest sres, ServletResponse sreq,
FilterChain chain) throws IOException, ServletException {
LOGGER.debug(Logger.buildLogMessage("Starting SecurityFilter.doFilter"));
HttpServletRequest request = (HttpServletRequest) sres;
HttpServletResponse response = (HttpServletResponse) sreq;
HttpSession session = request.getSession();
У нас есть следующая запись в нашем web.xml
<filter>
<filter-name>SecurityFilter</filter-name>
<filter-class>com.a.b.c.web.filter.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SecurityFilter</filter-name>
<url-pattern>/resources/*</url-pattern>
</filter-mapping>
У нас много вызовов REST к нашему приложению, и все они проходят через этот фильтр. В документации Java API говорится, что request.getSession() возвращает сеанс, если он существует, иначе он создает новый сеанс. Но в нашем приложении request.getSession() всегда создает новый сеанс для каждого вызова REST. Что здесь может пойти не так?