From 7c6233f569f6d7eb327bce542e49366fd091b307 Mon Sep 17 00:00:00 2001 From: awinx Date: Mon, 16 Dec 2024 12:17:50 +0800 Subject: [PATCH] learn02 --- test05/pom.xml | 6 +++ .../test05/controller/LoginController.java | 1 + .../test05/controller/UserController.java | 9 ---- .../test05/controller/studentController.java | 19 ++++++++ .../main/java/test05/filter/loginFilter.java | 24 ++++++++-- .../java/test05/service/StudentService.java | 11 +++++ .../service/impl/StudentServiceImpl.java | 46 +++++++++++++++++++ 7 files changed, 104 insertions(+), 12 deletions(-) delete mode 100644 test05/src/main/java/test05/controller/UserController.java create mode 100644 test05/src/main/java/test05/controller/studentController.java create mode 100644 test05/src/main/java/test05/service/StudentService.java create mode 100644 test05/src/main/java/test05/service/impl/StudentServiceImpl.java diff --git a/test05/pom.xml b/test05/pom.xml index e790a29..09c8662 100644 --- a/test05/pom.xml +++ b/test05/pom.xml @@ -83,6 +83,12 @@ jjwt 0.12.3 + + top.awin-x + learn03-springboot + 0.0.1-SNAPSHOT + compile + diff --git a/test05/src/main/java/test05/controller/LoginController.java b/test05/src/main/java/test05/controller/LoginController.java index 5299f1c..6b72c42 100644 --- a/test05/src/main/java/test05/controller/LoginController.java +++ b/test05/src/main/java/test05/controller/LoginController.java @@ -11,6 +11,7 @@ import test05.service.UserService; @RestController @RequestMapping("/userAction") +@CrossOrigin public class LoginController { private final UserService userService; @Autowired diff --git a/test05/src/main/java/test05/controller/UserController.java b/test05/src/main/java/test05/controller/UserController.java deleted file mode 100644 index 9c94134..0000000 --- a/test05/src/main/java/test05/controller/UserController.java +++ /dev/null @@ -1,9 +0,0 @@ -package test05.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -@RestController -@RequestMapping("/userAction") -public class UserController { -} diff --git a/test05/src/main/java/test05/controller/studentController.java b/test05/src/main/java/test05/controller/studentController.java new file mode 100644 index 0000000..fab3ec7 --- /dev/null +++ b/test05/src/main/java/test05/controller/studentController.java @@ -0,0 +1,19 @@ +package test05.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import test05.service.StudentService; + +@RestController +@RequestMapping("/studentAction/") +public class studentController { + private final StudentService studentService; + @Autowired + public studentController(StudentService studentService) { + this.studentService = studentService; + } + + @RequestMapping("get") + public String get() {} +} diff --git a/test05/src/main/java/test05/filter/loginFilter.java b/test05/src/main/java/test05/filter/loginFilter.java index d21fd80..d857c7e 100644 --- a/test05/src/main/java/test05/filter/loginFilter.java +++ b/test05/src/main/java/test05/filter/loginFilter.java @@ -1,20 +1,38 @@ package test05.filter; +import io.jsonwebtoken.ExpiredJwtException; +import io.jsonwebtoken.MalformedJwtException; +import io.jsonwebtoken.security.SignatureException; import jakarta.servlet.*; import jakarta.servlet.annotation.WebFilter; import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import test05.utils.JwtUtils; import java.io.IOException; +import java.util.Map; import java.util.Objects; -@WebFilter("/*Action/*") +//@WebFilter("/*") public class loginFilter implements Filter { @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { - if (Objects.equals(((HttpServletRequest) servletRequest).getRequestURI(), "/userAction/login")) { + if (((HttpServletRequest) servletRequest).getRequestURI().equals("/userAction/login")) { filterChain.doFilter(servletRequest, servletResponse); + return; + } + String token = ((HttpServletRequest) servletRequest).getHeader("token"); + System.out.println("token:" + token); + if (token != null) { + try{ + Map jwtContent = JwtUtils.parseJwt(token); + }catch(SignatureException | ExpiredJwtException | MalformedJwtException e){ + ((HttpServletResponse) servletResponse).sendError(HttpServletResponse.SC_FORBIDDEN); + } + filterChain.doFilter(servletRequest, servletResponse); + }else{ + ((HttpServletResponse) servletResponse).sendError(HttpServletResponse.SC_FORBIDDEN); } - filterChain.doFilter(servletRequest, servletResponse); } } diff --git a/test05/src/main/java/test05/service/StudentService.java b/test05/src/main/java/test05/service/StudentService.java new file mode 100644 index 0000000..0e235ec --- /dev/null +++ b/test05/src/main/java/test05/service/StudentService.java @@ -0,0 +1,11 @@ +package test05.service; + +import test05.pojo.Result; +import test05.pojo.Student; + +public interface StudentService { + public Result getStudent(Student student, int page, int pageSize); + public Result addStudent(Student student); + public Result updateStudent(Student student); + public Result deleteStudent(Student student); +} diff --git a/test05/src/main/java/test05/service/impl/StudentServiceImpl.java b/test05/src/main/java/test05/service/impl/StudentServiceImpl.java new file mode 100644 index 0000000..faa0138 --- /dev/null +++ b/test05/src/main/java/test05/service/impl/StudentServiceImpl.java @@ -0,0 +1,46 @@ +package test05.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import test05.mapper.StudentMapper; +import test05.pojo.Result; +import test05.pojo.Student; +import test05.service.StudentService; + +import java.util.List; + +@Service +public class StudentServiceImpl implements StudentService { + private final StudentMapper studentMapper; + + @Autowired + public StudentServiceImpl(StudentMapper studentMapper) { + this.studentMapper = studentMapper; + } + + @Override + public Result getStudent(Student student, int page, int pageSize) { + try{ + List list = studentMapper.selectStudent(student, page, pageSize); + int total = studentMapper.selectStudentCount(student); + return Result.success(list, total); + }catch (Exception e){ + return Result.error(e.getMessage()); + } + } + + @Override + public Result addStudent(Student student) { + return null; + } + + @Override + public Result updateStudent(Student student) { + return null; + } + + @Override + public Result deleteStudent(Student student) { + return null; + } +}