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

昆明网站做的好的公司简介商务网站建设公司排名

昆明网站做的好的公司简介,商务网站建设公司排名,三部曲网站建设,高淳做网站价格目录 Spring Boot 过滤器1.什么是过滤器2.工作机制3.实现过滤器 Spring Boot 拦截器1. 什么是拦截器2. 工作原理3.实现4.拓展#xff08;MethodInterceptor 拦截器#xff09;实现 过滤器和拦截器区别过滤器和拦截器应用场景过滤器拦截器 Spring Boot 过滤器 1.什么是过滤器 … 目录 Spring Boot 过滤器1.什么是过滤器2.工作机制3.实现过滤器 Spring Boot 拦截器1. 什么是拦截器2. 工作原理3.实现4.拓展MethodInterceptor 拦截器实现 过滤器和拦截器区别过滤器和拦截器应用场景过滤器拦截器 Spring Boot 过滤器 1.什么是过滤器 过滤器Filter是 Servlet 规范规定的在 Servlet 前执行的。用于拦截和处理 HTTP 请求和响应可用于身份认证、授权、日志记录和设置字符集CharacterEncodingFilter等场景。 过滤器位于整个请求处理流程的最前端因此在请求到达 Controller 层前都会先被过滤器处理。 过滤器可以拦截多个请求或响应一个请求或响应也可以被多个过滤器拦截。 2.工作机制 Filter 的生命周期对应的三个关键方法 方法作用init()当请求发起是会调用init()方法初始化Filter实例仅初始化一次 若设置初始化参数时可调用该方法doFilter()拦截要执行的请求对请求和响应进行处理destroy()请求结束时调用该方法销毁Filter的实例 3.实现过滤器 实现 Filter 接口 WebFilter(urlPatterns /*) public class MyFilter implements Filter {Overridepublic void init(FilterConfig filterConfig) throws ServletException {// 用于完成 Filter 的初始化Filter.super.init(filterConfig);}Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println(过滤器已经拦截成功);// 执行该方法之前即对用户请求进行预处理执行该方法之后即对服务器响应进行后处理。chain.doFilter(request,response);}Overridepublic void destroy() {// 用于 Filter 销毁前完成某些资源的回收Filter.super.destroy();} }启动类添加注解 ServletComponentScan通过Component和Order(1)注解可以保证过滤器执行顺序 Spring Boot 拦截器 1. 什么是拦截器 依赖于web框架在SpringMVC中就是依赖于SpringMVC框架。在实现上基于Java的反射机制属于面向切面编程AOP的一种运用。由于拦截器是基于web框架的调用因此可以使用Spring的依赖注入DI进行一些业务操作同时一个拦截器实例在一个controller生命周期之内可以多次调用。但是缺点是只能对controller请求进行拦截对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理。 2. 工作原理 SpringMVC的机制是由同一个Servlet来分发请求给不同的Controller其实这一步是在Servlet的service()方法中执行的。所以过滤器、拦截器、service()方法dispatc()方法的执行顺序应该是这样的 3.实现 配置拦截器实现WebMvcConfigurer接口加Configuration注解并重写addInterceptors方法。 Configuration public class MyWebConfigurer implements WebMvcConfigurer {Resourceprivate MyHandlerInterceptor myHandlerInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {ListString patterns new ArrayList();patterns.add(/test/handlerInterceptor);registry.addInterceptor(myHandlerInterceptor).addPathPatterns(patterns) // 需要拦截的请求.excludePathPatterns(); // 不需要拦截的请求} }4.拓展MethodInterceptor 拦截器 MethodInterceptor 是 AOP 中的拦截器它拦截的目标是方法可以不是 Controller 中的方法。 在对一些普通的方法上的拦截可以使用该拦截器这是 HandlerInterceptor 无法实现的。 可用来进行方法级别的身份认证、授权以及日志记录等也可基于自定义注解实现一些通用的方法增强功能。 实现 MethodInterceptor 是基于 AOP 实现的所以根据不同的代理有多种实现方式。 创建 Interceptor 类实现MethodInterceptor接口重写invoke方法加Component注解。 Component public class MyMethodInterceptor implements MethodInterceptor {Overridepublic Object invoke(MethodInvocation invocation) throws Throwable {System.out.println(进入拦截方法执行前拦截方法是 invocation.getMethod().getName());Object result invocation.proceed();System.out.println(方法执行后);return result;}}配置自动代理加Configuration注解并创建自动代理BeanNameAutoProxyCreator。 Configuration public class MyMethodConfigurer {Resourceprivate MyMethodInterceptor myMethodInterceptor;Beanpublic BeanNameAutoProxyCreator beanNameAutoProxyCreator() {// 使用BeanNameAutoProxyCreator来创建代理BeanNameAutoProxyCreator beanNameAutoProxyCreator new BeanNameAutoProxyCreator();// 指定一组需要自动代理的Bean名称Bean名称可以使用*通配符beanNameAutoProxyCreator.setBeanNames(user*);//设置拦截器名称这些拦截器是有先后顺序的beanNameAutoProxyCreator.setInterceptorNames(myMethodInterceptor);return beanNameAutoProxyCreator;}}过滤器和拦截器区别 过滤器是基于函数回调拦截器是基于java的反射机制的。 过滤器是servlet规范规定的只能用于web程序中而拦截器是在spring容器中它不依赖servlet容器。 过滤器可以拦截几乎所有的请求(包含对静态资源的请求)而拦截器只拦截action请求(不拦截静态资源请求)。 过滤器不能访问action上下文、值栈里的对象拦截器可以访问action上下文、值栈里的对象。 在action的生命周期中过滤器只能在容器初始化时被调用一次拦截器可以多次被调用而。 拦截器可以获取IOC容器中的各个bean而过滤器就不行这点很重要在拦截器里注入一个service可以调用业务逻辑。 拦截器是被包裹在过滤器之中。 过滤器Filter 可以拿到原始的http请求但是拿不到你请求的控制器和请求控制器中的方法的信息。 拦截器Interceptor可以拿到你请求的控制器和方法却拿不到请求方法的参数。 切片Aspect: 可以拿到方法的参数但是却拿不到http请求和响应的对象 过滤器和拦截器应用场景 过滤器 过滤敏感词汇防止sql注入设置字符编码URL级别的权限访问控制压缩响应信息 拦截器 登录验证判断用户是否登录。权限验证判断用户是否有权限访问资源如校验token日志记录记录请求操作日志用户ip访问时间等以便统计请求访问量。处理cookie、本地化、国际化、主题等。性能监控监控请求处理时长等。通用行为读取cookie得到用户信息并将用户对象放入请求从而方便后续流程使用还有如提取Locale、Theme信息等只要是多个处理器都需要的即可使用拦截器实现
http://www.ho-use.cn/article/10819438.html

