您的位置:首页 > 房产 > 建筑 > 国家税务总局网上怎样领发票_城阳做网站公司_百度seo推广首选帝搜软件_手机百度问一问

国家税务总局网上怎样领发票_城阳做网站公司_百度seo推广首选帝搜软件_手机百度问一问

2024/12/26 23:32:44 来源:https://blog.csdn.net/weixin_44315397/article/details/144108497  浏览:    关键词:国家税务总局网上怎样领发票_城阳做网站公司_百度seo推广首选帝搜软件_手机百度问一问
国家税务总局网上怎样领发票_城阳做网站公司_百度seo推广首选帝搜软件_手机百度问一问

概括

本篇主要是介绍项目的结构更改以及拦截器配置和视频分类数据库文件。

项目结构更改

1、将全局异常抽出到common目录下来进行统一管理。
2、在admin目录项新建interceptor目录来定义拦截器,当有请求访问后端地址时进行Token校验。

拦截器定义

创建一个类来实现HandlerInterceptor这个接口。通过实现该接口提供的方法来对请求前、请求中、请求后来进行处理,有点aop切面的味道。

然后再创建一个类来实现WebMvcConfigurer这个接口。通过重写addInterceptors方法来将上面定义的接口注册进去管理。
参考代码如下所示:
AppInterceptor


package com.easylive.admin.interceptor;import com.easylive.component.RedisComponent;
import com.easylive.entity.constants.Constants;
import com.easylive.enums.ResponseCodeEnum;
import com.easylive.exception.BusinessException;
import com.easylive.utils.StringTools;
import org.springframework.stereotype.Component;
import org.springframework.web.method.HandlerMethod;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;import javax.annotation.Resource;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@Component
public class AppInterceptor implements HandlerInterceptor {@Resourceprivate RedisComponent redisComponent;private  final static String URL_ACCOUNT = "/account";private  final static String URL_FILE = "/file";@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {if (null == handler){return false;}if (!(handler instanceof HandlerMethod)){return false;}if (request.getRequestURI().contains(URL_ACCOUNT)){return true;}String token = request.getHeader(Constants.TOKEN_ADMIN);//        图片if (request.getRequestURI().contains(URL_FILE)){token = getToken4Cookie(request);}if (StringTools.isEmpty(token)){throw new BusinessException(ResponseCodeEnum.CODE_901);}Object sessionObj = redisComponent.getTokenInfo4Admin(token);if (null == sessionObj){throw new BusinessException(ResponseCodeEnum.CODE_901);}return true;}private String getToken4Cookie(HttpServletRequest request){Cookie[] cookies = request.getCookies();if(cookies != null){String token = null;for (Cookie cookie : cookies) {if (cookie.getName().equals(Constants.TOKEN_ADMIN)) {token = cookie.getValue();break;}}return token;}return null;}@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {HandlerInterceptor.super.postHandle(request, response, handler, modelAndView);}@Overridepublic void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {HandlerInterceptor.super.afterCompletion(request, response, handler, ex);}
}

WebAppConfigure

package com.easylive.admin.interceptor;import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;import javax.annotation.Resource;@Configuration
public class WebAppConfigure implements WebMvcConfigurer {@Resourceprivate AppInterceptor appInterceptor;@Overridepublic void addInterceptors(InterceptorRegistry registry){registry.addInterceptor(appInterceptor).addPathPatterns("/**");}
}

数据库文件

下面是视频分类的数据库文件,提供,仅供参考。


CREATE TABLE `category_info` (`category_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增分类ID',`category_code` varchar(30) NOT NULL COMMENT '分类编码',`category_name` varchar(30) NOT NULL COMMENT '分类名称',`p_category_id` int(11) NOT NULL COMMENT '父类分类id',`icon` varchar(50) DEFAULT NULL COMMENT '图标',`background` varchar(50) DEFAULT NULL COMMENT '背景图',`sort` tinyint(4) NOT NULL COMMENT '排序号',PRIMARY KEY (`category_id`) USING BTREE,UNIQUE KEY `idx_key_category_code` (`category_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='分类表';

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com