Имаме клас 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 извикване. Какво може да се обърка тук?