Filter过滤器实现权限控制
在操作中经常性的要对用户是否登陆进行验证,那么如果要进行验证的话,则肯定有大量的代码要不断的判断session是否存在。那么此种代码实际上就可以直接放在过滤器中进行编写。
登录页面:Login.jsp
权限控制 用户其实就只有一个入口,即首先进行登录,登录后将信息保存在session中,如果session中没有内容,则无法进入其他页面或进行其他操作。
?
点击登录按钮进入loginServlet将信息保存。
LoginServlet.java
Filter拦截器: MyFilter.java
?
Filter从session中取出数据看是否已登录,如果session中有内容则执行 filterChain.doFilter()方法请求继续向下传递。否则返回登录页面。
?
为了测试还要有一个让其Session失效的类
InvalidateServlet.java
?
如果在未登录时访问其他页面 则跳转到error.jsp页面
登录成功页面 success.jsp
?
此外最好需要几个测试页面
?
test1.jsp test2.jsp 里面随便一些显示内容即可
配置web.xml实现拦截
除login.jsp在webroot目录下 其余jsp页面在jsp文件夹下
?
可进行如下方法的测试
不先进入login.jsp进行登录访问http://localhost:8080/filter/jsp/test1.jsp则提示尚未登录。
然后进行登录随便输入一个用户名,再访问test1.jsp则可以进入或者关闭浏览器重新打开,还是可以进入
直至在success.jsp页面中进行注销 。



?

