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

制冷 网站建设 中企动力网站开发命名规则

制冷 网站建设 中企动力,网站开发命名规则,企业微信官网,杨浦建设机械网站说明#xff1a;基于spring boot进行的校验 1.熟悉如何使用jwt令牌。#xff08;不会的看这里#xff1a;带你领略JWTl令牌的魅力#xff01;#xff01;#xff01;-CSDN博客#xff09; Filter和Interceptor共用文件#xff1a;#xff08;可以仿照#xff0c;根据…说明基于spring boot进行的校验 1.熟悉如何使用jwt令牌。不会的看这里带你领略JWTl令牌的魅力-CSDN博客 Filter和Interceptor共用文件可以仿照根据你的实际情况 controller层代码 /** Copyright (c) 2020, 2023, All rights reserved.**/ package com.itheima.controller;import com.itheima.pojo.Emp; import com.itheima.pojo.Result; import com.itheima.service.EmpService; import com.itheima.utils.JwtUtils; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import java.util.HashMap; import java.util.Map;/*** pProject: tlias-web-management - LoginController/p* pPowered by scl On 2023-10-16 14:16:46/p* p描述p** author 孙臣龙 [1846080280qq.com]* version 1.0* since 17*/ Slf4j RestController public class LoginController {Autowiredprivate EmpService empService;PostMapping(/login)public Result login(RequestBody Emp emp) {log.info(员工登录{}, emp);Emp e empService.login(emp);//登录成功生成令牌下发令牌if (e ! null) {MapString, Object climas new HashMap();climas.put(id, e.getId());climas.put(name, e.getName());climas.put(username, e.getUsername());String s JwtUtils.generateJwt(climas);return Result.success(s);}return Result.error(用户名或密码错误);} } service层代码 package com.itheima.service;import com.itheima.pojo.Emp; import com.itheima.pojo.PageBean; import org.springframework.format.annotation.DateTimeFormat;import java.time.LocalDate; import java.util.List;/*** pProject: tlias-web-management - EmpService/p* pPowered by scl On 2023-10-12 15:31:01/p* p描述p** author 孙臣龙 [1846080280qq.com]* version 1.0* since 17*/ public interface EmpService {/*** 用户登录* param emp* return*/Emp login(Emp emp); }mapper层代码 package com.itheima.mapper;import com.itheima.pojo.Emp; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select;import java.time.LocalDate; import java.util.List;/*** pProject: tlias-web-management - EmpMapper/p* pPowered by scl On 2023-10-12 15:29:01/p* p描述p** author 孙臣龙 [1846080280qq.com]* version 1.0* since 17*/ Mapper public interface EmpMapper {/*** 用户登录* param emp* return*/Select(select * from emp where username#{username} and password#{password})Emp getByUserNameAndPwd(Emp emp); }Result响应代码 package com.itheima.pojo;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data NoArgsConstructor AllArgsConstructor public class Result {private Integer code;//响应码1 代表成功; 0 代表失败private String msg; //响应信息 描述字符串private Object data; //返回的数据//增删改 成功响应public static Result success(){return new Result(1,success,null);}//查询 成功响应public static Result success(Object data){return new Result(1,success,data);}//失败响应public static Result error(String msg){return new Result(0,msg,null);} }2.Filter校验器 ①首先需要在pom文件中添加依赖 !--jwt令牌--!-- jjwt-api --dependencygroupIdio.jsonwebtoken/groupIdartifactIdjjwt/artifactIdversion0.9.1/version/dependency !-- fastJson--dependencygroupIdcom.alibaba/groupIdartifactIdfastjson/artifactIdversion1.2.62/version/dependency ②创建Filter过滤器 /** Copyright (c) 2020, 2023, All rights reserved.**/ package com.itheima.filter;import com.alibaba.fastjson.JSONObject; import com.itheima.pojo.Result; import com.itheima.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; import java.util.Locale;/*** pProject: tlias-web-management - LoginCheckFilter/p* pPowered by scl On 2023-10-17 16:30:20/p* p描述p** author 孙臣龙 [1846080280qq.com]* version 1.0* since 17*/ Slf4j WebFilter(urlPatterns /*) public class LoginCheckFilter implements Filter {Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletResponse resp (HttpServletResponse) servletResponse;HttpServletRequest req (HttpServletRequest) servletRequest;//获取urlString url req.getRequestURI().toString();log.info(获取的url:{},url);//判断url中是否包含loginif (url.contains(login)){filterChain.doFilter(servletRequest,servletResponse);return;}//获取请求头的内容String jwt req.getHeader(token);//判断jwt令牌是否存在if (!StringUtils.hasLength(jwt)){log.info(请求头token不存在);Result error Result.error(NOT_LOGIN);String nologin JSONObject.toJSONString(error);resp.getWriter().write(nologin);return;}//解析jtw令牌try {JwtUtils.parseJWT(jwt);} catch (Exception e) {e.printStackTrace();log.info(jwt令牌解析错误,);Result error Result.error(NOT_LOGIN);String nologin JSONObject.toJSONString(error);resp.getWriter().write(nologin);return;}//jwt令牌解析成功放行log.info(放行);filterChain.doFilter(servletRequest,servletResponse);} } 3.Interceptor拦截器 ①创建拦截器 /** Copyright (c) 2020, 2023, All rights reserved.**/ package com.itheima.interceptor;import com.alibaba.fastjson.JSONObject; import com.itheima.pojo.Result; import com.itheima.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;/*** pProject: tlias-web-management - LoginCheckInterceptor/p* pPowered by scl On 2023-10-17 17:18:06/p* p描述p** author 孙臣龙 [1846080280qq.com]* version 1.0* since 17*/ Slf4j Component public class LoginCheckInterceptor implements HandlerInterceptor {Override //目标资源方法运行前运行返回true放行返回false不放行public boolean preHandle(HttpServletRequest req, HttpServletResponse resp, Object handler) throws Exception {//获取urlString url req.getRequestURI().toString();log.info(获取的url:{},url);//判断url中是否包含loginif (url.contains(login)){return true;}//获取请求头的内容String jwt req.getHeader(token);//判断jwt令牌是否存在if (!StringUtils.hasLength(jwt)){log.info(请求头token不存在);Result error Result.error(NOT_LOGIN);String nologin JSONObject.toJSONString(error);resp.getWriter().write(nologin);return false;}//解析jtw令牌try {JwtUtils.parseJWT(jwt);} catch (Exception e) {e.printStackTrace();log.info(jwt令牌解析错误,);Result error Result.error(NOT_LOGIN);String nologin JSONObject.toJSONString(error);resp.getWriter().write(nologin);return false;}//jwt令牌解析成功放行log.info(放行);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...);} } 说明一下有实体类代码我没有上传需要根据你自己的数据库决定Filter和Interceptor使用一个就可以了。
http://www.w-s-a.com/news/30108/

