filter过滤器如何获得值

来源:百度知道 编辑:UC知道 时间:2024/05/30 18:06:30
loginservlet中
HttpSession session = request.getSession();
userRight="true";
session.setAttribute("checkRight",userRight);

filter中
HttpSession session = request.getSession();
String str=(String)session.getAttribute("checkRight");
System.out.println(str);
为什么str总为null
我想得到true
<filter>
<filter-name>filter</filter-name>
<filter-class>servlet.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

filter的作用是过程.如果你的就是如果你执行的jsp或servlet等符合了filter-mapping的设置,那么在执行jsp或servlet等之前会先运行你的这个filter.

即是说,假设,你的loginservlet符合你的filter-mapping,那么运行的顺序是先运行filter,再运行loginserlet的.

如果你在不关闭session的情况下,再运行一次loginserlet,那我想是可以打印出true的.

再说了,你提供的东西有点少,也不能说一定是这个问题,自己多找找原因吧.检错的过程中对自己的提升也很明显的.

request.getSession( true );

配置文件发过来啊,不知道你的filter在过滤什么资源的信息,把你web.xml里配置filter的信息发过来我看看