会话无效不在java中工作

会话无效不在java中工作,java,session,tomcat,servlet-filters,Java,Session,Tomcat,Servlet Filters,我在所有请求前面有一个过滤器,即UserFilter。它将验证会话中是否存在用户属性,然后让他们转到下一页/servlet。在所有页面中,我们都有一个注销按钮,它将调用注销servlet,我在这里编写了下面的代码 request.getSession().invalidate(); 但在单击注销后,如果我直接键入任何servlet url,它也会自动退出。i、 e它没有被重定向到登录页面。但我注意到,它进入了过滤器,但在过滤器内部,它能够检索会话属性EPORTALUATUSER。请参阅下面的代

我在所有请求前面有一个过滤器,即UserFilter。它将验证会话中是否存在用户属性,然后让他们转到下一页/servlet。在所有页面中,我们都有一个注销按钮,它将调用注销servlet,我在这里编写了下面的代码

request.getSession().invalidate();
但在单击注销后,如果我直接键入任何servlet url,它也会自动退出。i、 e它没有被重定向到登录页面。但我注意到,它进入了过滤器,但在过滤器内部,它能够检索会话属性EPORTALUATUSER。请参阅下面的代码

String userLogin = (String) request.getSession().getAttribute("EPORTALUATUSER");
但是在会话之后的注销servlet中,如果我检索属性,则会导致无效,并得到空响应


请指出我做错了什么。

p1是jsp p1.jsp页面还是servlet url?p1是servlet。它将根据会话变量重定向到jsp页面。您在P1 servlet中签入了什么来限制用户?如果您使会话无效,那么在下一个请求中,它将创建一个新会话,因此请确保您不仅检查会话是否存在。是否可以为注销和筛选放置整个代码段?请尝试在jsp中禁用缓存