본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring 프로젝트는 어떻게 작동할까?

mvc 패턴 구조를 공부하려고 구글에 검색하면 흔하게 나오지만 

실제 프로젝트 구조에서 어떻게 작동하는 지는 이해가 잘 안된다.

과연 어떻게 작동할까?

 

작동순서

1. 톰캣 구동

2. 프로젝트 진입

3. web.xml  실행

4. web.xml에서 servelt-context.xml 위치를 알고 실행한다.

5. servelt-context 객체 생성

6. servelt-context에 있는 component scan 을 확인하여 controller를 빈에 등록

7. /로 시작하는 url요청을받아 어떤 controller인지 servlet-context에서 처리
( url 패턴은 web.xml의 servlet-mapping 에 있다. )

8. controller에 들어가서 반환 값 확인

9. 어떤 view page 인지 servelt-context에 전달  

10. servlet-context는 view 이름에 prefix와 suffix를 붙여서 파일 실행

 

 

 

web.xml 

: 웹프로젝트 환경설정 파일

스프링 프로젝트가 시작되면 가장 먼저 실행되고 하나씩 읽는다.

[SPRING 시작-2] # web.xml 설정엔 무엇이 있을까? (Eclipse+Spring+Maven) (tistory.com)

 

[SPRING 시작-2] # web.xml 설정엔 무엇이 있을까? (Eclipse+Spring+Maven)

(1) STS 에서 기본적으로 제공해주는 설정 파일 외에, 사용자가 직접 컨트롤 하는 XML파일을 지정해주는 역할을 한다. 에서 설정되어있는 root-context.xml은 모든 서블릿과 필터에서 사용되는 루트 스

mkil.tistory.com

 

root-context.xml

: 스프링 환경설정 파일

주로 Service, Repository(DAO), DB등 비즈니스 로직과 관련된 설정

자세한 내용은 여기 

Spring> mybatis.xml 작성하는 방법 (tistory.com)

 

Spring> mybatis.xml 작성하는 방법

mybatis.xml 작성하는 방법 사실 나는 servlet-context.xml에다가 바로 datasource를 작성해서 sqlsession에 입력하는 방식을 사용했다. 하지만 입력하는 것을 파일로 나눠서 넣을 수 있다. db.properties : 유저..

seol2.tistory.com

아 이건 내 블로그 글임 ㅎㅎ

 

 

servelt-context.xml

: 스프링에 내장된 dispatcher servlet 환경설정

servlet context의 역할
spring에서는 DispatcherServlet이 모든 요청을 받고 요청 URL 과 맵핑하는 Controller에 위임

controller의 lifecycle 관리

클라이언트 요청을 처음받는 클래스

클라이언트 요청을 Handler(Controller)에 보낸다.

HandlerMapping : 어떤 url을 받을 지 결정

ViewResolver : prefix, suffix

 

 

 

 

 

 

 

 

 

https://namubada.net/216

 

[스프링 오류] 404오류는 web.xml 파일에 답이 있다.(하나씩 찾아보자)

공부하는 책의 테스트 코드를 실행하려고하였다. 코드를 하나씩 넣어서 하고있는 중 코드를 실행하였다. 톰캣 실행 후 실행하려고 하는 jsp 파일을 실행하였다. /WEB-INF/views/main.jsp 파일을 실행하

namubada.net

https://gmlwjd9405.github.io/2018/10/29/web-application-structure.html

 

https://doublesprogramming.tistory.com/84

 

Spring - home.jsp 구동과정, web.xml, servlet-context.xml

Spring - home.jsp 구동과정, web.xml, servlet-context.xml 스프링 프로젝트를 생성하고 바로 실행하면 브라우저에 home.jsp가 실행된다. 여기서 home.jsp가 구동되는 과정은 아래와 같다. 1. 클라이언트 요청(..

doublesprogramming.tistory.com

 

 

web.xml, root-context.xml, servlet-context.xml 내용 작성법

https://as-you-say.tistory.com/305

 

[Backend/Spring] 5. root-context/servlet-context/web 설정파일 작성하기

목차 1. 이클립스에 스프링 개발환경 설치 후, 프로젝트 생성하기 2. 톰캣 다운로드 후 이클립스에 불러오기 3. 이클립스에서 톰캣으로 프로젝트 실행시키기 4. 메이븐 패키지 설치 (pom.xml) 5. root-c

as-you-say.tistory.com

servlet-context.xml, root-context.xml, web.xml 차이점 알기! (tistory.com)

 

servlet-context.xml, root-context.xml, web.xml 차이점 알기!

servlet-context.xml, root-context.xml, web.xml에 대한 차이점에 대해 정리해봅니다. 우선, xml 파일은 모두 객체(Bean)를 정의합니다. 1. servlet-contex.xml servlet에서 보듯이 요청과 관련된 객체를 정의..

thiago6.tistory.com

todyDev :: 스프링(Spring) 설정 - 프로젝트 구조 변경 및 설정 (tistory.com)

 

스프링(Spring) 설정 - 프로젝트 구조 변경 및 설정

스프링 MVC 프로젝트를 생성한 기본 구조를 그대로 써도 상관없다. 다만 구조를 바꾼다면 web.xml의 경로만 잘 설정해주면 아무 문제없이 잘 돌아간다. 구성을 바꾸는 이유는 아직은 잘 모르겠다. 

to-dy.tistory.com