반응형 Language/Java18 Spring Security - jwt (회원가입 / 로그인) 에러 수정 그간 정처기 시험 준비로 약 한 달간 블로그를 작성하지 못하였다. 아쉬운대로 학원에서 22시까지 복습, 그 이후에 시험 준비를 하였다. (나름 열심히 살았다.) 아직 실기가 남았지만, 그 전까지 빡시게 기록해보려고 한다.이번 프로젝트에서는 어쩌다보니 회원가입 / 로그인 기능을 맡게 되었는데, 스프링 시큐리티와 세션 방식이 아닌 jwt 토큰 방식으로 구현하게 되었다. 회원 가입은 오랜 시간 걸리지 않고, 암호화 하여 insert 하는 데 성공하였다. 하지만 로그인 시, jwt 토큰이 생성되지 않는 문제가 내 발목을 잡았다. 아직 프론트 단 연결 전, postman을 이용하여 테스트를 진행했다. 위 사진과 같이, 200ok 싸인과 응답 메시지가 내가 설정한대로 객체 형태로(key, value) 반환은 되고.. 2025. 2. 17. Rest - API 기초 연습 (@RestContoller = @Controller + @ResponseBody) 스프링 부트 환경에서 Controller를 생성했다. 기존 지식으로 MVC 패턴에서 Controller는 data 처리와 view까지 반환을 했었다. 하지만 React 활용 전, Rest-API에서의 Controller는 data 처리만 하면 된다고 한다. 일단 view 페이지 없이 기존 방식대로 url로 접근을 해보았다. 사진과 같이 RequestMapping으로 response 설정해주고 url 확인이 가능한 GetMapping 어노테이션으로 hello를 설정한다. return 값으로 hello world!!! 라는 문자열을 전달하는데, 기존 대로라면 view 페이지를 설정해야 한다.(예를 들어 hello.html) 이렇게 설정하면 당연히 경로를 찾을 수 없는 404 에러가 출력된다. 스프링은 .. 2025. 1. 15. JPA 초급 공부 (manager / transaction / getSingleReulst()) 등.. JPA 공부 중, 기본적인 내용이지만 기록하기 일단 JPA란 MyBatis의 상위 개념이 아니라 MyBatis와는 다른 느낌의 ORM(Object-Relational Mapping)이다. 간단하게 복잡한 쿼리나 특정 데이터베이스 기능을 활용해야 하는 경우 MyBatis가 더 적합하고,데이터베이스와의 상호작용을 간소화하고 싶다면 JPA를 사용하는 것이 적합하다.(여러개의 조인이 들어간 복잡한 Select 구문은 mybatis가 유리하고,각종 DML 구문 (insert , update , delete)는 JPA가 유리하다.) 결론적으로 둘을 모두 사용하는 게 효율적!오늘 공부한 내용은 JPA 초급 사용하기.... 뭐가 안 되다 됐다 가 아니라, 그냥 복습할 겸 적어본다. test 클래스에서 insert 해주.. 2025. 1. 7. Spring / thymeleaf / session 사용하기 사용자 권한에 따라 네비게이션 바를 구분지으려고 함. 예를 들어 관리자라면 인사 등록과 인사 정보가 표시하고, 일반 사원이라면 근태 관리만 표시하게 하려고 했다. 로그인 한 사번이 12번이라면 관리자 , 33번이라면 사원으로 테스트 했다. 일단 메인 화면의 네비게이션 바는, 별도의 컨트롤러를 거치지 않으므로 메인 컨트롤러에서 바로 쏴줄 목적이었음. session으로 받아온 데이터들을 get 메서드를 이용하여 꺼내서 변수에 담아 주었다. 그리고 타임리프 문법을 통해 관리자 권한이 1이면 보여주고, 1이 아니라면 안 보이게 설정하였다. 첫번째 사진은 관리자 권한으로 확인한 것이고, 추가 확인을 위해 사원 권한으로 접근을 해보았다. 사원은 권한이 0이기 때문에 잘 가려져있다 하지만... 문제는 다른 페이.. 2024. 12. 31. spring / fullcalendar 중복 데이터 / db 쿼리 수정하기 프로젝트 막바지... 오늘은 몇시간 내내 삽질만 하다가 겨우 원인을 찾게된 기록을 남겨볼 예정. 확실히 프로젝트 하는 중에 db 수정은 불가피하고 그에 따른 코드 수정도 불가피 하다는 걸 많이 느꼈다. 기한이 얼마 남지 않아, 기능을 더 구현하는 것 보다 이미 구현해 놓은 기능을 완벽하게 하기로 마음 먹었다. 풀 캘린더로 연동해 놓은 근태 관리 페이지... 휴가 신청과 동시에 db에 저장되고, 다시 캘린더에 해당 내용이 정상적으로 출력 돼야 한다.(예를 들어 26일에 반차(0.5) 신청을 하면 연두색과 이름 + 직책이 표시 / 진한 초록색은 연차)하지만 연차든 반차든 신청을 하면 하나의 데이터만 출력돼야 하지만 두개의 데이터가 출력 되었다. 처음엔 insert 구문을 두 개로 설정했나? 하고 살펴보고.. 2024. 12. 27. Spring / thymeleaf / 인사 등록 / 에러 일기 프로젝트 진행 중 잘 되던 인사 등록에 문제가 생겼다. '인사 등록이 필요한 직원'을 클릭(click 이벤트)하면 동적으로 우측 '인사 정보 등록'으로 이동하여 해당 항목에 맞게 작성된다.코드 : (thymeleaf 문법으로 값 꺼내서 넣어주기)해당 열의 getAttribute로 꺼내주고 변수에 담고, id 요소 추출한 값에 다시 담기!! (기본적인 사번 / 이름 / 이메일은 employee 테이블 , 부서는 department 테이블의 fk로 받음) 인사 쪽 추가할 테이블은 직책 / 고용 여부 / 주소 / 국적 / 대표 전화 / 입사 일자 (human_resource 테이블)이다. 여기서 등록을 누르면 ~~님 등록 완료 되었습니다. 라는 모달 창이 떠야 하는데 500 에러가 발생했다.(지금은 다 고.. 2024. 12. 18. 이전 1 2 3 다음 반응형