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

怎么建设一个优秀的网站西安公司

怎么建设一个优秀的网站,西安公司,做网站如何通过流量赚钱吗,wordpress注册页插件在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。 应用场景 日志记录#xff0c;可以记录请求信息的日志#xff0c;以便进行信息监控、信息统计等。权限检查#xff1a;如登陆检测#xff…在SpringBoot中我们可以使用HandlerInterceptorAdapter这个适配器来实现自己的拦截器。这样就可以拦截所有的请求并做相应的处理。 应用场景 日志记录可以记录请求信息的日志以便进行信息监控、信息统计等。权限检查如登陆检测进入处理器检测是否登陆如果没有直接返回到登陆页面。性能监控典型的是慢日志。 在HandlerInterceptorAdapter中主要提供了以下的方法 preHandle在方法被调用前执行。在该方法中可以做类似校验的功能。如果返回true则继续调用下一个拦截器。如果返回false则中断执行也就是说我们想调用的方法 不会被执行但是你可以修改response为你想要的响应。postHandle在方法执行后调用。afterCompletion在整个请求处理完毕后进行回调也就是说视图渲染完毕或者调用方已经拿到响应。 HandlerInterceptor public interface HandlerInterceptor {default boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return true;}default void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable ModelAndView modelAndView) throws Exception {}default void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable Exception ex) throws Exception {} }AsyncHandlerInterceptor public interface AsyncHandlerInterceptor extends HandlerInterceptor {default void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {} }abstract class HandlerInterceptorAdapter public abstract class HandlerInterceptorAdapter implements AsyncHandlerInterceptor {public HandlerInterceptorAdapter() {}public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return true;}public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable ModelAndView modelAndView) throws Exception {}public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable Exception ex) throws Exception {}public void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {} }看到这3个类和接口关系我们就明白了集成 HandlerInterceptorAdapter 只是为了能让我们只重写自己需要的方法即可,如果我们需要全部重写,也可以直接实现接口 运行流程总结如下 拦截器执行顺序是按照Spring配置文件中定义的顺序而定的。会先按照顺序执行所有拦截器的preHandle方法一直遇到return false为止比如第二个preHandle方法是return false则第三个以及以后所有拦截器都不会执行。若都是return true则按顺序加载完preHandle方法。然后执行主方法自己的controller接口若中间抛出异常则跟return false效果一致不会继续执行postHandle只会倒序执行afterCompletion方法。在主方法执行完业务逻辑页面还未渲染数据时按倒序执行postHandle方法。若第三个拦截器的preHandle方法return false则会执行第二个和第一个的postHandle方法和afterCompletionpostHandle都执行完才会执行这个也就是页面渲染完数据后执行after进行清理工作方法。postHandle和afterCompletion都是倒序执行 编写拦截器 public class LoginInterceptor extends HandlerInterceptorAdapter {Logger logger LoggerFactory.getLogger(getClass());Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(LoginInterceptorpreHandle);return true;}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable ModelAndView modelAndView) throws Exception {System.out.println(LoginInterceptorpostHandle);}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable Exception ex) throws Exception {System.out.println(LoginInterceptorafterCompletion);}Overridepublic void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(LoginInterceptorafterConcurrentHandlingStarted);}} public class LoginInterceptor2 extends HandlerInterceptorAdapter {Logger logger LoggerFactory.getLogger(getClass());Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(LoginInterceptor2preHandle);return true;}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable ModelAndView modelAndView) throws Exception {System.out.println(LoginInterceptor2postHandle);}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Nullable Exception ex) throws Exception {System.out.println(LoginInterceptor2afterCompletion);}Overridepublic void afterConcurrentHandlingStarted(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println(LoginInterceptor2afterConcurrentHandlingStarted);}}WebMvcConfigurerAdapter 抽象类是对WebMvcConfigurer接口的简单抽象增加了一些默认实现但在在SpringBoot2.0及Spring5.0中WebMvcConfigurerAdapter已被废弃 。官方推荐直接实现WebMvcConfigurer或者直接继承WebMvcConfigurationSupport 实现WebMvcConfigurer配置拦截器 Configuration public class SpringMVCConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry registry) {registry.addInterceptor(new LoginInterceptor());registry.addInterceptor(new LoginInterceptor2());} }自行验证上面运行流程总结吧 不过多的赘述了
http://www.dnsts.com.cn/news/81520.html

相关文章:

  • 在线黑科技网站中国工商做年报网站
  • 电影订票网站开发如何制作网页代码
  • 个旧建设局信息公开门户网站详情页设计制作
  • 个人网站建设心得体会龙华和龙岗哪个繁华
  • 合肥 电子商务 网站建设网站建设前端工具
  • 餐饮公司做网站好处西安企业网站seo
  • 营销型网站建设设计如何查网站备案号
  • 坪地网站建设效果南通网站开发价格
  • 晋城市公用事业建设局网站cn域名续费多少钱一年
  • 电子商务网站建设维护实训报告feed wordpress
  • 非遗网站建设目的厦门网站关键词优化
  • 物流网站建设策划书上海opencart网站建设
  • 常熟网站建设icp备案系统开发板价格
  • 网站建设服务费税率多少淘宝官方网站登录页面
  • 开发一个网站平台多少钱人力资源外包灵活用工
  • 网站搭建实训总结哈尔滨建设厅官方网站
  • 国外儿童社区网站模板湖南微网站营销
  • 网站备案的是空间还是域名手机怎么登pc端智慧团建
  • 网站建设解决方案ppt模板app 网站建设
  • 东莞网站高端建设网站升级改版需要几天
  • wordpress 免费电商主题站长工具推荐seo综合查询
  • 苏州网站公司如何做公众号微信推广
  • 酒店类网站建设开发书织梦cms侵权开庭
  • 做电商看的网站有哪些地方信息网站源码
  • 建网站卖虚拟资源需要怎么做如何建立一家公司
  • wordpress注册修改怎样优化自己的网站
  • 商城网站要多少钱wordpress app 加载慢
  • 长沙商城网站制作国外网站建设企业
  • 网站后台如何修改参数开个网站做英语培训
  • 现在做网站到底需要多少钱带积分的网站建设