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

怎么自己建立网站及建立网站方法wordpress 文章编辑框插件

怎么自己建立网站及建立网站方法,wordpress 文章编辑框插件,wordpress cron api,注册一个logo需要多少钱目录 一、拦截器#xff08;Interceptor#xff09;和过滤器#xff08;Filter#xff09;#xff1a;都是“守门员”#xff01;二、如何实现拦截器和过滤器#xff1f;三、拦截器和过滤器的区别四、执行顺序五、真实的应用场景六、总结 #x1f31f;如果喜欢作者的讲… 目录 一、拦截器Interceptor和过滤器Filter都是“守门员”二、如何实现拦截器和过滤器三、拦截器和过滤器的区别四、执行顺序五、真实的应用场景六、总结 如果喜欢作者的讲解方式关注作者不迷路同时也可以看看我的其他文章 感谢 从乐高积木到乐队指挥用最通俗易懂的方式带你玩转 Spring Boot Bean 就让我用这篇文章来讲解 SpringBoot 的拦截器和过滤器吧给它安排明白 一、拦截器Interceptor和过滤器Filter都是“守门员” 想象一下你的 SpringBoot 应用就像一个豪华酒店。 过滤器Filter 就像酒店大门口的保安负责检查所有进出酒店的人请求。它可以决定是否允许客人进入或者在客人进入前做一些处理比如检查身份证、测量体温️。拦截器Interceptor 就像酒店内部各个楼层的楼层经理‍只负责检查进入特定楼层Controller的客人。它可以在客人进入楼层前、进入楼层后、离开楼层后都进行干预比如登记访客信息、提供楼层指引️。 二、如何实现拦截器和过滤器 1. 过滤器Filter 步骤一 创建一个类实现 javax.servlet.Filter 接口。步骤二 实现 doFilter() 方法。这个方法就是过滤器的核心逻辑在这里你可以对请求和响应进行处理。步骤三 使用 WebFilter 注解或者在 WebConfig 类中注册过滤器。 // 方式一使用 WebFilter 注解 WebFilter(urlPatterns /*, filterName MyFilter) // 拦截所有请求 public class MyFilter implements Filter {Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {System.out.println(过滤器请求来了我要检查一下);// 可以对 request 和 response 进行处理HttpServletRequest req (HttpServletRequest) request;String uri req.getRequestURI();System.out.println(请求的URI uri);// 放行让请求继续往下走chain.doFilter(request, response);System.out.println(过滤器请求走了我要记录一下);} }// 方式二在 WebConfig 类中注册 Configuration public class WebConfig {Beanpublic FilterRegistrationBeanMyFilter myFilterRegistrationBean() {FilterRegistrationBeanMyFilter registration new FilterRegistrationBean();registration.setFilter(new MyFilter());registration.addUrlPatterns(/*); // 拦截所有请求registration.setName(MyFilter);registration.setOrder(1); // 设置优先级数字越小优先级越高return registration;} }2. 拦截器Interceptor 步骤一 创建一个类实现 org.springframework.web.servlet.HandlerInterceptor 接口。步骤二 实现 preHandle()、postHandle()、afterCompletion() 方法。 preHandle()在 Controller 处理请求之前调用可以进行权限验证、参数校验等。如果返回 false则请求会被拦截不会继续执行。postHandle()在 Controller 处理请求之后但在视图渲染之前调用可以对 ModelAndView 进行修改。afterCompletion()在整个请求处理完毕之后调用可以进行资源清理、日志记录等。 步骤三 创建一个配置类实现 org.springframework.web.servlet.config.annotation.WebMvcConfigurer 接口并重写 addInterceptors() 方法将拦截器注册到 Spring 容器中。 public class MyInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(拦截器Controller 要处理请求了我要先检查一下‍♀️);// 可以进行权限验证、参数校验等String token request.getHeader(token);if (token null || token.isEmpty()) {System.out.println(拦截器没有 token拒绝访问);response.setStatus(401); // 返回未授权状态码return false; // 拦截请求}return true; // 放行请求}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println(拦截器Controller 处理完请求了我可以修改 ModelAndView);// 可以对 ModelAndView 进行修改if (modelAndView ! null) {modelAndView.addObject(message, 拦截器添加的额外信息);}}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println(拦截器请求处理完成了我可以清理资源、记录日志);// 可以进行资源清理、日志记录等} }Configuration public class InterceptorConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new MyInterceptor()).addPathPatterns(/api/**) // 拦截 /api/ 下的所有请求.excludePathPatterns(/api/login); // 排除 /api/login 请求} }三、拦截器和过滤器的区别 特性过滤器Filter拦截器Interceptor实现方式实现 javax.servlet.Filter 接口实现 org.springframework.web.servlet.HandlerInterceptor 接口拦截范围拦截所有进出 Servlet 容器的请求拦截特定的 Controller 方法执行时机在 DispatcherServlet 之前和之后执行在 Controller 方法执行之前、之后和完成之后执行依赖性不依赖 Spring 容器依赖 Spring 容器可以访问 Spring 上下文功能字符编码转换、请求内容过滤、敏感词过滤等权限验证、日志记录、参数校验等精确度粗粒度只能拦截 URL细粒度可以访问 HandlerMethod获取方法信息 总结 过滤器 拦截所有请求不依赖 Spring功能比较通用。拦截器 拦截特定 Controller 方法依赖 Spring功能更精细。 四、执行顺序 过滤器Filter在 DispatcherServlet 之前执行。拦截器Interceptor preHandle()在 Controller 方法执行之前执行。Controller 方法执行。postHandle()在 Controller 方法执行之后但在视图渲染之前执行。视图渲染。afterCompletion()在整个请求处理完毕之后执行。 记住 多个过滤器和拦截器可以配置执行顺序通常通过 order 属性或者 Order 注解来设置数字越小优先级越高。 五、真实的应用场景 过滤器 字符编码转换 统一设置请求和响应的字符编码避免乱码。XSS 攻击防御 过滤请求中的恶意脚本防止 XSS 攻击。日志记录 记录所有请求的 URL、IP 地址等信息。 拦截器 权限验证 检查用户是否已登录是否有权限访问特定资源。参数校验 校验请求参数的合法性防止恶意请求。性能监控 记录 Controller 方法的执行时间分析性能瓶颈。防止重复提交 避免用户重复提交表单。 六、总结 过滤器 就像酒店大门口的保安啥人都拦主要做一些通用的检查比如身份证、体温啥的。拦截器 就像楼层经理只管特定楼层的人可以做更细致的检查比如登记访客信息、提供楼层指引。执行顺序 先保安再楼层经理。保安先检查楼层经理在客人进房间前、进房间后、离开房间后都可以管。 如果编写了AOP逻辑会在拦截器之后执行相关内容请看 被重复代码逼疯AOP来当“舔狗”日志/事务/权限随叫随到 希望这篇文章能让你有趣的理解 SpringBoot 的拦截器和过滤器
http://www.hkea.cn/news/14396549/

