一、要实现的功能
1.使用Filter对用户进行权限控制,使没有权限的用户不能访问指定一面。
二、实现思路
1.其实没什么思路,很简单的问题,Filter就相当于在客户端和服务端装了一个防火墙,所有请求在发送到服务端进行处理之前,都要先通过防火墙的安检,合法的用户就让你访问服务资源,不合法的用户就让他登录后再访问。Filter还有其他的功能,比如说和FilterChain一起使用,可以进行好几次过滤,除了过滤权限,还可以过滤特殊以及非法的字符。进行统一编码之类的工作。
2.Filter的基本原理在http://zhangjunhd.blog.51cto.com/113473/20629写的很好。
三、代码
四、总结
1.又是一个非常简单的问题让我花了那么长时间,思路上没什么问题,这和访问控制列表在思想上是差不多的,不就是进行判断吗,关键是代码的组织上,在跳转页上遇到了些小问题,路径前面忘了加"/"了,真无语了。
2.还有一个问题是不能忽视的,FilterConfig,这个是根据你的需求进行个性化配置的东西,可以在部署描述中即在web.xml中进行初始化配置。
3.在web.xml中部署Filter的时候<filter-mapping>元素还可以包含0-4个<dispatcher>元素,<dispatcher>元素指定指定过滤器对应的请求方式,REQUEST,INCLUDE,FORWARD,ERROR四种之一,默认为REQUEST.这里的意思就是说,Filter不但能接收用户用REQUEST方式提交的请求,还能接受通过RequestDispatacher“转发”过来的请求。
4.这只是最简单的过滤的问题,还有替换的功能。这里没能力说了,等看看再说。