Java 会话属性从过滤器传递到servlet的机制是什么?
在一个webapp中,我使用了几个过滤器,在其中一个过滤器中,我使用了BalusC描述为“会话滥用”的东西。基本上,在过滤器中,我执行以下操作:Java 会话属性从过滤器传递到servlet的机制是什么?,java,session,web-applications,attributes,filter,Java,Session,Web Applications,Attributes,Filter,在一个webapp中,我使用了几个过滤器,在其中一个过滤器中,我使用了BalusC描述为“会话滥用”的东西。基本上,在过滤器中,我执行以下操作: request.getSession().setAttribute("abuse", ...); 稍后,在Servlet中,我读回了这个属性 我使用的是会话属性而不是请求属性,因为我正在执行重定向,这就是我丢失的地方 浏览器接收到302并执行重定向后,Tomcat(或任何其他Java webapp服务器)如何知道后续GET(重定向后的GET)与在第一
request.getSession().setAttribute("abuse", ...);
稍后,在Servlet中,我读回了这个属性
我使用的是会话属性而不是请求属性,因为我正在执行重定向,这就是我丢失的地方
浏览器接收到302并执行重定向后,Tomcat(或任何其他Java webapp服务器)如何知道后续GET(重定向后的GET)与在第一个筛选器(重定向发生前的GET)内返回的会话属于同一个“会话”
即使客户端浏览器同时关闭了JavaScript和Cookie,和禁用JSSessionID时,,这是否也有效
我应该指出,JSSessionID是出于SEO和用户友好目的而禁用的:就像stackoverflow.com从不显示包含无意义技术标签的超长URL一样,我的webapp也不会,而JavaScript和Cookie可以被用户关闭。因此,我想知道,即使这三个“客户端功能”不可用,我正在进行的“会话滥用”是否仍然有效。如果禁用了cookie和url重写,则Servlet容器无法跟踪会话。实际上,我认为有一些仍然可以使用SSL——SSL中内置了会话跟踪,但我不确定有多少servlet容器支持这种方法,它需要纯SSL 如果不跟踪会话,则会创建每个会话,然后将其孤立