Spring Boot : study.diary 로그인해서 일기쓰기

diary 프로젝트에 폼 로그인 기능을 추가해서 로그인했을 때 Home 화면에서 일기 목록이 잘 보여지는것 까지는 성공을 했다. 그런데 일기쓰기 화면에서 일기를 작성하고 저장을 누르면 에러 페이지가 표시되었다. 도대체 무슨 일일까를 고민하다가, 일기쓰기 폼이 write.html 인데, 여기에서 “저장” 버튼을 누르면 처리되는 URL 에서 로그인하여 인증된 데이터가 사용되지 않은 것이 아닐까 생각되었다. write.html 파일에서 <form> 태그의 action … Read more

spring boot: study.diary : Spring Security 폼 로그인

diary 프로그램에 로그인 기능이 없어서 아무나 접근해서 읽기를 볼 수도 있고, 쓸 수도 있는 상황이야. spring boot 의 Spring Security 기능을 이용해서 폼 로그인 기능을 붙여볼께. https://start.spring.io 에서 Add Dependencies 로 security 를 검색하여 Spring Security 의존성을 추가해. Explorer 버튼으로 수정된 build.gradle 파일의 내용에서 spring security 의존성 부분을 복사해서 프로젝트의 build.gradle 에 붙여넣기 한다. build.gradle … Read more

jenkins 를 이용한 프로젝트 배포

프로젝트 배포에 jenkins 를 이용한다는 개념을 설명한 도식이야. 가장 중요한 점은 프로젝트 소스가 gitlab 에서 관리되고 있어야 한다는 점이지. 그래야만 jenkins 가 소스를 ① 내려받아서 ② 빌드하고 ③ 배포할 수가 있어. 이 개념에서 가장 중요한 행위자는 jenkins 야. jenkins 에서 gitlab 에 접속하고, webserver 에 접속할 수 있어야 해. 그러기 위해서는 jenkins 에 gitlab 계정과 … Read more

study.diary : UI 개선 front-end (bootstrap + thymeleaf)

Bootstrap : https://getbootstrap.krThymeleaf : https://www.thymeleaf.org Bootstrap 을 이용하기 위한 html 템플릿 소스 : Bootstrap 을 이용한 html 페이지 구성 Home [공통] 네비게이션바 : https://getbootstrap.kr/docs/5.3/components/navbar/ 위 경로에서 적절한 예시 코드를 복사해서 <body> 태그 안에 붙여넣기 한다. [공통] 푸터 : https://getbootstrap.kr/docs/5.3/examples/footers/ 위 경로의 웹페이지에서 F12 를 눌러서 개발자도구를 나타나게 한다. 엘리먼트 선택기를 클릭하여 마음에 드는 영역을 선택한다. … Read more

mybatis : resultType=”map”

spring boot 학습으로 study.diary 프로젝트를 만들어 봤었는데 mybatis 를 통해서 일기 내용을 가져오는 GetDiary 의 resultType 으로 domain 클래스를 지정했었지. 이렇게 설정하면 GetDiary 쿼리의 결과로 얻어지는건 Diary 클래스 객체가 되지. 이번에는 resultType 으로 map 을 지정해서 key-value 형식의 데이터를 가져오는 방법으로 수정해보려고 해. 일단 쿼리문을 정의한 매퍼 xml 파일(DiaryMapper.xml)에서 resultType 을 map 으로 바꿔볼께. map … Read more