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

如何自己做网站界面可以放钓鱼网站的免费空间

如何自己做网站界面,可以放钓鱼网站的免费空间,织梦做的网站进不去,恩施seo整站优化哪家好目录 一.拦截器 二.统一数据返回格式 三.统一异常处理 一.拦截器 拦截器是Spring框架提供的核⼼功能之⼀#xff0c;主要⽤来拦截⽤⼾的请求#xff0c;在指定⽅法前后#xff0c;根据业务需要执⾏预先设定的代码。 也就是说#xff0c;允许开发⼈员提前预定义⼀些逻辑… 目录 一.拦截器 二.统一数据返回格式 三.统一异常处理 一.拦截器 拦截器是Spring框架提供的核⼼功能之⼀主要⽤来拦截⽤⼾的请求在指定⽅法前后根据业务需要执⾏预先设定的代码。 也就是说允许开发⼈员提前预定义⼀些逻辑在⽤⼾的请求响应前后执⾏也可以在⽤⼾请求前阻⽌其执⾏。 在拦截器当中开发⼈员可以在应⽤程序中做⼀些通⽤性的操作⽐如通过拦截器来拦截前端发来的请求判断Session中是否有登录⽤⼾的信息如果有就可以放⾏如果没有就进⾏拦截。 添加拦截器后在原先逻辑之前会先判断是否拦截 使用拦截器需要分为俩步骤 自定义拦截器配置拦截器  ⾃定义拦截器需实现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 {} }preHandle()⽅法⽬标⽅法执⾏前执⾏返回true继续执⾏后续操作返回false中断后续操作.postHandle()⽅法⽬标⽅法执⾏后执⾏afterCompletion()⽅法视图渲染完毕后执⾏最后执⾏(但是现在基于前后端分离的设计模式一般不需要后端返回视图故而很少用) 添加拦截器后执⾏Controller的⽅法之前请求会先被拦截器拦截住执⾏ preHandle() ⽅法这个⽅法需要返回⼀个布尔类型的值如果返回true就表⽰放⾏本次操作并且继续访问controller中的⽅法如果返回false则不会放⾏(controller中的⽅法也不会执⾏)。controller当中的⽅法执⾏完毕后再回过来执⾏ postHandle() 这个⽅法以及afterCompletion() ⽅法执⾏完毕之后最终给浏览器响应数据。 Slf4j Component public class LoginInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {log.info(LoginInterceptor ⽬标⽅法执⾏前执⾏..);return true;}Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {log.info(LoginInterceptor ⽬标⽅法执⾏后执⾏);}Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {log.info(LoginInterceptor 视图渲染完毕后执⾏最后执⾏);} } 自定义完成拦截器后我们还需要将其使用起来也就是进行相关配置 首先是要实现WebMvcConfigurer接口为了将我们刚才自定义的拦截器进行注册我们需要一个拦截器对象通过依赖注入的方式注入其中。InterceptorRegistry表示拦截器注册类我们通过该类的addInterceptor方法将注入的拦截器对象提交并且注册通过addPathPatterns方法配置我们需要拦截的路径 Configuration public class WebConfig implements WebMvcConfigurer {//⾃定义的拦截器对象Autowiredprivate LoginInterceptor loginInterceptor;public void addInterceptors(InterceptorRegistry registry) {//注册⾃定义拦截器对象registry.addInterceptor(loginInterceptor).addPathPatterns(/**);//设置拦截器拦截的请求路径 /** 表⽰拦截所有请求} } 我们在注册配置拦截器的时候通过 addPathPatterns() ⽅法指定要拦截哪些请求也可以通过excludePathPatterns() 指定不拦截哪些请求。 Configuration public class WebConfig implements WebMvcConfigurer {//⾃定义的拦截器对象Autowiredprivate LoginInterceptor loginInterceptor;public void addInterceptors(InterceptorRegistry registry) {//注册自定义拦截器对象registry.addInterceptor(loginInterceptor).addPathPatterns(/**).excludePathPatterns(/user/login);} } 对于拦截路径有以下需要注意 拦截路径含义举例/*一级路径能匹配/user/book/login不能匹配 /user/login/**任意级路径能匹配/user/book/login/user/login 对于一些比较复杂比较多的路径可以将其封装到一个集合中再统一导入即下面俩者的效果是一样的。 Configuration public class WebConfig implements WebMvcConfigurer {//⾃定义的拦截器对象Autowiredprivate LoginInterceptor loginInterceptor;Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册⾃定义拦截器对象registry.addInterceptor(loginInterceptor).addPathPatterns(/**).excludePathPatterns(/user/login).excludePathPatterns(/**/*.js) .excludePathPatterns(/**/*.css).excludePathPatterns(/**/*.png).excludePathPatterns(/**/*.html);} } Configuration public class WebConfig implements WebMvcConfigurer {//⾃定义的拦截器对象Autowiredprivate LoginInterceptor loginInterceptor;private ListString excludePaths Arrays.asList(/user/login,/**/*.js,/**/*.css,/**/*.png,/**/*.html);Overridepublic void addInterceptors(InterceptorRegistry registry) {//注册⾃定义拦截器对象registry.addInterceptor(loginInterceptor).addPathPatterns(/**).excludePathPatterns(excludePaths);} } 二.统一数据返回格式 统⼀的数据返回格式使⽤ ControllerAdvice 和 ResponseBodyAdvice 的⽅式实现ControllerAdvice 表⽰控制器通知类 添加类 ResponseAdvice实现 ResponseBodyAdvice 接⼝并在类上添加ControllerAdvice 注解示例如下 ControllerAdvice public class ResponseAdvice implements ResponseBodyAdvice {Overridepublic boolean supports(MethodParameter returnType, Class converterType) {return false;}Overridepublic Object beforeBodyWrite(Object body, MethodParameter returnType, MediaType selectedContentType, Class selectedConverterType, ServerHttpRequest request, ServerHttpResponse response) {return null;} }supports⽅法判断是否要执⾏beforeBodyWrite⽅法true为执⾏false不执⾏。通过该⽅法可以选择哪些类或哪些⽅法的response要进⾏处理其他的不进⾏处理。 beforeBodyWrite⽅法对response⽅法进⾏具体操作处理。 三.统一异常处理 统⼀异常处理使⽤的是 ControllerAdvice ExceptionHandler 来实现的ControllerAdvice 表⽰控制器通知类ExceptionHandler 是异常处理器两个结合表⽰当出现异常的时候执⾏某个通知也就是执⾏某个⽅法事件。 示例代码如下 ControllerAdvice public class ErrorAdvice {ExceptionHandlerpublic Object handler(Exception e) {return Result.fail(e.getMessage());} }以上代码表⽰如果代码出现Exception异常(包括Exception的⼦类)就返回⼀个 Result的对象。 我们可以针对不同的异常返回不同的结果。 ControllerAdvice public class ErrorAdvice {ExceptionHandlerpublic Object handler(Exception e) {return Result.fail(e.getMessage());}ExceptionHandlerpublic Object handler(NullPointerException e) {return Result.fail(发⽣NullPointerException:e.getMessage());}ExceptionHandlerpublic Object handler(ArithmeticException e) {return Result.fail(发⽣ArithmeticException:e.getMessage());} }当有多个异常通知时匹配顺序为当前类及其⼦类向上依次匹配。 本次的分享就到此为止了希望我的分享能给您带来帮助创作不易也欢迎大家三连支持你们的点赞就是博主更新最大的动力如有不同意见欢迎评论区积极讨论交流让我们一起学习进步有相关问题也可以私信博主评论区和私信都会认真查看的我们下次再见
http://www.tj-hxxt.cn/news/133597.html

