분류 전체보기
Spring MVC가 지원하는 메서드 Annotation
@RequestParam Mapping된 메소드의 Argument에 붙일 수 있는 Annotation. @RequestParam의 name에는 http parameter의 name과 매핑. @RequestParam의 required는 필수인지 아닌지 판단. @RequestHeader 요청 정보의 헤더 정보를 읽어들일 때 사용 @RequestHeader(name="헤더명") String 변수명 @PathVariable @RequestMapping의 path에 변수명을 입력받기 위한 place holder가 필요함 place holder의 이름과 PathVariable의 name값과 같으면 mapping됨. required 속성은 default true임. @RequestBody @RequestPart @M..
Spring MVC가 지원하는 Controller 인수 타입
javax.servlet.ServletRequest javax.servlet.http.HttpServletRequest org.sringframework.web.multipart.MultipartRequest org.springframework.web.multipart.MultipartHttpServletRequest javax.servlet.ServletResponse javax.seclet.http.HttpServletResponse javax.servlet.http.HttpSession org.springframework.web.context.request.WebRequest org.springframework.web.multipart.MultipartFile org.stpringframework...
Java 어노테이션
@Configuration : 스프링 설정 클래스를 선언하는 어노테이션 @Bean : bean을 정의하는 어노테이션 (라이브러리 혹은 내장 클래스 등 개발자가 직접 제어가 불가능한 클래스들을 Bean으로 등록하기 위해 사용) @ComponentScan : @Controller, @Service, @Repository, @Component 어노테이션이 붙은 클래스를 찾아 컨테이너에 등록하는 어노테이션 (basePackages를 지정하면 여러개의 package를 지정할 수 있다.) @Component : Component scan의 대상이 되는 어노테이션 중 하나로써 주로 유틸, 기타 지원 클래스에 붙이는 어노테이션 @Autowired : 주입 대상이 되는 bean을 컨테이너에서 찾아 주입하는 어노테이션 @..
DispatcherServlet
Spring MVC를 이해하는 것은 Dispatcher Servlet이 어떻게 동작하는지를 이해하는 것이다. Dispatcher Servlet이 요청을 받아서 결과를 출력하기까지 여러가지 Component들을 사용한다. Handler Mapping Handler Adapter MultipartResolver LocaleResolver ThemeResolver HandlerExceptionResolver RequestToViewNameTranslator ViewResolver FlashMapManager DispatcherServlet 프론트 컨트롤러(Front Controller) 클라이언트의 모든 요청을 받을 후 이를 처리할 핸들러에게 넘기고 핸들러가 처리한 결과를 받아 사용자에게 응답 결과를 보여준다..
Spring MVC 기본 동작 흐름
Spring MVC는 MVC Model2의 발전된 형태로 구성되어 있다. 구성요소 이름 설명 DispatcherServlet 클라이언트의 요청을 받아 컨트롤러에게 전달, 컨트롤러가 리턴한 결과값을 View에 전달하여 알맞은 응답을 생성하도록 한다. HandlerMapping 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정한다. HandlerAdapter DispatcherServlet의 처리 요청을 변환해서 컨트롤러에게 전달, 그 응답 결과를 DispatcherServlet이 요구하는 형식으로 변환한다. Controller 클라이언트의 요청을 처리한 뒤, 결과를 리턴한다. ModelAndView 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담는다. ViewResolver 컨트롤러의 ..
DataSource란?
1. DataSource란? connectionPool은 경우에 따라 여러개가 생성될 수 있으며, DataSource는 connectionPool을 관리하는 목적으로 사용되는 객체이다. DataSource를 이용해 커넥션을 얻어오고 반납하는 등의 작업을 수행한다. DataSource로 부터 얻은 connection의 close 메서드는 커넥션을 반납하는 작업을 수행한다.
Connection Pool이란?
1. connectionPool이란? DB연결은 비용이 많이 든다.(시간이나 자원을 많이 소비) 이를 해결하기 위해 connectionPool은 DBMS와 커넥션을 여러개 맺어두고, 커넥션이 필요하면 connectionPool에게 빌려서 사용한 후, 반납한다. 2. connectionPool에게 connection을 빌린 후, 반납하지 않으면 어떻게 되나? connectionPool에 사용 가능한 connection이 없어서 프로그램이 느려지거나 심할 경우에는 장애를 발생시킬 수 있다. 참조 URL https://www.edwith.org/boostcourse-web/lecture/20661/