过滤器就是对访问和请求响应进行拦截
题目要求:没登录时,点击链接不能访问到登陆后页面,过滤器会拦截,并且转到登录页面.
首页:
登录页面:
过程:登录时会创建一个session,然后点击访问链接时,过滤器会对session判断
具体实现:
代码解释一:创建session对象是在HttpServletRequest类中通过request.getSession()创建,但是过滤器方法参数是ServletRequest,所以进行强转
代码解释二:当过滤器过滤后,进行下一步操作,必须加上chain.doFilter(req, res);注意传的参数是强转后的参数,否则没意义
代码解释三:过滤器的web.xml配置,
哪里需要过滤,就配置url-pattern到哪里,这里是/control路径下的所有路径 /*代表所有