본문 바로가기

반응형
SMALL

🌈 백엔드/스프링 MVC

스프링_URL매핑 + URL패턴 + URL 인코딩 [1] URL매핑 (1) RequestMapping 정의 /register/add 로 경로가 똑같은데 메서드가 다르기 때문에 충돌이 일어나지 않는다 (2) GetMapping / PostMapping 정의 (3) 혼합 @RequestMapping 에는 공통 주소 경로 @PostMapping 또는 @GetMapping 에는 마지막 경로를 넣는다 [2] URL 맵핑 패턴 우선순위 종류 설명 URL 패턴 매칭되는 URL 1순위 exact mapping 정확하게 매칭 /login/hello.do http://localhost/ch2/login/hello.do 2순위 path mapping 경로가 비슷할때 매칭 /login/* http://localhost/ch2/login/ http://localhost/ch2.. 더보기
스프링_ WebDataBinder [1] WebDataBinder (1) WebDataBinder 역할 1. 타입변환 2. 데이터 검증 (2) 역할 진행 구조 브라우저에 요청값으로 입력된 year, month, day는 Model에 String 타입으로 저장되고 year,month,day 는 MyDate 클래스의 매개변수로 date로 통합 적용되어 int 타입으로 개별 저장되었다. Model과 MyDate의 값이 WebDataBinder를 거쳐 타입 변환 작업을 거치고 각각의 값이 문제가 없는지 데이터 검증이 끝난뒤 BindingResult에 저장된다 더보기
스프링_Model 속성 추가 @ModelAttribute [1] @ ModelAttribute (1) @ ModelAttribute 적용대상을 model의 속성으로 자동으로 추가해주는 애너테이션 반환 타입 또는 컨트롤러 메서드의 매개변수에 적용 가능 애너테이션을 사용하면 호출하거나 저장할 필요없이 자동으로 model map에 key, value 구조로 저장된다 (2) 매개변수 앞에 생성 애너테이션을 사용하면 자동으로 year, month, day가 포함된 MyDate를 key, value로 model에 자동으로 추가해주기 때문에 별도로 model 객체를 생성하여 추가하지 않아도된다 (3) @ModelAttribute 생략 컨트롤러 매개변수가 참조형일 경우 생략이 가능하다 더보기
스프링_테스트_로깅 Logging [1] 로깅 logging (1) logging 로깅 정의 프로그램 개발이나 운영시 발생하는 문제점을 추적하거나 운영 상태를 모니터링하기 위한 텍스트 (2) 로깅 라이브러리 @Log4j @slf4j (@Log4j2 , @logback ) (3) 로그레벨 큰 범위 TRACE 디버그 레벨이 광범위하여 제일 자세한 상세한 이벤트를 제공한다 ∨ ∨ DEBUG 개발시 디버그 용도로 사용하는 메세지를 제공한다 기본 INFO 상태변경같은 기본 정보성 메세지를 제공한다 ∨ ∨ WARN 프로그램 실행에는 문제가 없지만 시스템 에러 원이 될수 있는 정보성 메세지를 제공한다 ERROR 요청을 처리 중 프로그램 동작에 큰 문제가 발생하여 즉시 조사해야하는 상황이 발생한 경우 작은 범위 FATAL 아주 심각한 에러가 발생한 경.. 더보기
스프링_파라미터 값 가져오기 @RequestParam [1] @RequestParam (1) @RequestParam 정의 요청의 파라미터를 연결할 매개변수에 붙이는 애너테이션 컨트롤러에서 @RequestParam으로 파라미터 값을 넘겨받는다 HTTP요청 메세지의 파라미터 값을 편리하게 사용해주는 애너테이션이다 브라우저에 파라미터에 해당하는 매개변수의 값을 어떻게 넣었는가에 따라 결과값이 달라진다 (2) @RequestParam 생략 컨트롤러 매개변수가 String 기본형일경우 생략가능하다 (3) 파라미터 값 파악을 위해 jsp 파일 수정 year 라는 매개변수 값의 여부를 파악하기를 위해 yoil.jsp를 수정했다 [2] 애너테이션 미사용 (1) HttpServletRequest 응답 사용시 ① 파라미터 미입력 : null / ② 파라미터 입력 : 빈 문.. 더보기
스프링_MVC 패턴 원리 이해하기 [1] MVC 패턴 원리 (1) 컨트롤러 메서드가 별도로 있는 방법 Controller : modelController를 별도로 설정함 Model : map 으로 사용 View : txtView2.txt 를 사용 Map 생성 main이 map 주소를 가리킨다 컨트롤러를 통해 map에 값을 넣는다 컨트롤러가 map을 가리키고 viewname인 txtView2를 반환하라 한다 view를 읽어서 map에 있는 key , value를 맞춰 출력한다 txtView1.jsp txtView2.jsp 어떤 뷰 View를 선택하여 결과 형태를 다르게 출력할수 있다. (2) 정적 값 + Reflection API 이용한 방법 정적으로 입력된 값을 Reflection API를 이용해서 컨트롤러를 직접 생성하고 메서드 호출한.. 더보기
스프링_MVC 패턴 기본 구조 [1] MVC (1) MVC 기본 클라이언트의 요청에 따라 입력된 값을 Model , Controller , View 구조로 응답한다. 모델 Model 객체를 이용하여 데이터를 전달한다. 컨트롤러에 전달된 데이터를 이용해서 추가적인 데이터를 가져와야할때 모델을 사용한다 Controller 프로그램 처리 Model 모델 객체를 분리 View출력 , 분리된 코드로 인해 모델 객체를 가지고 출력 (2) MVC 패턴으로 만들기 1. 입력 입력을 매개변수로 값을 받아오는 것으로 수정하여 입력항목을 최소화한다 ↓ 2. 출력 출력 View 를 JSP 파일로 만든다 (정상view, 오류view) ch2 > src > main > webapp > WEB-INF > views 정상출력하는 yoil.jsp 파일 생성 JSP.. 더보기
스프링_web.xml 기능 역할 [2] web.xml (1) web.xml 역할 기능 이 파일은 ① root ApplicationContext 와 ② servlet ApplicationContext 을 만든다. (2) web.xml 기능 과정 web.xml 파일에 이벤트처리기 ContextLoaderListener를 이용하여 톰캣이 실행할때 설정내용인 contextConfigLocation 을 연결한 new XmlWebApplicationContext()를 ① Root ApplicationContext를 생성하고 DispatcherServlet 을 이용하여 초기화한 servlet-context.xml 설정을 가진 new XmlWebApplicationConext()를 ② Servlet ApplicationContext 생성한다 (3) .. 더보기

반응형
LIST