Spring Boot 15

[Spring Boot] 스프링 부트에서 JSP 사용

1. 의존성 추가 javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper provided 2. JSP에 태그 선언 3. application.properties 설정 spring.mvc.view.prefix = /WEB-INF/jsp/ spring.mvc.view.suffix = .jsp 4. 제약사항 JAR 프로젝트로 만들 수 없음, WAR 프로젝트로 만들어야 함 Java -JAR로 실행할 수 있지만 "실행가능한 JAR파일"은 지원하지 않음 언더토우(JBoss에서 만든 서블릿 컨테이너)는 JSP를 지원하지 않음 Whitelabel 에러 페이지를 error.jsp로 오버라이딩 할 수 없음 위와 같은 제약사항으로 인해 Spring Boot에서는 JS..

Spring Boot 2020.12.08

[Spring Boot] 2대 이상의 서버에서 세션 저장소 설정 방법

2대 이상의 서버에서 서비스하고 있다면 톰캣마다 세션 동기화 설정을 해야한다. 세션 저장소 방법 3가지 1) 톰캣 세션을 사용 - 일반적으로 별다른 설정을 하지 않을 때 기본적으로 선택되는 방식 - 이렇게 될 경우 톰캣(WAS)에 세션이 저장되기 때문에 2대 이상의 WAS가 구동되는 환경에서는 톰캣들 간의 세션 공유를 위한 추가 설정이 필요 2) MySQL과 같은 데이터베이스를 세션 저장소로 사용 - 여러 WAS 간의 공용 세션을 사용할 수 있는 가장 쉬운 방법 - 많은 설정이 필요 없지만, 결국 로그인 요청마다 DB IO가 발생하여 성능상 이슈가 발생 - 보통 로그인 요청이 많이 없는 백오피스, 사내 시스템 용도로 사용 3) Redis, Memchached와 같은 메모리 DB를 세션 저장소로 사용 - ..

Spring Boot 2020.12.03

[Spring Boot] template might not exist or might not be accessible by any of the configured template resolvers 오류 해결

Thymeleaf를 사용하고 Javascript로 Ajax 통신 중 다음과 같은 에러가 발생했다. template might not exist or might not be accessible by any of the configured template resolvers ... $.ajax({ method:'POST', url:'/getLocationData', dataType:'json', success:function (data){ console.log("data:::"+data); } }) @Controller public class LocationController { @Autowired private LocationService locationService; @PostMapping("/getLoc..

Spring Boot 2020.11.26

[Spring Boot] Thymeleaf 리소스 변경 시 Live reload 적용 오류 해결 방법

먼저, 기본적인 Live reload 설정(Devtools 의존성 추가, Copiler에서 Auto설정 등)을 했다고 가정한다. 검색해서 나온 설정을 해도 Live Reload가 적용이 안될 때가 있는데 그럴때는 1. Html Reload spring.thymeleaf.cache=false spring.thymeleaf.prefix=file:src/main/resources/templates/ 2. Css, Js Reload spring.resources.static-locations=file:src/main/resources/static/ 위와 같이 application.properties를 설정해주면 된다!!!

Spring Boot 2020.08.26

[Spring Boot] Customizing the Banner

Spring Boot를 실행하면 아래와 같이 콘솔에 찍히는 것을 볼 수 있다. 이 것을 Banner라고 하는데 Spring Boot공식 홈페이지에서 볼 수 있듯이 Customizing이 가능하다!! 먼저, resources 밑에 banner.txt , banner.gif, banner.jpg, banner.png 이런 이름으로 파일을 만들면 된다! 위와같이 설정할 수 있고 Spring Boot 홈페이지(출처 : https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-spring-application)에서 보면 아래와 같이 변수를 쓸 수 있도록 되어있다. (하지만, Descrip..

Spring Boot 2020.08.18

[Spring Boot] @RequestParam 이란?

@RequestParam이란 흔히 Controller에서 많이 보이는 어노테이션이다.  @GetMapping("/getParameter") public String getParameter(@RequestParam String id, @RequestParam(name = "password") String pwd){ String password="bbbb"; System.out.println("id: "+id); System.out.println("password: "+pwd); return id+pwd; } @GetMapping("/getParameter") : www.localhost:8080/getParameter로 Get방식 접속할 경우를 의미한다. 여기서 @RequestParam으로 id, pwd..

Spring Boot 2020.07.05