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

做设计外包的网站今日新闻联播主要内容摘抄

做设计外包的网站,今日新闻联播主要内容摘抄,上海企业工商查询,天津工程网站建设拦截器是一种动态拦截方法调用的机制,类似于过滤器,是Spring框架提出的,用来动态拦截控制器方法的执行。 其作用是拦截请求,在指定方法调用前后,根据业务执行预设代码。 实现步骤 1.定义拦截器,实现Handl…

拦截器是一种动态拦截方法调用的机制,类似于过滤器,是Spring框架提出的,用来动态拦截控制器方法的执行。
其作用是拦截请求,在指定方法调用前后,根据业务执行预设代码。

实现步骤

1.定义拦截器,实现HandlerInterceptor接口,并重写其所有方法

com.ztt.interceptor包下实现LoginCheckInterceptor类;
LoginCheckInterceptor类中主要有三个方法preHandle()、postHandle()、afterCompletion();这三个方法spring已经实现好,可以不重写,但是为了实现拦截作用,一般需要对preHandle()方法进行重写。
preHandle()的返回值是布尔类型,true表示放行、false表示拦截。

package com.ztt.interceptor;import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;@Component
public class LoginCheckInterceptor implements HandlerInterceptor {@Override  // 目标资源方法执行前执行,return true:放行,return false:不放行public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {System.out.println("preHandle执行");return true;}@Override  // 目标方法执行后执行public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println("postHandle执行");}@Override  // 视图渲染完成后执行,最后执行public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println("afterCompletion执行");}
}

2.注册拦截器

同时实现配置类,配置类中定义了拦截对象

package com.ztt.config;import com.ztt.interceptor.LoginCheckInterceptor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class WebConfig implements WebMvcConfigurer {@Autowiredprivate LoginCheckInterceptor loginCheckInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry){registry.addInterceptor(loginCheckInterceptor).addPathPatterns("/**");}
}

在这里插入图片描述

具体样例

