过滤器能够对Servlet容器的请求和相应对象进行检查和修改
过滤器本身并不产生请求和响应对象,它只是提供过滤作用, Servlet过滤器能够在Servlet被调用之
前检查HttpServletRequest对象, 并能修改Request请求头信息和请求内容;在Servlet被调用之后检
查Response对象, 并能修改Response响应头信息和响应内容
讨滤器是向Web应用程序的请求和响应外理添加功能的Web服务组件
Filter是Tomcat容器内的过滤器,在请求到达容器是先会调用过滤器,再调用我们]的Servlet或者
JSP
Filter过滤器链
过滤器可以组成一个过滤器链,链中的每个过滤器都可以负责特定的操作和任务
客户端访问服务器的请求和响应在这些过滤器链之间传递
FilterChain接口用于调用过滤器链中的一系列过滤器
盗链接
如果没有盗链接,那么我只需要地址(不需要登录)就可以进入后台
Filter过滤器的生命周期
实例化:Web应用程序启动时,Web服务器通过web.xml创建filter实例
初始化:调用init()方法初始化filter实例
过滤:客户端提交请求或web服务器发送响应时,调用doFilter方法
销毁:停止web服务器时由容器调用过滤器的dostroy()方法销毁实例
Filter怎么用(作用)
敏感词过滤:
对请求的数据进行敏感词汇过滤
过滤敏感词替换为*
登录验证:
访问资源,验证是否已经登录
如果已经登录直接放行
如果未登录就跳转到登录页面
所有的Servlet过滤器都必须实现javax.servlet.Filter接口, 在这个接口内定义了三个定义过滤器类
必须要实现的方法
(1)init(FilterConfig filterConfig): Servlet过滤器的初始化方法。Servlet容 器创建Servlet过滤器实
例后将调用这个方法。在这个方法内可以读取web.xml文件中的Servlet过滤器的初始化参数
(2)doFilter(ServletRequest request,ServletResponse response,FilterChain chain):这个方法完
成实际的过滤器操作。当客户请求访问与过滤器关联的URL时,Servlet容器将先调用过滤器的
doFilter()方法。 FilterChain参数用于访问后续过滤器
(3)destroy(): Servlet容器在销毁过滤器前调用该方法,释放Servlet过滤器占用的内存
解决中文乱码问题:
../跳上一级目录,适用于路径,包括图片