springboot 10

[스프링부트] 타임리프 CSS 적용이 갑자기 안 될 때

[문제]스프링부트 프로젝트의 resources - static - css 폴더 안에 style.css 파일이 들어있고, 분명 잘 적용이 되고 있었던 CSS가 '어느 순간'부터 로그인을 하지 않았을 때, 아주 베이직해졌다. 찾아보니 보통 시큐리티가 추가되면서 CSS의 적용이 되지 않는다는 글들이 보였다. 내 경우에는 시큐리티를 적용한 것은 아니었으나, 세션의 값을 확인하는 코드의 중복을 줄이기 위해 Interceptor 파일을 만들고, Config 파일에 제외할 경로를 추가하면서부터였다. 분명 resources 아래의 전체를 제외한다고 명시해둔 것 같아 괜찮겠거니 생각했는데, 적용이 되지 않는 것이었다. 제대로 적용이 됐다면 아래 사진처럼 보여야 하는데, 로그인을 하지 않으면 아래 사진처럼 css 파일이 ..

error 2024.12.31

[스프링부트] 타임리프에서 자바스크립트 onclick 사용할 때

스프링부트 타임리프에서 자바스크립트를 사용해본 사람이라면 이 자바스크립트에 값을 전달했을 때 오류가 나본 적인 한 번 쯤은 있을 것이다. 우선 문제는 타임리프가 자바스크립트 코드를 처리하는데 문제가 있는 거라고 한다. 표현식을 잘못 해석했다는 것. 어제 다른 학생의 컴퓨터에서도 문제를 해결해 줬었는데, 그때와 다른 처음보는 방법을 찾게 되어 포스팅을 하게 되었다. [문제] 우선 나는 아래와 같은 형태로 값을 전달하려고 했는데,버튼을 누르면 아래와 같이 에러가 났다.페이지 소스를 확인해보니 문자가 그대로 찍히고 있었다. [해결]이때 사용한 방법이 바로 파이프 ( |) 문자이다. 파이프 문자는 타임리프에서 문자를 조합할 때도 사용하는 문자로, 문자열 내의 표현식을 안전하게 처리하도록 돕는 역할을 하는 것이다..

error 2024.12.19

lombok에 STS4 경로 설정 후 STS4 실행 안됨

https://projectlombok.org/ 롬복 다운로드 후 명령 프롬프트(cmd)에서 롬복이 있는 폴더로 이동 후 실행 java -jar lombok.jar  Specify location 클릭하여 롬복을 추가하려는 툴의 .exe 파일이 있는 경로 위치 넣고 Install/Update 완료 시 Quit Installer 하고 STS4 다시 실행을 했는데, lombok 설정 후부터 STS4가 아예 열리지 않는다면? SpringToolSuite4.ini 파일 확인 가장 하단에 lombok 관련 경로에 한글이 들어있는 경우 해당 라인 삭제 후 저장하고 다시 실행해보면 실행은 될 것 롬복 경로 다시 잡아줄 때, 한글 폴더 없이 경로 다시 잡아주면 롬복도 사용 가능

error 2024.10.10

스프링부트(STS4)에서 Web(HTML, CSS, JSP 파일), XML이 없을 때 해결 방법

오랜만에 STS4에서 새로 프로젝트를 만들고 xml 파일을 생성하려고 New -> Other를 클릭했는데, 있어야 할 XML과 Web이 보이지 않았다. 오랜만이라 따로 설치해주어야 한다는 것을 잊고 있었던 것이다.  바로 상단바의 Help를 눌러 Eclipse Marketplace로 들어가서 검색 창에 web을 입력했고, 아래에 있는 'Eclipse Enterprise Java and Web Developer Tools' 프로그램을 Install 해주었다.     생각보다 시간이 걸리기 때문에 하단에 Progress에서 진행 상황을 확인하며 기다리다가 알람창에 따라 재시작을 해준다.  들어와서 다시 확인을 해보면, Web, XML이 모두 생성되어 있는 것을 볼 수 있다.

Springboot 2024.07.15

Springboot CRUD게시판 - delete

2024.03.01 - [Springboot] - Springboot CRUD게시판 - update 이제 CRUD의 마지막인 delete, 삭제만이 남았다. 나는 getGuestbook.jsp 파일인 상세보기 페이지에 삭제 버튼을 추가해 주었다. 눌렀을 때 바로 삭제되는 것이 아니라, "정말로 삭제하시겠습니까?라는 알람을 띄우기 위해 자바스크립트 함수를 사용해주었고, 삭제 버튼을 클릭하면 해당 함수가 실행될 수 있도록 하였다. 삭제를 할 때에도 어떤 레코드를 삭제할지를 전달해주어야 하기 때문에 guestbook_idx값을 같이 넘겨 주었다. GuestbookController.java 파일에 guestbookDelete.do를 mapping 해주고, GuestbookService.java 파일을 추가해 ..

