当前位置: 首页 > news >正文

大连普兰店网站建设怎样看一个网站做的网络广告

大连普兰店网站建设,怎样看一个网站做的网络广告,wordpress 权限阅读,婚礼设计方案网站一:Servlet过滤器 1.1解析 Filter 即为过滤,用于请求到达Servlet之前(Request),以及再Servlet方法执行完之后返回客户端进行后处理(HttpServletResponse)。简单说就是对请求进行预处理,对响应进行后处理 在请求到达Servlet之前,可以经过多个Filt…

一:Servlet过滤器


1.1解析

        Filter 即为过滤,用于请求到达Servlet之前(Request),以及再Servlet方法执行完之后返回客户端进行后处理(HttpServletResponse)。简单说就是对请求进行预处理,对响应进行后处理
        在请求到达Servlet之前,可以经过多个Filter,即Filter 链。再相应客户端也会相应经过多个Filter。
         过滤器当请求访问资源时,过滤器执行的顺序是1->2->3,到达资源中后,响应的顺序是3->2->1。

方法解析:
        init()方法:初始化的时候执行。
        doFilter()方法:执行过滤。
        destroy()方法:调用doFilter()方法之后,执行销毁资源的。

1.2步骤


a:定义一个类,类上标注注解@WebFilter,并实现接口Filter

b:复写方法init()、doFilter()、destroy()----主要就复写doFilter()就行

@WebFilter(urlPatterns="/*")//访问所有资源之前,都会执行该过滤器。/*表示拦截所有路径,也可以拦截指定某路径
@Order(1)//过滤器执行顺序,越小越先执行。
public class MyFilter implements Filter {//Demo:统计访问ip的Controller次数public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("filterDemo01被执行了...");//获取请求HttpServletRequest request = (HttpServletRequest) servletRequest;//预处理逻辑://访问的ipString ip = request.getRemoteAddr();HttpSession session = request.getSession();Integer count = (Integer) session.getAttribute("count");count = Objects.isNull(count) ? 1 : ++count;session.setAttribute("count",count);System.out.println("count:"+count);//放行filterChain.doFilter(servletRequest,servletResponse);}

下面是第二个拦截器

@WebFilter(urlPatterns="/*")
@Order(2)
public class MyFilter2 implements Filter {//Demo:统计访问ip的Controller次数public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {System.out.println("filterDemo02被执行了...");//获取请求HttpServletRequest request = (HttpServletRequest) servletRequest;//预处理逻辑://访问的ipString ip = request.getRemoteAddr();HttpSession session = request.getSession();Integer count = (Integer) session.getAttribute("count");count = Objects.isNull(count) ? 1 : ++count;session.setAttribute("count",count);System.out.println("count:"+count);//放行filterChain.doFilter(servletRequest,servletResponse);}}
控制台执行效果是这样的,这就是过滤器链
filterDemo01被执行了...
count:1
filterDemo02被执行了...
count:2

二:MVC拦截器

2.1解析

        作用和filter类似


2.2步骤

a.自定义拦截器MyInterceptor,实现WebMvcConfigurer,重写方法preHandle(这个类似于过滤器的doFilter)

public class MyInterceptor implements HandlerInterceptor {@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("拦截器执行了");String ip = request.getRemoteAddr();HttpSession session = request.getSession();Integer count = (Integer) session.getAttribute("count");count = Objects.isNull(count) ? 1 : ++count;session.setAttribute("count",count);System.out.println("ip:"+ip+";"+"count:"+count);//进行放行,return true即放行;,return false就是不放行return true;}
}

b.拦截器配置类,(相当于把自定义的拦截器放入到ioc对象中)

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {//把自定义的拦截器放入到ioc对象中@Overridepublic void addInterceptors(InterceptorRegistry registry) {MyInterceptor myInterceptor = new MyInterceptor();//刚刚自定义的拦截器registry.addInterceptor(myInterceptor).addPathPatterns("/**");//把拦截器放入到ioc对象中,并且设置起效范围}
}

三:过滤器和拦截器区别?

a、 拦截器(Interceptor) 它是一个SpringMVC提供的一个逻辑处理的组件他是依赖于Spring的过滤器依赖于servlet容器,所以它只能在web程序中使用。

b、拦截器只是对处理器(Controller中的方法)进行拦截,但是不对JS,JSP等静态资源拦截。而过滤器则可以所有请求

b、拦截器可以获取IOC容器中的各个bean,而过滤器就不行,这点很重要,在拦截器里注入一个service,可以调用业务逻辑。
d、如果项目中过滤器和拦截器同时存在,他们的执行顺序是:Filter、Servlet、Intercepter,再到达controller层

e、因为拦截器更靠近cotroller,并且可以很方便获取容器的中的各个Bean,所以更适合进行业务逻辑判断。比如登录判断、权限判断、日志记录。过滤器更适合全局性的功能过滤、比如敏感词过滤、字符集编码设置。过滤器适用于全局请求的拦截,拦截器可以实现更细粒度的逻辑处理

http://www.yayakq.cn/news/827604/

相关文章:

  • 湛江市建设局象山网站优化公司
  • 网站建设代理平台有哪些2015百度推广网站遭到攻击
  • 什么是建站哪个网站做ppt
  • 遵义网站建设中心有哪些做婚礼平面设计的网站有哪些
  • 国外最火的网站电话号码查询公司单位
  • 网站开发合作协议合同范本wordpress 目录 伪静态
  • 闵行区网站设计重庆市建设工程信息官方网站
  • 大连市住房与城乡建设部网站网站开发有多少种语言
  • 做电商设计在哪个网站接单ui界面设计包括哪些内容
  • 定制网站建设开发维护淘宝网站开发系统
  • 走着瞧网站 设计白酒类网站模板
  • 网站建设与管理升学就业方向网站推广策划书 精品
  • 移动网站建设推荐海外酒店 网站建设
  • 网站建设移动网络公司北京网站建设流程
  • 建行商城网站企业战略规划方案
  • 提升网站建设公司建设网站需要什么资质
  • 网站建设系统网页设计实验报告结果分析
  • 网站开发增强骨密度的食品网页制作基础教程我的足球网
  • 寿光网站制作百度搜索seo怎么做
  • 简单网站建设优化自己开发的软件怎么卖
  • 做机械的专业外贸网站有哪些微信公众号小程序有哪些功能
  • 装修公司网站制作广州第一网站
  • 开发php网站开发微页制作网站模板下载软件
  • 网站目录架构深圳网站建设服务器
  • 网站建设 竞标公司要求想建网站怎么做
  • 工程建设科学技术奖申报网站网站首页设计风格
  • 网站站建设建技设术技术网页制作与网站建设初学者必看教程
  • 电脑主机做网站服务器网站logo
  • 定制网站收费wordpress外接api
  • wordpress建站教程 贴吧唐山模板网站建设