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

做一个网站的基本步骤强大的网站

做一个网站的基本步骤,强大的网站,深圳网站设计的公司,淘宝联盟怎么推广赚钱目录 全局监听请求#xff1a;HandlerInterceptor创建拦截器类添加拦截器拦截器类调用Service服务 全局异常处理#xff1a;ExceptionHandler统一处理业务异常自定义JsonResult 全局跨域配置#xff1a;WebMvcConfigurer静态(static)方法中调用接口#xff08;Service层HandlerInterceptor创建拦截器类添加拦截器拦截器类调用Service服务 全局异常处理ExceptionHandler统一处理业务异常自定义JsonResult 全局跨域配置WebMvcConfigurer静态(static)方法中调用接口Service层定时任务 全局监听请求HandlerInterceptor 创建拦截器类 public class RequestInterceptor implements HandlerInterceptor {Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {return HandlerInterceptor.super.preHandle(request, response, handler);}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 {...TrackUtil.report(info); // 通过工具类调用服务} }添加拦截器 Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addInterceptors(InterceptorRegistry interceptorRegistry) {interceptorRegistry.addInterceptor(...); // 其他拦截器interceptorRegistry.addInterceptor(new RequestInterceptor()); // 添加本拦截器} }拦截器类调用Service服务 借助工具类 Component public class TrackUtil {public static TrackUtil trackUtil; //声明对象Autowired //注入TrackService trackService;PostConstruct //初始化public void init() {trackUtil this;trackUtil.trackService this.trackService;}public static void report(Object info){trackUtil.trackService.report(info);} }全局异常处理ExceptionHandler 统一处理业务异常 ControllerAdvice public class GlobalExceptionHandler {ExceptionHandler({ServletException.class})ResponseBodyResponseStatus(value HttpStatus.BAD_REQUEST)public JsonResult errorHandler1(HttpServletRequest request,HttpServletResponse response,Exception e) {e.printStackTrace();response.setCharacterEncoding(UTF-8);//防止返回中文乱码return JsonResult.build(400, e.getMessage());}ExceptionHandler({Exception.class})ResponseBodyResponseStatus(value HttpStatus.INTERNAL_SERVER_ERROR)public JsonResult errorHandler(HttpServletRequest request,HttpServletResponse response,Exception e) {e.printStackTrace();response.setCharacterEncoding(UTF-8);//防止返回中文乱码return JsonResult.build(500, e.getMessage());} }自定义JsonResult Data public class JsonResult {private Integer code; //响应状态码private String msg; //响应消息private Object data; //响应数据public JsonResult(Integer code, String msg, Object data) {this.code code;this.msg msg;this.data data;}public JsonResult(Integer code, String msg) {this.code code;this.msg msg;}public static JsonResult build(Integer status, String msg, Object data) {JsonResult jsonResult new JsonResult(status, msg, data);return jsonResult;}public static JsonResult build(Integer status, String msg) {JsonResult jsonResult new JsonResult(status, msg);return jsonResult;}public static JsonResult ok( Object data) {JsonResult jsonResult new JsonResult(200, success, data);return jsonResult;}Overridepublic String toString() {JSONObject jsonObjectnew JSONObject();jsonObject.put(code,code);jsonObject.put(msg,msg);jsonObject.put(data,data);return JSON.toJSONString(jsonObject);} }全局跨域配置WebMvcConfigurer Configuration public class WebConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry corsRegistry) {corsRegistry.addMapping(/**).allowedOrigins(*).allowedMethods(GET, HEAD, POST, PUT, DELETE, OPTIONS).allowCredentials(true).maxAge(3600).allowedHeaders(*);} }静态(static)方法中调用接口Service层 Component public class JwtUtil {/*** 静态方法调用非静态接口层(Service层)*/public static JwtUtil jwtUtil; //声明对象PostConstruct //初始化public void init() {jwtUtil this;jwtUtil.userService this.userService;}Autowired //注入UserService userService;public static boolean checkSign(String token) { ...String username jwtUtil.userService.getUsernameById(userId); ... }定时任务 package com.example.demo.util;import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;Component EnableScheduling //开启定时任务 EnableAsync //开启多线程 Slf4j public class ScheduleAsync {/** cron* [秒] [分] [小时] [日] [月] [周] [年]* 年非必须* *每秒/分/小时/日...都会触发* 不指定值只可用于日和周* 1-3表示区间1、2、3都会触发* 5/15表示递增触发从5开始每15秒触发* L表示最后一天或周六*/AsyncScheduled(cron 0/10 * * * * ?)//从00开始每十秒public void first(){log.info(LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss)));}AsyncScheduled(cron 0 0 2 * * ?)//每天半夜两点public void second(){log.info(LocalDateTime.now().format(DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss)));} }
http://www.huolong8.cn/news/80316/

相关文章:

  • 建设网站用外包模板可以上线吗华为网站建设目标
  • 凡客网站登陆有效的网络编址方案有
  • 电商网站创建的几个阶段外贸推广排行榜
  • 长沙建设信息网站做资金盘网站违法吗
  • 用jsp做的网站源代码下载兴宁房产网
  • 网站空间500m是什么系统学做网站
  • 个人网站备案的好处越秀区pc端网站建设
  • 重庆市城市建设档案馆网站网站开发中用什么安全性比性比较高
  • 心理咨询网站dede网站 地图什么做
  • 公司找人做网站需要什么网站建设方案书填写示例
  • 在线免费开网站上海网站seo优化
  • 企业网站备案名称要求书法网站模板下载
  • 建站工具华为wordpress tag 404
  • 建设网站要多少钱免费网络课程教学平台
  • 青岛网站建站团队承德做网站设计的
  • 金融公司网站制作老实人做网站
  • 制作网站平台拓普建站推广
  • 网络咨询网站游戏编程软件
  • wix网站建设网站建设推广人员
  • 销售网站建设的会计分录营销型企业网站有哪些平台
  • 拍婚纱照seo 优化 服务
  • 来个网站好人有好报wordpress站点管理员
  • wordpress素材下载源码郑州黑帽seo培训
  • 郑州网站设计的公司腾讯云主机永久免费
  • 做金属的网站百度企业查
  • 安溪县住房和城乡规划建设网站网页设计代码fontweight什么意思
  • 动态asp.net网站开发教程介绍做燕窝的网站
  • 网站备案号怎么看免费数据统计网站
  • 门户网站后台建设模块autocad二次开发
  • 搭建品牌电商网站怎么做网站服务器维护技术