旗下导航:搜·么
当前位置:网站首页 > JAVA教程 > 正文

java过滤器怎样完成【JAVA教程】,java

作者:搜教程发布时间:2019-11-27分类:JAVA教程浏览:62评论:0


导读:Filter也称之为过滤器,它是Servlet手艺中最激动人心的手艺之一,WEB开发人员经由过程Filter手艺,对web服务器治理的一切web资本:比方Jsp,Servlet,...
Filter也称之为过滤器,它是Servlet手艺中最激动人心的手艺之一,WEB开发人员经由过程Filter手艺,对web服务器治理的一切web资本:比方Jsp,Servlet, 静态图片文件或静态html文件等举行阻拦,从而完成一些特别的功用。比方完成URL级别的权限接见掌握、过滤敏感辞汇、紧缩相应信息等一些高等功用。

那末它是怎样完成的呢?

编写一个过滤器的类完成Filter接口

完成接口中还没有完成的要领(偏重完成doFilter要领)

在web.xml中举行设置(主如果设置要对哪些资本举行过滤)

它的事情道理?

Filter接口中有一个doFilter要领,当我们编写好Filter,并设置对哪一个web资本举行阻拦后,WEB服务器每次在挪用web资本的service要领之前,都邑先挪用一下filter的doFilter要领,因而,

在该要领内编写代码可到达以下目的:
挪用目的资本之前,让一段代码实行。
是不是挪用目的资本(即是不是让用户接见web资本)。
挪用目的资本以后,让一段代码实行。
web服务器在挪用doFilter要领时,会通报一个filterChain对象进来,filterChain对象是filter接口中最主要的一个对象,它也供应了一个
doFilter要领,开发人员能够依据需求决议是不是挪用此要领,挪用该要领,则web服务器就会挪用web资本的service要领,即web资本就会被接见,不然web资本不会被接见。

过滤器类型:

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
/**
* @author yangcq
* @description 过滤器Filter的事情道理
*/
public class FilterTest implements Filter{
    public void destroy() {
        System.out.println("----Filter烧毁----");
    }
public void doFilter(ServletRequest request, ServletResponse response,FilterChain filterChain) throws IOException, ServletException {
    // 对request、response举行一些预处理
    request.setCharacterEncoding("UTF-8");
    response.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");
    System.out.println("----挪用service之前实行一段代码----");
    filterChain.doFilter(request, response); // 实行目的资本,放行
    System.out.println("----挪用service以后实行一段代码----");
}
    public void init(FilterConfig arg0) throws ServletException {
        System.out.println("----Filter初始化----");
    }
}

在web. xml中设置过滤器:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
  <display-name></display-name>    
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  <!--设置过滤器-->
  <filter>
      <filter-name>FilterTest</filter-name>
      <filter-class>com.yangcq.filter.FilterTest</filter-class>
  </filter>
  <!--映照过滤器-->
  <filter-mapping>
      <filter-name>FilterTest</filter-name>
      <!--“/*”示意阻拦一切的要求 -->
      <url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>

以上就是java过滤器怎样完成的细致内容,更多请关注ki4网别的相干文章!

标签:java


欢迎 发表评论: