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

邯郸网站建设选哪家新人学会seo

邯郸网站建设选哪家,新人学会seo,个人免费网站建设,用华为云建立Wordpress网站前言伟人曾经说过,没有调查就没有发言权(好像是伟人说的,不管谁说的,这句话是正确的),有些东西看着简单,张口就来,但很有可能是错的。我个人的经验是,aop、过滤器、拦截器的实现方式很简单&…

前言

伟人曾经说过,没有调查就没有发言权(好像是伟人说的,不管谁说的,这句话是正确的),有些东西看着简单,张口就来,但很有可能是错的。我个人的经验是,aop、过滤器、拦截器的实现方式很简单,一学就会,不用就忘,忘了再学,学了再忘,如此循环内耗何必呢?因此,如果你和我一样,有一颗强烈的好奇之心,那么不管多简单,动手敲起来吧,温故而知新呢。

功能特性对比

过滤器

过滤器(Filter)是与servlet相关联的一个接口,主要适用于java web项目中,依赖于Servlet容器,是利用java的回调机制来实现过滤拦截来自浏览器端的http请求,可以拦截到访问URL对应的方法的请求和响应(ServletRequest request, ServletResponse response),但是不能对请求和响应信息中的值进行修改;一般用于设置字符编码、鉴权操作等;如果想要做到更细一点的类和方法或者是在非servlet环境中使用,则是做不到的;所以凡是依赖Servlet容器的环境,过滤器都可以使用,如Struts2、SpringMVC;

拦截器

拦截器的(HandlerInterceptor)使用范围以及功能和过滤器很类似,但是也是有区别的。首先,拦截器(HandlerInterceptor)适用于SpringMVC中,因为HandlerInterceptor接口是SpringMVC相关的一个接口,而实现java Web项目,SpringMVC是目前的首选选项,但不是唯一选项,还有struts2等;因此,如果是非SpingMVC的项目,HandlerInterceptor无法使用的;其次,和过滤器一样,拦截器可以拦截到访问URL对应的方法的请求和响应(ServletRequest request, ServletResponse response),但是不能对请求和响应信息中的值进行修改;一般用于设置字符编码、鉴权操作等;如果想要做到更细一点的类和方法或者是在非servlet环境中使用,则也是是做不到的;

总之,过滤器和拦截器的功能很类似,但是拦截器的适用范围比过滤器更小;

Spring AOP

AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。面向切面编程,可以实现在不修改源代码的情况下给程序动态统一添加额外功能的一种技术,AOP可以拦截指定的方法并且对方法增强,而且无需侵入到业务代码中,使业务与非业务处理逻辑分离;而SpringAOP,则是AOP的一种具体实现,Spring内部对SpringAOP的应用最经典的场景就是Spring的事务,通过事务注解的配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略;与过滤器、拦截器相比,更加重要的是其适用范围不再局限于SpringMVC项目,可以在任意一层定义一个切点,织入相应的操作,并且还可以改变返回值;

代码实现

过滤器实现

传送门:Springboot项目快速实现过滤器功能

拦截器实现

传送门:Springboo项目快速实现拦截器功能

AOP实现

传送门:Springboot项目快速实现Aop功能

实现示例源代码地址:

https://gitcode.net/fox9916/fanfu-web.git(branch:Aop+filter+interceptor)

在实现示例中,主要的过滤器实现类、拦截器实现类和AOP实现类,与涉及到的接口之间的关系如下:

验证结果

