본문 바로가기
spring

스프링 동작 순서

by 신방동불주먹 2022. 12. 19.

 

<실행 순서> 위치 중요 

 


1. URL요청

http://localhost:8080/controller 


2. DispatcherServlet (front controller 역할수행 (spring framwork에서 제공). web.xml)
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

3. HomeController.java 요청을 view로 전달해서 브라우저 화면에 띄워주는 역할


@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
....
...
retrun "home";  //뷰의이름 home.jsp

}

4. home.jsp (webapp-web-inf-views)

5. servlet-context.xml (webapp-web-inf-spring-appServlet)

-> 뷰(home.jsp)를 찾아가는 정보 

<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>

<context:component-scan base-package="com.zerock.controller" />

"/WEB-INF/views/" / 여기에  value=".jsp" />jsp 붙혀서 retrun "home"; 이 home.jsp를 찾아주세요

 

-----------------------------------

 

 

web.xml

8080 url 뒤로 들어오는 모든 url 요청은 다 web.xml의 servlet-mapping 이 받는다.

 

 

homecotroller 처리부분

@RequestMapping(value = "/", method = RequestMethod.GET)

public String home(Locale locale, Model model) {

...

retrun "home";  //뷰의이름 home.jsp

 

루트로 들어오는 get방식의 요청은 home이 받아서 처리

루트는 tomcat module의  /controller 까지가 루트 

 

 

 

 

1. 프레임워크 실행 후 스프링이 사용하는 메모리 영역 생성 - context(컨텍스트)

ApplicationContex라는 이름의 객체 생성

 

2. 스프링 자신이 객체를 생성, 관리해야하는 객체들에 대한 설정 - root-context.xml

 

3. src /root-context.xml 에 설정되어있는 <context:component-scan> 태그의 내용을 통해 'org.zerock.sample' 페이지를 스캔

 

4. 해당 클래스중 @component존재 하는 클래스의 인스턴스 생성

 

5. 즉 restaurant에는 chef객체 필요하다는 @autowired 설정이 있으므로 스프링은 chef객체의 레퍼런스를 restaurant 객체에 주입

 

 

-------------------------

 

 

 

'spring' 카테고리의 다른 글

의존성 주입 (Dependency Injection), 어노테이션  (0) 2022.12.19
파일 역할 정의  (0) 2022.12.19
뭔지 몰라  (0) 2022.12.19
라이브러리 빌드방식 (프로젝트 필수 설정 2)  (0) 2022.12.19
기본 개념  (0) 2022.12.19