• Servlet的过滤器(Fliter)


    Servlet过滤器与Servlet十分相似,但具有拦截客户端(浏览器)请求的功能,可以改变请求中的内容来满足实际开发的需求。对于开发人员而言,过滤器实质就是在Web应用服务器上的一个Web应用组件,用于拦截客户端与目标资源的请求,并执行一定过滤处理后发送给目标资源。
    
    Filter接口的方法:
    方法声明    说明
    Void init(FilterConfig  filterConfig) throws  ServletException    过滤器的初始化方法,此方法在初始化过滤器时调用
    Void doFilter(ServletRequest  request,ServletResponse  response,FilterChain  chain) throws   IOException,ServletException     对请求进行过滤
    Void destroy()    销毁方法以释放资源
    
    FilterConfig接口方法:
    方法声明    说明
    String  getFilterName()    用于获取过滤名
    ServletContext  getServletContext()    获取过滤器的上下文
    String  getInitParameter(String  name)    获取过滤器的初始化参数值
    Enumeration  getInitParameter()    获取过滤器的所有初始化参数
    
    FilterChain接口方法:
    Public   void  doFilter(SertvletRequest  request,ServletResponse  response) throws  IOException,ServletException
    此方法用于将过滤后的请求传递给下一个过滤器,如果此过滤器是过滤器链中的最后一个过滤器,那么请求将传送给目标资源。
    
    
    
    Web.xml配置文件中配置Filter:
    <!-- 注册过滤器 -->
      <filter>
      <description>注册过滤器MyFilter</description>
      <!-- 过滤器的名称 -->
      <filter-name>MyFilter</filter-name>
      <!-- 过滤器的使用类 -->
      <filter-class>com.wgh.MyFilter</filter-class>
      </filter>
      <!-- 配置过滤器 -->
      <filter-mapping>
      <filter-name>MyFilter</filter-name>
      <!-- 设置过滤器要过滤的页面,如果是指定页面就指定页面 login.jsp -->
      <url-pattern>/MyFilter</url-pattern>
      </filter-mapping>
    
    
    通过注解配置过滤器:
    @WebFilter(filterName="/MyFilter",urlPatterns={"/First.jsp"},
    initParams={@WebInitParam(name="mood",value="KKK")})
    
    filterName:配置过滤器的名称。
    urlPatterns:配置过滤器要过滤的页面。
    initParams:配置初始化参数。
  • 相关阅读:
    深入NET框架
    解决idea中maven的pom文件不会自动下载jar包问题
    JSP中的作用域
    转发与重定向
    JSP内置对象
    JNDI与连接池
    文件上传
    七大设计原则
    第六章 初始继承和多态
    C#和.NET框架
  • 原文地址:https://www.cnblogs.com/gynbk/p/6556304.html
Copyright © 2020-2023  润新知