Spring - 13. MVC 프로젝트

Spring MVC

Spring framework 에서는 클라이언트의 화면을 표현하기 위한 View와 서비스를 수행하기 위한 개발 로직을 나누는 MVC2 패턴을 지원한다.

또한 Model, View, Controller 사이의 의존 관계를 DI 컨테이너에서 관리하여 유연한 웹 애플리케이션을 쉽게 구현 및 개발할 수 있다.

 

Spring MVC 프로젝트 생성

개발환경 : STS3

JDK : 1.8

 

1. 오른쪽클릭후 new - Spring Legacy Project

*맨위에 Spring Stater Project는 boot 프로젝트 입니다.

 

2. 프로젝트 이름설정후, Spring MVC Project 템플릿 클릭후 NEXT

* 처음 생성하시면 아마 무슨 경고창이 뜨실텐데 그냥 yes 누르시면됩니다.

 

3. 프로젝트 경로 설정하는부분인데

3단계로 설정해야 finish 가능합니다

마지막부분이 프로젝트 최상단 context-path 입니다.

 

4. 프로젝트 생성후 아래의 Progress 게이지가 게속 움질일텐데 필요한 라이브러리 다운로드 중이니 끝날때까지 기다려주세요

 

만약 다운로드 다받았는데 오류가 발생했을시 라이브러리가 제대로 다운로드 안된부분이니

update로 하시면 다시받아집니다.

 

그후에 pom.xml 수정합니다.

여기는 따로다루지않고

전에설정했던 링크 대체합니다.

https://memory-develo.tistory.com/142

 

Spring - 12. pom.xml 기본설정

안녕하세요. 스프링 개발진행시 수정하는게 번거로워서 기본적으로 설정해야할 pom.xml을 저장해둘려고 올려둔게시물입니다! 제가 개발에 사용한 버전은 jdk : 1.8 springFramwWork : 5.2.9 aspectj : 1.9.6 slf

memory-develo.tistory.com

 

이러면 프로젝트가 성공적으로 추가되었습니다.

 

 

Spring 프로젝트 폴더 구조

src : controller, servier, vo, dao 같은 class 파일저장하는 부분입니다.

target : java파일 작성흐 class파일이 컴파일이 저장되는 위치입니다.

pom.xml : maven 설정 파일입니다.

 

 

java : .java파일이 저장되는 위치

resources : 프로젝트 설정에 필요한 xml 등의 설정파일들

 

 

resources : 웹 상에서 사용될 CSS, JS 파일 등

classes : src에 작성한 .java 파일을 컴파일 하여 만들어진 .class 파일

spring : spring의 설정 xml 문서들

views : HTML, JSP 등 사용자 화면에 보여질 웹문서

web.xml : 웹 서버에서 사용할 기본 설정을 기록

 

Spring MVC 요청 처리 과정

1. request 요청

2. 클라이언트의 요청 URL을 어떤 컨트롤러가 처리할지 결정

3. 클라이언트의 요청을 처리한 뒤 결과를 DIspatcherServlet에게 리턴

4.클라이언트의 요청 전달 받고 요청에 맞는 컨트롤러가 리턴한 결과 값을 view에 전달하여 알맞은 응답 을 생성

5. 컨트롤러가 처리한 결과 정보 및 뷰 선택에 필요한 정보를 담음

6. 컨트롤러의 처리 결과를 생성할 View를 결정

7. 컨트롤러의 처리 결과 화면을 생성, JSP로 View로 사용

 

Spring MVC 서버 실행 후 요청

로 요청을하면 

아래와 같은 화면이 표시된다.

 

한글이 안나오는 이유는 JSP파일에 ENCODING 설정하지않아서 그런다.

 

home.jsp

pageEncoding 설정

 

 

 

'프로그래밍 > Spring' 카테고리의 다른 글

Spring - 14. MVC mapping  (0) 2021.10.27
Spring - 14. Web MVC Project 기본설정(어노테이션 버전)  (0) 2021.10.27
Spring - 12. pom.xml 기본설정  (0) 2021.10.26
Spring - 12. MAVEN  (0) 2021.10.26
Spring - 11. Transactions AOP  (0) 2021.10.26
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유