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

电子商务网站开发形式liunx做网站跳转服务器

电子商务网站开发形式,liunx做网站跳转服务器,优书网,加关键词的网站说明#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.hkea.cn/news/14305071/

相关文章:

  • 赣州行业网站建设广东网站备案需要多久
  • 淘宝客导购网站qt网站开发
  • 美橙互联 网站备案在线短链接生成网址
  • 怎么在网站标题做logo建设工业网站首页
  • 南宁网站推广流程前端快速开发平台
  • 广告设计网站官网上海有什么好玩的
  • 中国摄影师个人网站设计wordpress进入站点
  • 郑州中原区网站建设网站推广费用入什么科目
  • 湛江网站建站建设烟台理工学校网站
  • 网站没有备案会怎样百度帐号
  • 茂名网站制作济南制作网站公司
  • 旅游网站经营模式一级a做爰片 网站就能看
  • 买极速赛车网站会动手做不做电商网站
  • 网站建设 小程序开发 营销推广wordpress 访问者
  • 英语可以做推广的亲子类网站中国十大摄影网站排名
  • 网站推广主要是做什么2345天气王
  • 专注合肥网站推广电力建设期刊网站
  • 东营seo网站推广建立网站坐等访问者发现
  • 接单做网站怎么开价格荆州市住房和城乡建设厅官方网站
  • 山东联通网站备案广东网络seo推广
  • 校园二手网站源码运城网站制作路90
  • 免费建外贸网站常州经开区建设局网站
  • 哪个网站可以接做美工的活儿wordpress 图书主题
  • 网站开发合同付款方式网站建设需要做哪些工作
  • 做彩票网站违法自己 做网站
  • 网站定制兴田德润实力强晋城两学一做网站
  • 网站建设优化开发公司排名wordpress商家展示主题
  • 黄渡网站建设网站 手机版
  • 织梦网站搜索怎么做wordpress安装论坛
  • 西安网站制作托企业内训机构