一个完整的jsp请求响应流程可以简单的使用下图表示:

  JSP请求响应流程入门介绍

  过滤器:直观的了解,就是对请求做一个过滤作用,比如身份验证,验证不通过的不让他继续往下走

  Servlet:请求处理中心,这个也是我们写业务逻辑的地方

  JSP:页面

  

  从上面的图可以了解到,当接收到一个请求时,它会先被过滤器刷一遍,这一步可以理解为对请求进行一些预处理,如字符编码,身份验证等等,如果满足条件就放行,否则重定向到其它页面(如异常页面),而那些放行的请求,会进一步去访问它们需要的资源

 

一、过滤器(Filter)

  过滤器是一个类,通常它的作用可以总结为两点:

  • 在客户端的请求访问后端资源之前,拦截这些请求。
  • 在服务器的响应发送回客户端之前,处理这些响应。

  过滤器是一个类,当然我们就可以自定义过滤器了,如下,我们定义一个过滤器:    

  
package demo;

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 MyFilter implements Filter {

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        System.out.println("MyFilter:destroy");
    }

    @Override
    public void doFilter(ServletRequest paramServletRequest, ServletResponse paramServletResponse,
            FilterChain paramFilterChain) throws IOException, ServletException {
        // TODO Auto-generated method stub
        System.out.println("MyFilter:Do Somethind Before");
        paramFilterChain.doFilter(paramServletRequest, paramServletResponse);//放行进入下一个过滤器
        System.out.println("MyFilter:Do Somethind After");
    }

    @Override
    public void init(FilterConfig paramFilterConfig) throws ServletException {
        // TODO Auto-generated method stub
        System.out.println("MyFilter:init");
    }

}
View Code

相关文章:

  • 2022-12-23
  • 2021-07-06
  • 2021-07-07
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-19
  • 2021-11-03
  • 2021-11-22
  • 2021-04-27
  • 2021-10-08
  • 2021-07-26
  • 2022-12-23
相关资源
相似解决方案