Springboot 2024.03.07

Springboot CRUD게시판 - update

2024.02.27 - [Springboot] - Springboot CRUD게시판 - selectOne (getGuestbook) 이번에는 상세 보기 페이지에서 메모를 수정한 뒤, update 하는 작업을 해 볼 것이다. 상세 보기를 만들 때 이미 form을 추가해 두었기 때문에, 수정 후 submit을 클릭하면 guestbookUpdate.do로 이동할 것이다. 우선 방명록 목록에서 2001번 방명록이라고 되어 있는 레코드를 선택할 것이다. GuestbookController.java 파일에서 guestbookUpdate.do mapping을 해주고, update를 한 후에는 getGuestbookList.do로 이동할 수 있도록 해준다. vo에 값이 잘 들어갔는지 확인하기 위해 console에 찍..

Springboot 2024.03.01

Springboot CRUD게시판 - selectOne (getGuestbook)

2024.02.24 - [Springboot] - Springboot CRUD게시판 - insert 이번에는 하나의 레코드만 가지고 와서 보여주는 레코드 상세 보기 작업을 해볼 것이다. getGuestbookList.jsp 파일에서 이름을 누르면 getGuestbook.do로 이동할 수 있도록 링크를 걸어주었다. 이때 내가 선택한 레코드가 어떤 것인지를 알려주어야 하기 때문에 기존에 primary key로 잡아둔 guestbook_idx를 함께 넘겨준다. 넘겨준 guestbook_idx의 레코드를 "guestbook"이라는 이름으로 model에 담아주고, guestboook 폴더의 getGuestbook.jsp 파일로 값을 가지고 넘어간다. 사실 받을 것은 guestbook_idx 하나뿐이기 때문에 매개..

Springboot 2024.02.27

Springboot CRUD게시판 - insert

2024.02.20 - [Springboot] - Springboot CRUD게시판 - select 자, 그럼 이번에는 guestbook 테이블에 값을 추가하기 위한 작업을 시작해 보자. 이전에 getGuestbookList.jsp 파일에 만들어 놓은 글쓰기 버튼을 활용할 것이다. 우선 이 버튼을 클릭하면 guestbookForm.do로 이동할 수 있도록 GuestbookController.java 파일에 추가하고, 이때 guestbook -> guestbookForm.jsp로 이동할 수 있도록 해준다. view -> guestbook 폴더에 guestbookForm.jsp 파일을 추가하고, 입력 폼을 작성해 준다. 번호와 날짜는 자동으로 입력될 것이기 때문에 따로 받지 않고, 저장하기 버튼을 누르면 g..

Springboot 2024.02.24

Springboot CRUD게시판 - select

자, 이제 본격적으로 데이터베이스를 활용하여 테이블의 결과를 띄워볼 것이다. 그러기 위해서 이전에 pom.xml에 추가해 두었던 오라클 DB에 테이블과, idx로 사용할 시퀀스도 하나씩 생성했다. 아주 기본적인 '방명록'으로 CRUD를 먼저 진행할 것이다. select를 먼저 만들 것이기 때문에 확인을 위해 미리 레코드 하나를 추가했다. 잊지 말고 commit을 해준 뒤, 잘 저장이 되었는지 확인 후 프로젝트 작업을 시작했다. 우선 springboot에 project 패키지, 그 안에 guestbook 패키지를 생성해준다. 그 안에 데이터베이스에 있는 값을 활용하기 위한 GuestbookVO.java를 추가해주고, lombok의 @Data를 사용해준다. @Data의 자세한 설명은 Chat-GPT가 해주었..

Springboot 2024.02.20

VSCode로 Springboot 시작하기 (다운부터 실행까지)

STS4도 나름 사용할만 하지만 VSCode만큼 익스텐션이 잘 되어있는 것이 없기에 이번에는 VSCode로 Springboot 개발 환경을 맞추고 화면에 Hello를 띄우는 것까지 진행해 보았다. 우선 Spring Tools 4를 VSCode용으로 다운 받는다. VSCode는 이미 설치가 되어 있으니 VSCode의 Extenstions 메뉴에서 JAVA와 Spring boot를 사용하기 위한 Extension을 설치해 준다. Extension Pack for Java Spring Boot Extension Pack 프로젝트를 생성하기 위해 보기(View) -> 명령 팔레트(Command Palette)를 실행하고, spring initializr 을 입력하고 Maven 프로젝트 생성을 클릭해 준다. 스프..

Springboot 2024.02.06