본문 바로가기

프로젝트/selfmade Blog - V1 (deprecated)14

프로젝트 중단 현직자 선배님과 커피챗 도중 JSP, JDBC와 같은 기술들을 사용해 프로젝트를 진행하는 게 도움이 될 지 물어보게 되었고, 선배님께서 Thymeleaf, JPA와 같은 주력 기술을 연습하는 것을 추천해 주셨다. 현재 프로젝트를 다시 리팩토링 하는 방법도 있겠지만, 조금 더 API 설계같은 부분들을 신경써 보고 싶어 프로젝트를 새로 시작하기로 했다. 다만, 이전 게시글들은 남겨 두고자 하여 프로젝트 중단 소식을 공지한다. 2023. 9. 6.
12. 로그인 기능 구현 이제는 실제 사용자의 정보를 이용해 로그인 기능을 구현해 보자. 우리가 해야하는 일은 DB에 저장된 정보와 로그인을 위해 입력한 정보를 비교하기 위한 Service 클래스를 생성하고, Controller와 DAO 사이에서 둘을 적절하게 연결시켜 주는 것이다. 확인을 편하게 하기 위해 기본적으로 들어가 있는 더미 데이터도 저장해 주자. 로그인 기능 구현 DAO 수정 이제, 우리는 입력된 아이디와 비밀번호를 사용해 유저 정보를 조회해야 한다. 조금 더 추상화 해, 파라미터들을 전달해 주면 해당 파라미터들을 사용해 데이터를 조회하는 기능을 DAO에 추가해 주자. 가장 먼저, 인터페이스에 메서드를 하나 추가해 준다. R getObjectByParameters(String sql, Function mapper, .. 2023. 9. 1.
11. 세션 유지 작업 로그인 기능을 구현하기 위해서는 올바른 사용자에 대해 세션을 부여해 주어야 한다. jsp를 사용해 세션을 만들고 유지하는 방법을 알아보자. 세션에 대해 톰캣을 사용하는 우베 프로젝트에서 브라우저는 항상 JSESSIONID라는 쿠키를 가지게 된다. 즉, 세션 자체는 항상 유지되어 있으며, 우리가 해야하는 일은 세션의 속성 값을 생성, 삭제 하며 유저의 세션 정보를 관리하는 것이다. JSP에서의 세션 관리 그렇다면, 우리는 세션에 특정 값이 존재하는지의 여부를 확인하며 로그인이 되어있는지를 확인할 수 있다. 다음은 로그인 화면에 대한 JSP 파일이다. 이미 로그인이 되어있습니다. 로그인 페이지 입니다. 아이디 : 비밀번호 : 사용자의 세션을 유지시키기 위해 우리가 사용할 값은 userIdx 이다. 해당 값이.. 2023. 9. 1.
10. 테스트 DB 서버 분리 이쯤에서 DB의 테스트 서버와 서비스 서버를 분리시키는 것이 좋을 것 같다. 단지 test 패키지에 application.yml을 작성해 두는 것 만으로는 DB가 분리되지 않는다. main 패키지의 application.yml 내부에 다음의 코드를 작성해 두니 테스트 코드와 실 배포 코드의 DB가 분리되었다. spring: profiles: active : local include : test include 뒤에 붙는 문자와 test 패키지 내부의 resource 아래에 있는 yml 파일의 이름을 확인하는 것 같다. application-\[별칭] 의 별칭과 include : \[별칭]의 별칭이 같다면 해당 yml 파일을 사용하는 것 같다. 별칭에 매칭되는 yml 파일이 없으면 기본적으로 main 아래의.. 2023. 8. 31.