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

朝阳做网站公司电商小程序开发方案

朝阳做网站公司,电商小程序开发方案,简述制作网站的流程,网站建设沈阳公司目录 前言 区别 联系 前言 过滤器(Filter)和拦截器(Interceptor)都是用于在Web应用程序中处理请求和响应的组件#xff0c;但它们在实现方式和功能上有一些区别。 区别 1. 实现方式#xff1a; - 过滤器是基于Servlet规范的组件#xff0c;通过实现javax.servlet.Filt…目录 前言 区别 联系 前言 过滤器(Filter)和拦截器(Interceptor)都是用于在Web应用程序中处理请求和响应的组件但它们在实现方式和功能上有一些区别。 区别 1. 实现方式 - 过滤器是基于Servlet规范的组件通过实现javax.servlet.Filter接口来定义。过滤器可以在请求被处理之前和响应被发送到客户端之前进行操作。 - 拦截器是基于Java的反射机制通过实现HandlerInterceptor接口来定义。拦截器可以在请求被处理之前、处理过程中和响应被发送到客户端之前进行操作。                 2. 执行顺序   - 过滤器在Servlet容器中的执行顺序是由部署描述符(web.xml)中的配置顺序决定的它们按照配置的顺序依次执行。 - 拦截器在Spring MVC框架中的执行顺序是由配置文件中的拦截器顺序决定的它们按照配置的顺序依次执行。 具体参照文章登录校验-Interceptor-详解_熵240的博客-CSDN博客 3. 功能 - 过滤器可以对请求进行预处理和后处理例如修改请求参数、编码转换、请求拦截等。过滤器可以对所有的请求进行统一的处理。 - 拦截器可以对请求进行更加细粒度的控制和处理例如权限验证、日志记录、性能监控等。拦截器可以根据具体的请求路径、请求方法、请求参数等进行处理。 4. 作用范围 - 过滤器是在Servlet容器中工作的可以对所有的请求进行过滤处理包括静态资源请求和动态请求。 - 拦截器是在Spring MVC框架中工作的只能对控制器(Controller)处理的请求进行拦截处理。 5. 放行条件不一样 -过滤器Filter放行方式是执行doFilter方法实现的 package com.example.tlias.Filter;import com.alibaba.fastjson.JSONObject; import com.example.tlias.pojo.Result; import com.example.tlias.utils.JwtUtils; import jakarta.servlet.*; import jakarta.servlet.annotation.WebFilter; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import lombok.extern.slf4j.Slf4j; import org.springframework.util.StringUtils;import java.io.IOException;Slf4j //WebFilter(urlPatterns /*) public class LoginCheckFilter implements Filter {Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletRequest request (HttpServletRequest) servletRequest;HttpServletResponse response (HttpServletResponse) servletResponse;// 1.获取请求URL地址String url request.getRequestURI().toString();log.info(获取到的URL地址为{}, url);// 2.判断URL是否含有login路径如果含有则为登陆操作放行if (url.contains(login)) {log.info(此请求为登陆操作放行.......);filterChain.doFilter(request, response);return; // todo 跳出过滤器}// todo 以下是对于不是登录操作的过滤// 3.获取请求头中的令牌tokenString token request.getHeader(token);// 4.判断是否存在如果不存在返回错误结果(未登录)if (!StringUtils.hasLength(token)) {log.info(请求头token为空返回为登录的信息);Result error Result.error(NOT_LOGIN); // 返回的错误信息通过接口文档与前端统一// todo 手动转换 将对象--json格式数据》可以使用阿里巴巴fastJson的工具包在pom.xml配置文件中添加相关依赖// todo 控制类返回的对象会自动转换为JSON格式的字符串数据String noLogin JSONObject.toJSONString(error);// 将数据写入响应对象response.getWriter().write(noLogin);return; // todo 跳出过滤器}// 5.解析token如果解析失败返回错误结果未登录try {JwtUtils.parseJWT(token); // todo 如果解析失败方法就会报错} catch (Exception e) { // token解析失败e.printStackTrace();log.info(解析令牌失败返回未登录的错误信息);Result error Result.error(NOT_LOGIN);String noLogin JSONObject.toJSONString(error);response.getWriter().write(noLogin);return;}// 6.放行log.info(令牌合法放行);filterChain.doFilter(request, response);} }-拦截器Interceptor放行的方法是在preHandle种返回true值 package com.example.tlias.Interceptor;import com.alibaba.fastjson.JSONObject; import com.example.tlias.pojo.Result; import com.example.tlias.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;Component // 将该类标记为组件交给IOC容器管理 Slf4j public class LoginCheckInterceptor implements HandlerInterceptor {Override // todo 在目标资源方法控制类中的方法执行之前执行返回true放行返回false不放行public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {// 1.获取请求URL地址String url request.getRequestURI().toString();log.info(获取到的URL地址为{}, url);// 2.判断URL是否含有login路径如果含有则为登陆操作放行if (url.contains(login)) {log.info(此请求为登陆操作放行.......);return true; // todo 跳出拦截器}// todo 以下是对于不是登录操作的过滤// 3.获取请求头中的令牌tokenString token request.getHeader(token);// 4.判断是否存在如果不存在返回错误结果(未登录)if (!StringUtils.hasLength(token)) {log.info(请求头token为空返回为登录的信息);Result error Result.error(NOT_LOGIN); // 返回的错误信息通过接口文档与前端统一// todo 手动转换 将对象--json格式数据》可以使用阿里巴巴fastJson的工具包在pom.xml配置文件中添加相关依赖// todo 控制类返回的对象会自动转换为JSON格式的字符串数据String noLogin JSONObject.toJSONString(error);// 将数据写入响应对象response.getWriter().write(noLogin);return false; // todo 跳出过滤器}// 5.解析token如果解析失败返回错误结果未登录try {JwtUtils.parseJWT(token); // todo 如果解析失败方法就会报错} catch (Exception e) { // token解析失败e.printStackTrace();log.info(解析令牌失败返回未登录的错误信息);Result error Result.error(NOT_LOGIN);String noLogin JSONObject.toJSONString(error);response.getWriter().write(noLogin);return false;}// 6.放行log.info(令牌合法放行);return true;}Override // todo 在目标资源方法执行之后执行public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {System.out.println(postHandle()方法运行了);}Override // todo 在视图渲染完毕后执行最后执行public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {System.out.println(afterCompletion()发运行了);} }联系 过滤器和拦截器都可以用于对请求进行处理但它们的实现方式和功能不同。过滤器是基于Servlet规范的组件可以对所有的请求进行统一的处理拦截器是基于Spring MVC框架的组件只能对控制器处理的请求进行处理。过滤器和拦截器都可以用于对请求进行预处理和后处理但拦截器可以提供更加细粒度的控制和处理。过滤器和拦截器都可以在请求被处理之前和响应被发送到客户端之前进行操作但它们的执行顺序不同。
http://wiki.neutronadmin.com/news/108529/