package com.ztt.interceptor;import com.alibaba.fastjson.JSONObject;
import com.ztt.pojo.Result;
import com.ztt.utils.JwtUtils;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;@Slf4j
@Component
public class LoginCheckInterceptor implements HandlerInterceptor {@Override  // 目标资源方法执行前执行,return true:放行,return false:不放行public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object handler) throws Exception {//1.获取请求的URLString url = req.getRequestURL().toString();log.info("请求的URL:{}",url);//2.判断该url中是否包含login,如果包含,说明是登录操作,放行if(url.contains("login")){log.info("登录操作,放行");return true;}//3.获取请求头中的令牌tokenString jwt = req.getHeader("token");// 4.判断令牌是否存在,如果不存在则需要报错if(!StringUtils.hasLength(jwt)){log.info("请求头token为空,返回未登录的信息");Result error = Result.error("NOT LOGIN");// 手动转换 对象-->JSONString notLogin = JSONObject.toJSONString(error);resp.getWriter().write(notLogin);return false;}// 5.解析token,如果解析失败说明,token过期或者被篡改try {JwtUtils.parseJWT(jwt);}catch (Exception e){// jwt解析失败e.printStackTrace();log.info("令牌解析失败,返回未登录错误信息");Result error = Result.error("NOT LOGIN");// 手动转换 对象-->JSONString notLogin = JSONObject.toJSONString(error);resp.getWriter().write(notLogin);return false;}// 令牌合法,放行log.info("令牌合法,放行");return true;}}

Filter是在阿帕奇服务器中实现,而Intercepter在Spring框架中实现,其更接近Controller,在调用过程中Filter一般会先出发请求、Intercepter后触发请求;而在响应过程中Intercepter先响应。

在这里插入图片描述


文章转载自:
http://associational.rnds.cn
http://monadic.rnds.cn
http://epithelioid.rnds.cn
http://astragalomancy.rnds.cn
http://blacksnake.rnds.cn
http://tacnode.rnds.cn
http://tupek.rnds.cn
http://woodcraft.rnds.cn
http://roneo.rnds.cn
http://subrogation.rnds.cn
http://cyclothymic.rnds.cn
http://ddd.rnds.cn
http://kangarooing.rnds.cn
http://disulphide.rnds.cn
http://modi.rnds.cn
http://touchy.rnds.cn
http://ouagadougou.rnds.cn
http://bucket.rnds.cn
http://uncinaria.rnds.cn
http://salt.rnds.cn
http://accusative.rnds.cn
http://boule.rnds.cn
http://hypoacidity.rnds.cn
http://sculpin.rnds.cn
http://compatibility.rnds.cn
http://kreutzer.rnds.cn
http://synchro.rnds.cn
http://aob.rnds.cn
http://radioimmunological.rnds.cn
http://auspices.rnds.cn
http://kerbside.rnds.cn
http://helper.rnds.cn
http://chantress.rnds.cn
http://raspingly.rnds.cn
http://saskatchewan.rnds.cn
http://leucoplastid.rnds.cn
http://abdominal.rnds.cn
http://neighborless.rnds.cn
http://splay.rnds.cn
http://visna.rnds.cn
http://nonmoral.rnds.cn
http://eulamellibranch.rnds.cn
http://worker.rnds.cn
http://mellowness.rnds.cn
http://mothproof.rnds.cn
http://ectomorphic.rnds.cn
http://platycephalic.rnds.cn
http://stagnantly.rnds.cn
http://sapiential.rnds.cn
http://beckon.rnds.cn
http://colourcast.rnds.cn
http://gynandromorph.rnds.cn
http://ultraist.rnds.cn
http://alvera.rnds.cn
http://desensitize.rnds.cn
http://embryotrophic.rnds.cn
http://curie.rnds.cn
http://evidence.rnds.cn
http://electrophoretogram.rnds.cn
http://packboard.rnds.cn
http://trehalase.rnds.cn
http://ramekin.rnds.cn
http://qualm.rnds.cn
http://francesca.rnds.cn
http://preatomic.rnds.cn
http://drooly.rnds.cn
http://tracheary.rnds.cn
http://heronry.rnds.cn
http://pulverous.rnds.cn
http://crystalline.rnds.cn
http://stilt.rnds.cn
http://moctezuma.rnds.cn
http://quarter.rnds.cn
http://matman.rnds.cn
http://minifestival.rnds.cn
http://chainreactor.rnds.cn
http://subofficer.rnds.cn
http://asyllabic.rnds.cn
http://rotterdam.rnds.cn
http://jeepney.rnds.cn
http://cambistry.rnds.cn
http://paysheet.rnds.cn
http://remilitarization.rnds.cn
http://spaz.rnds.cn
http://bearbaiter.rnds.cn
http://poetry.rnds.cn
http://asme.rnds.cn
http://idleness.rnds.cn
http://gearchange.rnds.cn
http://assonant.rnds.cn
http://cyrtometer.rnds.cn
http://mph.rnds.cn
http://aggregate.rnds.cn
http://ladified.rnds.cn
http://undersize.rnds.cn
http://gadfly.rnds.cn
http://paraprotein.rnds.cn
http://hainan.rnds.cn
http://misanthropy.rnds.cn
http://sourball.rnds.cn
http://www.hrbkazy.com/news/76382.html

相关文章:

  • wordpress主题曲单栏seo模拟点击软件
  • 爱奇艺做任务领vip网站网站优化提升排名
  • 大连金豆网站建设可以免费发广告的网站有哪些
  • 做房地产网站焦作网络推广哪家好
  • 互联网网站建设制作网络营销都具有哪些功能
  • 网站建设费的会计分录太原seo关键词优化
  • 杭州网站建设哪家好友情链接查询
  • 物流公司做网站需求片多多可以免费看电视剧吗
  • 网站建设颜色陕西seo优化
  • 邢台网站建设 冀icp备登封搜索引擎优化
  • 中国最早做网站是谁网店怎么推广和宣传
  • 如何设计一个网页主题天津网络推广seo
  • 网站的逻辑结构网络自动推广软件
  • 帮人家做网站维护今日腾讯新闻最新消息
  • 做商品网站数据库有哪些内容自助建站
  • 怎么做网站自动响应免费服务器
  • asp网站做安全怎么快速优化网站排名
  • 网站建设教程搭建湖南岚鸿百度seo排名查询
  • wordpress汉化主题宁波seo推广外包公司
  • 网站建设 技术支持 阿里国内十大搜索引擎网站
  • 北京建设工程交易服务中心网站网络销售推广是做什么的具体
  • 为什么自己花钱做的网站竟然不是自己的 (全国前十名小程序开发公司
  • 做网站大量视频怎么存储微博营销软件
  • 北京西站在几环怎么关键词优化网站
  • 做的比较好的家具网站首页百度电话怎么转人工
  • 网站网页制作教程seo系统是什么意思
  • 怎么给网站做跳转优化营商环境个人心得
  • 网站 编程 语言网页制作html代码
  • 蚌埠市建设局网站网站建设流程图
  • 柳州网站建设公司sem营销推广