Spring 기초(41)
-
DataBinder(아주 간략)
브라우저를 통해 요청받은 값이, 실제 객체에 바인딩 될 때, DataBinder가 중간 역할을 해준다. 1. 타입 변환 --> 2. 데이터 검증을 한 뒤 BindingResult를 Controller에 전달하는 방식이다. 역할을 살펴보기 위해 public static String main(MyDate date, BindingResult result) throws Exception{ //이처럼 key 값을 생략할 경우 타입(MyDate)의 첫 글자를 소문자로 한 값이 key로 자동 저장된다. System.out.println("result="+result); ... ... } 코드를 위와 같이 작성하였다. 이후 url로 쿼리스트링을 전달할 때, day에 숫자가 아닌 'ㅁㅁ'을 입력하였다. 그러나,, for..
2022.02.06 -
@ModelAttribute, @RequestParam
@ModelAttribute는 적용 대상을 Model의 속성으로 자동 추가해주는 애너테이션이다. 매서드의 1) 매개변수와 2) 반환타입 또는 컨트롤러에 적용 가능하다 public static String main(@ModelAttribute("myDate") MyDate date, Model model){ ... } 먼저 매개변수에 적용한 경우이다. 이 경우 MyDate date 는 Model m에 key-Value 값으로 자동 추가된다. 따라서 메서드 내에서 m.addAttribute("myDate", date); 처럼 모델에 따로 저장할 필요 없다. ("myDate")는 key 값으로 전달해 주는 것인데, 생략이 가능하다. 생략할 경우 매개변수의 타입 첫 글자가 소문자로 변환되어 전달된다(MyDate..
2022.02.06 -
WAS(Web Application Server)와 Tomcat
WAS란 웹 애플리케이션 서버로, 애플리케이션은 프로그램을 의미한다. 뭔 소리냐면, 서버에 프로그램을 설치해 놓고 클라이언트가 이 프로그램을 사용하는 방식이다. 즉슨 클라이언트가 프로그램을 일일이 다운로드 할 필요가 없다는 말이다. 이전에는 서로 업데이트 버전이 다른 문제가 발생했으나 이제는 WAS에서만 업데이트 해주면 된다. Tomcat은 WAS로, 클라이언트의 요청이 있을때 내부 프로그램의 실행 결과를 클라이언트에게 전달해준다. 브라우저의 URL로 클라이언트가 요청을 보내면, Tomcat은 HttpServletRequest 객체를 생성하여 요청을 그 안에 담는다. 이후 main 메서드의 매개변수로 전달한다. public void main(HttpServletRequest request)
2022.02.05 -
HTTP 요청과 응답 GET/POST
AWS에 가입한 뒤 원격 프로그램 실행에 성공하였다(바로 어제) 프로토콜에 대해 공부하였는데, 프로토콜이란? 서로 간 통신을 위한 약속 규칙을 말한다. 주고 받을 데이터에 대한 형식을 정의한 것(마치 투수와 포수 사이의 signal) HTTP 프로토콜은 1) 단순하고 읽기 쉽다(텍스트 기반) 2) 상태를 유지하지 않는다(클라이언트를 저장하지 않음) 3) 커스텀 헤더를 추가할 수 있어 확장이 가능하다 는 특징이 있다 같은 클라이언트가 재요청을 보내도 서버는 같은 클라이언트임을 구분할 수 없다. 이를 보완하기 위해 쿠키와 세션을 이용한다. 클라이언트가 브라우저의 URL로 응답 요청을 보내면, 브라우저는 header를 생성하여 서버에 전송한다. 서버는 이에대한 응답으로 응답header와 body(HTML)을 ..
2022.02.05 -
Spring 공부 2일차
작년 가을에 JAVA를 맛보기 느낌으로 공부를 시작했으나 웹 프론트(CSS, JS ES6, Jquery, React)를 공부하다보니.. JAVA 문법도 까먹고 해서 미루다가 드디어 시작했다. 포포열차 출발
2022.02.04