본문 바로가기

Server Oriented

(184)
스프링, 세션과 쿠키 #1 Controller.. @Controller @RequestMapping("/auth") public class LoginContoller{ @GetMapping("/login") public String loginForm(LoginInput loginInput){ return "loginForm"; } @PostMapping("/login") public String login(LoginInput loginInput, HttpSession session){ ... UserInfo ui = new UserInfo("Gil-dong"); session.setAttribute("userInfo",ui); ... return "..."; } @GetMapping("/logout") public Strin..
스프링 뷰, 타임리프 form 과 결과 View 에 사용된 타임리프 항목이, View 를 호출한.. Controller 의 Model 에 담기지 않았거나 Controller 의 파라미터에 JavaBeans 객체 형태로 전달되지 않았다면, Whitelabel Error...Could not parse as expression... ...Exception evaluating SpringEL expression... 다만, 값이 null 이라도 에러가 발생하지 않음. Controller 의 자바빈즈 파라미터에 ObjectA objA 가 사용되었다면, Controller 안에선 'objA' 로 사용되고.. View 에선 'objA' 가 아니라 'objectA ' 형태로, 클래스명의 첫번째 문자를 소문자로 바꾸어 사용. Controller 의 자바빈즈..
스프링 build.gradle 수정후 반드시 실행 build.gradle 파일 수정 후 반영하기 위해서는, 'Refresh Gradle Project' 실행해야 함. build.gradle 파일을 마우스 오른쪽 버튼으로 클릭, 팝업 메뉴에서 Gradle, Refresh Gradle Project 등을 차례로 클릭. plugins { id 'org.springframework.boot' version '2.6.12' id 'io.spring.dependency-management' version '1.0.14.RELEASE' id 'java' } group = '패키지명' version = '0.0.1-SNAPSHOT' sourceCompatibility = '1.8' configurations { compileOnly { extendsFrom annot..
스프링 Controller Step 2, request 파라미터 수용(매핑시) (웹브라우저 주소창에 입력 및 실행되면) 웹서버 URL 호출시의 파라미터를 전달받는 것. 클릭 @GetMapping("/aaa/{var}") public String methodA(String var){ ... } - 하나의 변수로 인정 - methodA 에서 int var 하였으면, 수치로 인식. 수치가 입력되지 않으면 에러 클릭 @GetMapping("/aaa/{var1}/{var2}") public String methodA( @PathVariable String var1, @PathVariable String var2 ){ ... } - 변수 여럿이면 파라미터도 여럿 - @GetMapping 에 기술된 var1 과 var2 의 순서와 다르게 methodA 에 String var2, String v..
스프링 Controller Step 3, response 할당(View, RESTful) (웹브라우저 주소창에 입력 및 실행되면) 결과를 웹브라우저에게 반환하는 것. Controller .java 경로는 /src/main/java/도메인경로/controller/ 로 가정 View .html 경로는 /src/main/resources/templates/ 로 가정 크게 3가지인데, A. 뷰 파일 호출 (1번과 2번) B. 화면 전환 (2번에서 redirect) C. JSON 객체 반환 (나머지 3~11번) 1. void 호출된 URL 과 동일한 뷰 파일 호출. 2. String 호출된 URL 을 처리한 Controller 에서 리턴한 뷰 파일 호출 3. JavaBeans Class 파일 대신에 Controller 에서 생성한 JSON 객체 반환 RESTful 에서 사용 ($.ajax 등등) 해당..
스프링 Controller Step 1, request 할당 (Annotation Mapping) (웹브라우저 주소창에 입력 및 실행되면) 이를 처리할 서버측 .java 와 method 를 할당하는 것. 크게 3가지인데, A. RequestMapping 이 기본 B. RequestMapping 간소화 C. Annotation 파라미터 1. 요청 경로 매핑, RequestMapping 메소드가 void 리턴이면 @RequestMapping path 값과 동일한 view 파일 호출, 메소드가 String 리턴이면 String 값과 동일한 view 파일 호출. 매핑 관련해서는 RequestMapping 이 기본이고, 다른 매핑은 이를 간소화. 2. 경로 패턴 매핑 RequestMapping 시 파라미터 1개? URL 경로 상의 변하는 값을 경로 변수로 취급. 3. Http 메서드 매핑 @GetMapping..
스프링 Lombok Annotations, @Getter @Setter @ToString Lombok(롬복) 의 Annotation 들은 모두 class 에 설정하고, @Builder 의 경우 파라미터가 있는 생성자 메소드에도 설정 가능. @Getter @Setter @ToString @EqualsAndHashCode - (of="...") 해당 Entity 하나를 기준으로 HashCode 메서드 추가 - (of={"...","...",...}) 해당 Entity 여럿을 기준으로 HashCode 메서드 추가 @NoArgsConstructor - 파라미터(인자) 없는 생성자 메서드 추가, 기본 생성자 @RequiredArgsConstructor - @NonNull 또는 final 등을 설정한 Entity 정의된 순서 대로 파라미터로 구성된 생성자 메서드 추가 @AllArgsConstructor..
스프링 Annotation 속성 설정 @EqualsAndHashCode(of="...") 와 같이 하나의 값을 세팅할 때는 저렇게 하고.. 여러개라면... (of={"...","...","...",...}) 와 같이 설정. (exclude="...") 제외.