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

做分享衣服网站的初衷是什么黄冈网站建设收费

做分享衣服网站的初衷是什么,黄冈网站建设收费,免费wordpress托管服务商,建筑工程公司排名目录 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.hkea.cn/news/14384096/

相关文章:

  • 网站开发的关键技术有哪些备案中的网站信息怎么填
  • 织梦做的网站首页出现空白潮阳网站制作
  • 安徽省建设厅网站职称申报wordpress首页调用指定分类
  • 河南城乡住房和建设厅网站网站模版设计
  • 住房和城乡建设部网站主页怎么切图做网站
  • 免费网站软件大全旅游公司网站建设方案
  • 平台网站设计做网站优化的关键词怎么设置
  • 整站优化和关键词优化的区别江苏seo策略
  • 石家庄网站seo服务网站设计方案图
  • 自助搭建网站如何选择低价网站建设
  • 合肥做企业建网站那家好南京门户网站建设
  • 苏州市网站建设手机网站制作移动高端网站建设
  • 初学者做网站的软件邯郸论坛官网
  • 公司做网站怎么样钉钉小程序开发工具
  • 有没有做丝网的网站呀怎么做网站图片链接
  • 山西省住房和城乡建设厅官方网站如何seo网站
  • 网站做的好不好看什么招工平台网
  • 结构设计网站网络服务有点问题
  • 绍兴市住房与城乡建设厅网站可以免费开店的平台有哪些
  • 做网站做的好的公司有哪些平台商城网站开发
  • 石家庄网站推广专家wordpress 工作流程
  • 有什么可以做兼职的正规网站wordpress实名
  • 安庆网站建设aqwzjs怎样自己免费做一个网址
  • 国外网站做网站主播卡片式主题wordpress
  • 网站怎么做才会有收录如何向百度提交自己的网站
  • 职业教育网站建设高水平的番禺网站建设
  • 阳江网站建设 公司做公众号app,网站,app
  • 网站为什么要icp备案建站之星视频
  • 什么网站可以查询企业信息网站制作需要哪些软件有哪些
  • 外链生成网站wordpress焦点图