相关文章:

  • 网站里的专题页面wordpress查询数据库结构
  • WordPress子站站群网站建设代码生成器
  • 怎么攻击织梦网站甘肃省最新消息今天
  • 赣州哪里可以做网站看装修案例的网站
  • 旅游网站专业化建设的要点php 手机网站 模板
  • wordpress百度站长主动推送长春火车站官网
  • 比较好的响应式网站wordpress博客增加音乐页面
  • 广告公司出售家具 税率江门做网站seo的
  • 网站设计建议建设商务网站作用
  • 网站策划的最终体现是什么模板网站建设流程图
  • 网站设计与开发技术教程十度公司做网站怎么样
  • 企业网站推广方案在哪里智慧团建登录入口官网手机版
  • google网页版入口seo索引擎优化
  • 东乡做网站常州网络公司联系方式
  • 做网站激励语家居装饰网站设计论文
  • 镜像的网站怎么做排名无极网站建设质量
  • 奉贤集团公司网站建设小工具文本wordpress
  • 不用代码做网站网站建设和运行费用
  • 阜阳网站开发招聘网站建设合作协议申请
  • 电子配件 技术支持 东莞网站建设wordpress 生成html代码
  • 网站用免费空间好不好网站建设的视频
  • 网站开发项目职责门户资源分享网站模板
  • 建网站需要什么语言如何做二维码跳转到网站
  • 天津建设交培训中心网站做网站起名字
  • 黑河北京网站建设湛江市住房和城乡建设局网站
  • 网站建设拾金手指下拉十九企业查询官网
  • 邢台提供网站建设公司哪家好五合一建站
  • 京东网站设计代码驻马店做网站的公司
  • 织梦网站模板使用教程福州网站建设工作
  • 做网站要准备的需求asp 网站后台