본문 바로가기

Spring7

스프링 MVC 흐름 스프링 MVC 프로젝트 흐름 정리 DispatcherServlet web.xml에 정의되어 있으며, sevlet-context.xml 설정 파일을 읽어 구동한다. Front Controller라고도 한다. 클라이언트의 모든 Request를 받아 제어한다. Controller에 요청을 전달하고 결과값을 View에 전달한다. HandlerMapping 요청 URL에 매핑되는 Controller를 찾아 DispatcherServlet에 반환한다. HandlerAdapter HandlerMapping을 통해 받은 Controller에 맞는 메서드를 탐색한다. Controller 클라이언트의 요청을 처리한 후, 비지니스 로직과 서비스를 처리하여 View에 전달할 객체를 Model에 저장한다. View Name C.. 2022. 2. 1.
DI(의존성 주입) 딱 한번만 메모리에 뜨게 되고, 매번 new하지 않고 같은 객체로 관리할 수 있다.(싱글톤 방식) 클래스의 메소드에서 스프링이 관리하는 같은 오브젝트를 가져와서 사용할 수 있다. -> 하나의 오브젝트를 필요한 곳에서 공유하면서 사용할 수 있다. 이를 DI(Dependency Injection)(의존성 주입)라고 한다. DI를 하기 위해서는 객체를 Bean등록이 되어 있어야 한다. 객체를 보낼놈, 받을놈 전부다 등록이 되야한다. IoC 컨테이너 설정 Bean Factory라고도 한다. IoC컨테이너가 관리하는 객체를 bean이라고 한다. bean 등록은 xml / 어노테이션을 통해서 가능하다. 1. XML 파일 등록 xml파일을 이용하여 설정하게 된다면 코드와 의존성을 주입하는 부분을 분리할 수 있다. 따.. 2022. 2. 1.
스프링의 작동원리(서블릿 컨테이너) 서블릿 컨테이너 스프링은 URI요청을 받기 때문에 서블릿 컨테이너가 동작할 수 밖에 없는 구조이다. 그리고 최초 요청 시, 지정된 스레드 개수만큼 계속해서 객체가 생성된다. 그리고 그 이후부터는 객체가 생성되지 않고 기존 만들어진 객체를 재사용하게 된다. 그러면서 최종적으로 만들어지는 것이 request객체와 response객체다. 이 객체는 스프링이 아니라 톰켓이 만들고 들고 있는 객체이다. 스프링에서 아파치가 아닌 톰켓이 작동하는 이유 URL(L은 location): 자원 접근할 때 사용하는 주소 요청 방식 ex) http://naver.com/a.png URI(I는 identifier): 식별자를 통해서 접근하는 방식 ex) http://naver.com/picture/a URL 접근방식을 스프링은.. 2022. 1. 31.
Spring의 작동 원리 ( web.xml) web.xml 관문 같은 것 ServletContext의 초기 파라미터 Session의 유효시간 설정 Servlet/JSP에 대한 정의 Servlet/JSP 매핑 Mime Type 매핑 Welcome File list Error Pages 처리 리스너/필터 설정 보안 ServletContext의 초기 파라미터 A가 들어올 때, 문지기는 A에게 암구호를 알려준다. A가 성 안에서 돌아다니다가 경비가 암구호를 물었을 때, 대답할 수 있다. 하지만 입구를 거치지 않고 성에 들어온다면 암구호를 모르기 때문에 검문에서 대답할 수 없게되어 추방된다. Session의 유효시간 설정 예를들어 session을 3일로 설정했다. 그러면 A는 성 안에서 3일 동안 머무를 수 있고, 그 이후에는 추방당한다. 만약 더 있고 싶.. 2022. 1. 17.