首页 > 其他分享 >jsp 过滤器

jsp 过滤器

时间:2022-10-23 19:00:45浏览次数:45  
标签:Filter doFilter jsp 过滤器 import servlet javax

简介

Servlet过滤器从字面上的字意理解为经过一层次的过滤处理才达到使用的要求,而其实Servlet过滤器就是服务器与客户端请求与响应的中间层组件,在实际项目开发中Servlet过滤器主要用于对浏览器的请求进行过滤处理,将过滤后的请求再转给下一个资源。

Filter是在Servlet 2.3之后增加的新功能,当需要限制用户访问某些资源或者在处理请求时提前处理某些资源的时候,就可以使用过滤器完成。

过滤器是以一种组件的形式绑定到WEB应用程序当中的,与其他的WEB应用程序组件不同的是,过滤器是采用了“链”的方式进行处理的。

img

建立过滤器

要编写一个过滤器必须实现Filter接口。实现其接口规定的方法。

★ 实现javax.servlet.Filter接口 ★ 实现init方法,读取过滤器的初始化参数 ★ 实现doFilter方法,完成对请求或响应的过滤 ★ 调用FilterChain接口对象的doFilter方法,向后续的过滤器传递请求或响应

一个最基本的过滤器实现代码:

java类:

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;

public class BasicsFilter implements Filter {
    public BasicsFilter() {
        // 容器(服务器)启动时执行
    }

    /**
     * @see Filter#init(FilterConfig)
     */
    public void init(FilterConfig fConfig) throws ServletException {
        /* 容器(服务器)时执行 */
        System.out.println("======== 初始化方法 ========");
        // 获取的是web.xml中配置Filter时设置的值,参数为设置值得名称,若参数不存在,则返回空
        String initParam = fConfig.getInitParameter("param");
        System.out.println("param ========" + initParam);
    }

    /**
     * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
     */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        /* 在访问的时候执行 */
        System.out.println("======= 开始执行doFilter ========");
        // 转发到下一个组件,进行后续的处理(组件可以是一个过滤器,也可以是一个servlet)
        chain.doFilter(request, response);
        System.out.println("======= 结束执行doFilter ========");
        
    }
    /**
     * @see Filter#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }
}

web.xml配置过滤器

<filter>
    <filter-name>basicsFilter</filter-name>
    <filter-class>com.hudongwu.filter.BasicsFilter</filter-class>
    <init-param><!-- 设置在过滤器中执行初始化方法时,获取的值 -->
        <param-name>param</param-name>
        <param-value>studyFilter</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>basicsFilter</filter-name>
    <!-- 设置为访问该网站所有地址都需要通过该过滤器 -->
    <url-pattern>/*</url-pattern>
    <!-- 设置为只有访问该网站的/Helloword地址时才通过该过滤器 -->
    <url-pattern>/Helloword</url-pattern>
</filter-mapping>

标签:Filter,doFilter,jsp,过滤器,import,servlet,javax
From: https://blog.51cto.com/lianghecai/5787437

相关文章

  • JSP内置对象
    简介JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境......
  • jsp页面中的正则表达式--主要用于js判断文本格式
    一、方括号[]举例:二、^三、元字符举例的话,就可以这么说,要实现要表示整数的话:[]就表示输入的文本框里面的数字的第一位,可以这么写--->[1-9]然后已知\d表示的与[0-9......
  • Linux执行jsp命令的时候报错:-bash: jps: command not found
    前言:在zookeeper学习的时候,执行jsp命令查看zookpper运行状态的时候发现报错:-bash:jps:commandnotfound翻阅了一大批文章,不是东拼西凑,就是缺斤少两,于是乎,本人萌生了......
  • JSP include 和 forward的区别
    <jsp:include>动作元素用来包含静态和动态的文件。该动作把指定文件插入正在生成的页面。语法格式如下:<jsp:includepage="相对URL地址"flush="true"/>include指......
  • 【学习笔记】Filter 过滤器
    Filter过滤器过滤器的作用:用来过滤网站的数据(处理中文乱码、登录验证....)过滤器加在服务器和servlet、jsp、静态资源中间,用来过滤服务器的请求我们以处理乱码问题为例......
  • Vue笔记4 过滤器、表单v-model\高级函数
      item.price|showPrice过滤器用法              -------------------------------------------------------  --------------......
  • ABP(v5.13 ),替换全局异常处理过滤器
    ASP.NETBoilerplate说明:目标框架是.NETStandard2.0,包版本5.13.0全局异常处理过滤有两个,AbpExceptionFilter,AbpExceptionPageFilter是在services.AddAbp()的时候注册的......
  • 【学习笔记】JSP标签、JSTL标签、EL表达式
    JSP标签、JSTL标签、EL表达式EL表达式${}作用:获取数据执行运算获取web开发的常用对象 JSP标签拼接页面<jsp:includepage="jsp1.jsp"/>转......
  • 【学习笔记】JSP内置对象
    JSP内置对象pageContextRequestResponseconfig[ServletConfig]outApplication[ServletContext]pageexceptionsession 其中,pageContext......
  • 过滤器
    过滤器实现过程:答题实现步骤:编写**Fiter.java实现Filter接口在启动项添加注解@ServletComponentScanFilter配置编写@Slf4j@WebFilter(filterName="LoginChe......