相关文章:

  • wordpress dz 整合兰州做系统优化的公司
  • 德州做网站的关键词排名优化公司推荐
  • 郑州正规网站设计价格友情链接怎么连
  • 苏州高端建站公司wordpress将404跳转主页
  • 国外网站设计师wordpress 分割线
  • 外贸网站注册wordpress 多重筛选模板
  • 广州贝勤网络科技有限公司女装标题优化关键词
  • 门户网站建设询价函公司网站地址
  • 怎么看公司网站做的好不好哦襄阳住房和城乡建设局网站首页
  • 金华兰溪网站建设开发一个软件需要什么技术
  • 金融网站设计方向广州十大科技公司
  • 新建网站网络空间长春网站制作诚推源晟
  • 怎么建立一个网站放图片c++软件开发需要学什么
  • 长沙建个网站一般需要多少钱专门做灯具海报的网站
  • 怎么做hs网站智慧治水网站系统建设
  • 网站集群建设是广西住房建设厅网站
  • 公司网站后台是什么怎样在阿里巴巴做网站
  • WordPress微博qq登录插件北京网站优化解决方案
  • 建立一个网站 优帮云西安建站套餐
  • 沈阳网站制作建设辽阳专业网站开发公司
  • 直播视频网站深圳seo优化排名优化
  • 网站逻辑结构优化苏州设计网站
  • 十大免费货源网站免费版本湖南网站营销推广设计
  • 网站开发有名的公司装饰工程造价
  • 苏州建设厅网站首页网络广告人社区
  • 个人网站是请人做还是自己编写好做外贸在哪个网站比较好
  • 电子商务网站商品怎么来wordpress 色
  • 如何知道网站什么时候做的wordpress do_action 返回值
  • 北京 网站策划公司做网站坚持多少年会有起色
  • 冀州建网站外国语学校网站建设方案