전체 글 (499) 썸네일형 리스트형 [Spring Security] Spring Security 적용 의존성 추가 # Maven org.springframework.boot spring-boot-starter-security # Gradle implementation 'org.springframework.boot:spring-boot-starter-security' 의존성을 추가하고 Controller로 요청을 하면 서버에서 Security가 동작한다. 기본적으로 계정과 비밀번호를 설정하지 않으면 1회성 비밀번호를 발급된다. 초기 계정은 user / 비밀번호는 log에서 확인이 가능하다. 하지만 비밀번호는 매번 서비스가 재시작 될때 마다 새롭게 발급된다. 게다가 로그인을 하게 되면 root로 이동하게 되고 URI를 입력하면 400에러가 발생한다. 두가지 모두 해결하는 방법은 Spring Security .. [Spring] @RequestBody 프론트엔드에서 AJAX 요청을 할 때 데이터가 직렬화 되어 형식이 JSON으로 된다. 이 JSON 데이터를 @RequestBody가 Java객체로 역직렬화하여 Http요청 본문을 DTO인 Java객체로 mapping할 수 있게 한다. 그리고 돌아온 응답을 토대 window.location.href를 이용해 페이지를 이동할 수 있다. 사용 코드 Controller // ... @RequestMapping(value = "/loginFail") public String loginFail() { return "/web/common/loginFail"; } @RequestMapping(value = "/main") public String mainPage() { return "/web/common/main"; .. [Spring] MessageSource를 이용한 Exception처리 보통 MessageSource는 국제화(i18n)를 목적으로 사용한다. 하지만 이를 이용하면 예외처리가 좀 더 간편해진다. build.gradle에 의존성 추가 implementation 'net.rakugakibox.util:yaml-resource-bundle:1.1' MessageConfiguration 파일 생성 import net.rakugakibox.util.YamlResourceBundle; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.MessageSource; import org.springframework.context.annotation.Bean; import or.. [Java] 시간 비교, 시간 파싱 event기간에 따라 문구를 변경하고 싶다는 요청사항이 들어왔다. 1. event 종료 전이지만 closed상태에서의 문구 2. event 종료 후 closed상태에서의 문구 이렇게 두 가지로 케이스를 분리해달라고 했다. 그래서 그냥 현재시간을 model에 담아서 client단에서 비교하게 구현하려고 했다. // java ... Date timestamp = new Date(System.currentTimeMillis()); model.addAttribute("timestamp", timestamp); ... // js ... console.log("${timestamp}"); console.log("${EvnetEndDate}"); popup_text(""); popup_text(""); ... 하지만.. [Spring] redirect경로 redirect시 URL이 원하는 경로로 되지 않는다. redirect메커니즘 : redirect: 사용 -> 스프링 MVC는 HTTP 상태 코드 302 Found 반환 -> Location 헤더에 지정된 URL로 리디렉션 지시 여기서 발생한 문제는 redirect: 뒤에 지정된 경로가 상대 경로로 해석되기 때문에, 현재 경로(/ajax/loginProcess)를 기준으로 리디렉션 URL이 구성됨 Sol) return "redirect:/web/common/main"; [JSTL] Gradle에서 JSTL 설정하기 JSTL이 정상적으로 동작하지 않아 에러가 발생 그래서 JSTL를 재설정 하면서 설정 방법을 정리하기로 함 1. 의존성추가 //implementation 'javax.servlet:jstl' //스프링부트 3.0 미만 implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상 implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' //스프링부트 3.0 이상 implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //스프링부트 3.0 이상 2. 선언 3. 태그 - core 태그 출력 사용할 변수를 설정 설정한 변수 제거 예.. [CSS] 스크롤 달기 (feat.Overflow) scroll달기 div에 overflow스타일 추가, 그래도 적용이 안된다면 높이가 지정되어있는지 확인 ... [gitHub] You are in 'detached HEAD' state. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch. 찾아보니 복구 후에 remote HEAD값과 local의 HEAD값이 안맞아서 그런것 같다. 맞춰주려 여러 시도를 해봤지만 실패해서 가장 깔끔하고 단순한 방법으로 진행했다. ## 현재 브런치 및 HEAD확인 git branch -a ## test브런치 생성 git checkout -b test 현재 branch를 확인해보고 새.. 이전 1 ··· 10 11 12 13 14 15 16 ··· 63 다음