相关文章:

  • 网站案例代码辽宁建设工程信息网诚信库官网
  • 网站快速优化排名排名做网站干什么
  • 怎么做美食的视频网站建立个人网页
  • 中国建设工程网官方网站网站设计h5
  • 建设一个连接的网站做鞋子的招聘网站有哪些
  • 青海网站推广策划方案南宁网站定制
  • 上传下载文件网站开发的php源码建设厅注册中心网站首页
  • 保定建设网站及推广电商网站设计的流程
  • 网站简繁切换js网站开发与制作论文开题
  • 网站设计制作 一年价格如何制作网站模板
  • 如何选择网站定制公司wordpress slideshow
  • 网站图片怎么优化怎么自己做淘宝客网站吗
  • iis 编辑网站绑定舆情监控都有哪些内容
  • 网站建设有创意wordpress会员积分邀请
  • 环保企业的网站怎么做网件路由器无法登录
  • 天津网站建设制作免费怎么做网站流量统计分析
  • 网站制作学费多少钱邯郸最新通告今天
  • 如何查网站注册信息延吉最好的网站建设公司
  • 安徽省建设工程安全协会网站大埔做网站
  • 四川做网站的公司有哪些华汇建设集团有限公司网站
  • 怎么查看一个网站是谁做的信息门户网站开发合同
  • 主机开设成功 网站正在建设中徐汇网站建设
  • 做ppt的网站 知乎codex.wordpress.org
  • 校园网站建设和管理工作制度四川建设网官网登录入口
  • 网站建设网站建设平台网站出现的问题
  • 阳江网站网站建设九江市建设规划局网站
  • 网站建设入什么会计科目wordpress订单管理插件
  • 成都网站建设上市白城网络推广
  • 用html5做的网站过程网站的页面布局是什么
  • 开封市住房和城乡建设网站厦门seo搜索排名