相关文章:

  • 做兼职有哪些网站网站建设的前端开发和后端开发
  • 下载建设银行官方网站下载北碚区网站建设
  • 大型网站建设用什么系统好网站建站第十四课
  • 网站制作商业模式国外优秀的网站设计
  • 强的网站建设公司上海市工商网站官网
  • 泰兴市淘宝网站建设网页制作软件dw还需要什么
  • 南京网站建设电话网站开发服务计入什么科目
  • 淘宝代做网站怎么做淘宝客的跳转网站
  • 做租赁的行业网站网络传媒公司名字
  • 建立个人网站能干二次开发包
  • 互联网科技公司网站免费3d建模软件
  • 高端网站建设合同深圳网站开发哪个好
  • 网站开发所需技能湘潭网站建设公司有哪些
  • 青岛有没有做网站的构建平台还是搭建平台
  • 网站开发谷歌浏览器js不更新网站建设的编程语言
  • 娱乐城网站模板wordpress4.5.3 中文
  • wap网站源码 下载郑州厉害的seo优化顾问
  • 贵州省住房和城乡建设厅查询网站手机聊天app开发
  • 做网站选什么系统wordpress4.9升级失败
  • 网站仿站是啥wordpress媒体默认链接
  • 福田做网站多少钱网络广告营销的典型案例
  • 品牌和网站建设全国响应式网站建设
  • 企业营销型网站建设公司房地产网站怎样建设才能快速盈利
  • 电子通讯录网站建设门户网站 集成 移动app 方案
  • 网站开发行业标准学室内设计要多久能学会
  • 阿里云网站域名申请网站系统升级需要多久
  • 十大招商平台百度seo搜索引擎优化方案
  • 杭州网站建设公司推荐动漫制作专业专科
  • 沾益住房和城乡建设局网站qq是哪个公司创办的
  • 微信公众号服务号网站开发流程图网站设计建设有限公司