웹개발/Spring Boot(8)
-
스프링 부트 + jsp + 시큐리티 연동 시 302
컨트롤러 설정을 다 하고 시큐리티와 연동했을때 자꾸 Forwarding을 정상적으로 하지 못하는 문제에 도달했다. 이것저것 검색해봐도 사실 뭐가 문제인지몰랐다가 SecurityFilterChain에서 authorizeHttpRequests의 Matchers에 추가적으로 설정해야하는 것을 간신히 찾아냄 http.authorizeHttpRequests((authorize) -> authorize.dispatcherTypeMatchers(DispatcherType.FORWARD, DispatcherType.ERROR, DispatcherType.INCLUDE).permitAll() 다음과 같이 dispatcherTypeMatchers에 추가해주면 끝!
2024.03.13 -
스프링 부트 + jsp 연동
스프링 부트 시큐리티에 jsp를 설정하면 기본적으로 application.yml 설정을 mvc: view: prefix: /WEB-INF/jsp/ suffix: .jsp 위치는 src/main/webapp 에 위치해야한다 src/main/webapp/WEB-INF/jsp 폴더 생성하고 그 폴더에 jsp를 넣으면 됨 pom.xml에 dependency 추가 org.apache.tomcat.embed tomcat-embed-jasper 해주고 컨트롤러에서 호출해주면 완성 추가적으로 taglib와 jstl을 사용하려면 pom.xml에 jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api 3.0.0 jakarta.servlet jakarta.servlet-api 6.0..
2024.03.13 -
JAVA Enum Value로 Key 찾아오기
public enum GubunCode { GUBUN1("GUBUN1_value11", "GUBUN1_value12", "GUBUN1_value13"), GUBUN2("GUBUN1_value21", "GUBUN1_value22", "GUBUN1_value23"); private final String displayValue1; private final String displayValue2; private final String displayValue3; private GubunCode(String displayValue1, String displayValue2, String displayValue3){ this.displayValue1 = displayValue1; this.displayValue2 = ..
2023.07.06 -
Spring Boot Controller 에서 전체 파라메터 폼 클래스 유효성 검증
컨트롤러에 WebDataBinder을 이용하여 파라메터로 넘어오는 폼 클래스의 유효성검증을 추가 private final BoradFormValidator boardFormValidator; @InitBinder("boardForm") public void initBinder(WebDataBinder webDataBinder) { webDataBinder.addValidators(boardFormValidator); } 해당 컨트롤러 상단에 선언을 해줍니다. @InitBinder("boardForm") 에서 boardForm의 이름으로 클래스를 찾아서 검증 @GetMapping("/boardDetail") public String detail(Model model, BoardForm boardForm) ..
2023.07.05 -
Spring Boot Validated 유효성 검증 그룹 설정
public class ValidationGroups { public interface OnUpdate {} public interface OnInsert {} } ValidationGroups 클래스에 해당 interface를 선언 해두고 @Data public class BoardForm { @NotBlank(message = "제목은 필수입니다.", groups = {ValidationGroups.OnInsert.class}) @Length(min = 5, message = "제목은 6글자 이상", groups = {ValidationGroups.OnInsert.class}) @Length(max = 15, message = "제목은 15글자 이하", groups = {ValidationGroups..
2023.07.04 -
Spring Boot 정적 리소스 설정
spring: web: resources: static-locations: classpath:/js, classpath:/css, classpath:/static application.yml에 다음과 같이 경로들을 나열하면 해당프로젝트의 폴더 위치로 접근이 가능하다.
2023.07.04