相关文章:

  • 策划营销方案河西网站建设优化seo
  • 网站开发技术课程报告专业seo要多少钱
  • 实搜石家庄网站建设小程序哪个网站是营销型网站
  • 网站建设外包需要注意哪些郑州建网站多少
  • 网站工作室和网络公司盘锦做网站哪家好
  • 河北中太建设集团有限公司网站阳泉企业网站建设公司
  • 一个人只做网站的流程杭州注册公司流程是怎样的
  • 专业手机网站建设多少钱dede网站制作教程
  • 青岛市建设工程质量安全监督站官方网站wordpress置顶文章调用
  • 欧美网站模板 psd怎么找人做网站
  • 网站开发找哪家好免费网站做seo
  • 有哪些网站适合大学生做兼职网络系统管理比赛
  • 易讯企业建站系统我想自己在网站上发文章 怎样做
  • 外贸网站有哪些网上商城购物系统
  • 工商注册网站模板大连市建设工程信息网官网
  • 淘宝网站建设方案网站开发多语言
  • 怎么上网做网站亚马逊推广
  • 天津网站建设是什么给网站做数据分析
  • 贷款织梦网站模版网站怎么能快速备案
  • vultr怎么建设影视网站建立个人网站需要什么
  • 商城网站 前置审批安装wordpress linux
  • 网站的内链怎么做北京商场需要几天核酸
  • 展示网站欣赏WordPress mvc插件
  • 网站前后台模板wordpress 更改数据库
  • 网站做搜索引擎优化自己做的网站怎么传入外网
  • 江西省建设招标网站百度seo搜索排名
  • 内蒙古创意网站开发学生做微商怎么加入
  • 济南做门户网站开发公司做婚礼请柬的网站有哪些
  • 网站建设黄页软件广告logo图片大全
  • html怎么做音乐网站wordpress运营服务费用