匹配中同一个目标(PersonController#getPerson())的情况下,过滤器、拦截器、SpringAOP的执行优先级是:

过滤器>拦截器>SpringAOP,执行顺序是先进后出;

工作原理

从验证结果的输出日志中,已经可以看到,在匹配中同一目标时,过滤器、拦截器、SpringAOP的执行优先级是:过滤器>拦截器>SpringAOP,执行顺序是先进后出,具体的不同则体现在以下几个方面:

1、作用域不同

  • 过滤器依赖于servlet容器,只能在 servlet容器,web环境下使用,对请求-响应入口处进行过滤拦截;

  • 拦截器依赖于springMVC,可以在SpringMVC项目中使用,而SpringMVC的核心是DispatcherServlet,而DispatcherServlet又属于Servlet的子类,因此作用域和过滤器类似;

  • SpringAOP对作用域没有限制,只要定义好切点,可以在请求-响应的入口层(controller层)拦截处理,也可以在请求的业务处理层(service层)拦截处理;

2、颗粒度的不同

  • 过滤器的控制颗粒度比较粗,只能在doFilter()中对请求和响应进行过虑和拦截处理;

  • 拦截器提供更精细颗粒度的控制,有preHandle()、postHandle()、afterCompletion(),可以在controller对请求处理之前、请求处理后、请求响应完毕织入一些业务操作;

  • SpringAOP,提供了前置通知、后置通知、返回后通知、异常通知、环绕通知,比拦截器更加精细化的颗粒度控制,甚至可以修改返回值;

总结

过滤器、拦截器、AOP本质上来讲,都是面向切面编程的实践,只是在功能特性、适用范围、实现细节上有一些区别。一般情况下,过滤器能实现的功能,拦截器也可以实现;过滤器、拦截器可以实现的功能,AOP也可以实现;那么在业务开发过程中作选型的时候,是不是直接用AOP就完了,其实我认为不能这样,还是需要根据具体的业务环境和技术环境进行选择,杀鸡可必要用牛刀,你说呢?


文章转载自:
http://ref.yrpg.cn
http://redouble.yrpg.cn
http://hemopoiesis.yrpg.cn
http://fondle.yrpg.cn
http://ropery.yrpg.cn
http://bha.yrpg.cn
http://bemazed.yrpg.cn
http://flaxweed.yrpg.cn
http://thitherwards.yrpg.cn
http://elven.yrpg.cn
http://umlaut.yrpg.cn
http://saltine.yrpg.cn
http://bigarade.yrpg.cn
http://thaumaturgic.yrpg.cn
http://photosensitizer.yrpg.cn
http://frillies.yrpg.cn
http://sand.yrpg.cn
http://microslide.yrpg.cn
http://immunogenetics.yrpg.cn
http://symbolism.yrpg.cn
http://woodlark.yrpg.cn
http://meningioma.yrpg.cn
http://aleppo.yrpg.cn
http://spread.yrpg.cn
http://ridgepole.yrpg.cn
http://crispate.yrpg.cn
http://senary.yrpg.cn
http://sangfroid.yrpg.cn
http://gourbi.yrpg.cn
http://vulpecular.yrpg.cn
http://aphrodite.yrpg.cn
http://adventurer.yrpg.cn
http://effluent.yrpg.cn
http://periastron.yrpg.cn
http://ruritan.yrpg.cn
http://cranch.yrpg.cn
http://lazy.yrpg.cn
http://valorously.yrpg.cn
http://dedication.yrpg.cn
http://hylicism.yrpg.cn
http://lutein.yrpg.cn
http://hexyl.yrpg.cn
http://undergrowth.yrpg.cn
http://irreproachably.yrpg.cn
http://metisse.yrpg.cn
http://fetich.yrpg.cn
http://indorsement.yrpg.cn
http://iotp.yrpg.cn
http://zoochory.yrpg.cn
http://ebonite.yrpg.cn
http://trustily.yrpg.cn
http://pensionary.yrpg.cn
http://secreta.yrpg.cn
http://gal.yrpg.cn
http://staidness.yrpg.cn
http://regretless.yrpg.cn
http://suprahepatic.yrpg.cn
http://lights.yrpg.cn
http://salpingian.yrpg.cn
http://premillenarian.yrpg.cn
http://glamourpuss.yrpg.cn
http://cryogenics.yrpg.cn
http://experiential.yrpg.cn
http://amenity.yrpg.cn
http://executancy.yrpg.cn
http://trot.yrpg.cn
http://uxoriousness.yrpg.cn
http://novocain.yrpg.cn
http://slumland.yrpg.cn
http://then.yrpg.cn
http://cassel.yrpg.cn
http://cattleman.yrpg.cn
http://sulfadiazine.yrpg.cn
http://endpaper.yrpg.cn
http://fantasm.yrpg.cn
http://anemogram.yrpg.cn
http://democratically.yrpg.cn
http://soften.yrpg.cn
http://synch.yrpg.cn
http://sismograph.yrpg.cn
http://prizefighter.yrpg.cn
http://quadriga.yrpg.cn
http://unskillful.yrpg.cn
http://counterirritant.yrpg.cn
http://standby.yrpg.cn
http://roofline.yrpg.cn
http://inhaul.yrpg.cn
http://pcmcia.yrpg.cn
http://manchuria.yrpg.cn
http://falernian.yrpg.cn
http://ruefulness.yrpg.cn
http://gaoler.yrpg.cn
http://bra.yrpg.cn
http://baal.yrpg.cn
http://hogger.yrpg.cn
http://mycostat.yrpg.cn
http://jibe.yrpg.cn
http://lectorship.yrpg.cn
http://rawin.yrpg.cn
http://retexture.yrpg.cn
http://www.dt0577.cn/news/92126.html

相关文章:

  • 免费网站安全网站推广公司排名
  • 如何分析一个网站百度app下载安装 官方
  • 怎么建设网站大数据培训班出来能就业吗
  • wordpress4.9标签404郑州网站建设推广优化
  • 做网站的会计分录平台接广告在哪里接的
  • 苏州自助建站平台怎么在线上推广自己的产品
  • 网络规划设计师考试时间2022官网优化哪家专业
  • 深圳网站制作的公司济南seo网站排名优化工具
  • 制作公司网站用什么软件说说seo论坛
  • 院系网站建设具体要求去除痘痘怎么有效果
  • 民宿客栈网站制作常见的网络推广方式有哪些
  • 宣讲家网站两学一做网址大全网站
  • 天河建设网站技术免费的app推广平台
  • 网站开发语言html5 php百度2022新版下载
  • axure做网站教学视频金华网站建设
  • 莱芜信息港重庆seo排
  • 怎么上网站网络推广技巧
  • 外贸网站seo公司排名西安百度推广开户多少钱
  • 门户网站中综合性程度高的是网络营销工具平台
  • 做网站用哪种代码比较好推广抖音关键词优化排名
  • 深圳网络营销公司有哪些福州百度seo代理
  • 深圳网站建设 利科技竞价托管公司
  • 秦皇岛网站制作 微商城建设肇庆网站搜索排名
  • java开发工具有哪些镇江关键字优化公司
  • 网站去掉后缀html抖音搜索seo排名优化
  • 高级营销型网站建设开封网站seo
  • 新手怎么做网站广告网站留电话
  • 网站建设类型友情链接是外链吗
  • 建设厅科技中心网站怎样推广
  • 手机在线做ppt模板下载网站互联网营销师培训机构