뉴렉처 Spring 26강

 

Spring MVC의 두 가지 버전 

 

Tomcat

Tomcat Configuration 

-web.xml

  -Spring Dispatcher (web.xml에서 Spring을 사용하여 라이브러리를 Spring에 설정)

   컨트롤러의 공통분모를 모아놓는 프론트 컨트롤러를 만들게됨

-Servlet

-Service

-Security

-Mybatis

-Titles

-...

 

Spring Web

Spring Configuration (톰캣에서 넘어온것을 Spring이 관리)

(XML , Annotaion , Java)

-Servlet

-Service

-Security

-Mybatis

-Titles

-...

 

Spring Boot

Starter Configuration

application.properties

OR

YAML

 

개발자마다 Spring 설정하는 방법(Xml,Annotaion,Java)이 다르다 -> Spring Boot를 사용해서 복잡한 설정을 피함

설정하는 방법은 전부 다 알고는 있어야 한다. (어떠한 설정을 만나더라도 기본적으로 Spring 설정을 할수있도록)


Spring MVC

Spring으로 실질적인 웹개발

 

MVC model2방식의 변화 : Dispatcher를 집중화 한 후의 모델

Controller과 Dispatcher(프론트 컨트롤러)를 분리

 

Controller POJO(Planin Old Jave Object) 일반적인 java클래스

Dispatcher : 사용자가 요청한 값을 Controller에 전달 , 반환값을 받아서 View에 전달

톰캣은 모든것들을 Dispatcher로 보내고 Dispatcher는 모든 URL을 다받는다.

디스패처 서블릿에서는 매핑정보를 *-servlet.xml에 작성하게된다.

 

*결합력을 낮추기 위함(다른 환경에서도 사용할수있도록)

 

Spring은 Dispatcher를 관리해준다

( MVC를 지원하기위한 Spring 라이브러리  : DispatcherServlet.class) 


 

실습 환경준비하기

 

톰캣(boot사용시 내장톰캣이 있어서 따로설치할 필요가없다) , JDK , Spring에서 제공하는 개발환경

 

Spring 개발환경 받기(IDE)

 

spring.io 접속( 스프링 프레임워크를 제공하는사이트 )

 

이클립스 기반으로한 Spring Tools를 다운로드 받아준다.

받은파일은 확장자가 .jar로 되어있기때문에 .zip으로 바꾸어준뒤 zip파일을 들어가보면 content.zip 파일이 보인다.

contents.zip파일을 복사해서 가져온뒤 안의 내용을 보면 폴더가 하나있는것을 볼수있다.

 

이 폴더를 복사한뒤 자주쓰는 Tools폴더에 넣어준다.

SpringToolSuite4.exe 을 실행하면 된다.


빈 프로젝트 생성하기

 

빈프로젝트 : 스프링을 배제한 메이븐 기반의 웹프로젝트 (Spring을 아직 얹지않음)

 

기본 웹프로젝트 생성방법

 

기본적으로 Perspective가 Java 로 되있는데 Java EE로 바꿔주고 웹프로젝트를 생성해준다.

Perspective에 Java EE가 보이지않는다면 Help -> InstallNewSoftware -> WorkWith 위치에 
download.eclipse.org/releases/2020-12 입력후 검색 -> web,xml,java ee and OSGI Enterprise Develoment 설치
(Perspective JavaEE가 Tools 최신버전에는 빠져있는것을 확인)

 

 

Perspective를 Java EE로 바꾸어주었다면 Maven Project를 생성해준다.

비어있는 아키타입의 심플프로젝트 선택

패키지 내용은 jar가아닌 war로 바꾸어주고 GropId와 ArtifactId 설정후 Finish

 

기본적은 Maven Project의 구조

 

pom.xml이 에러가 나는이유는 web.xml이 없기때문

web.xml은 tomcat 디렉토리에 있다.

 

web.xml은 소스의 main 안의 webapp안에 WEB-INF폴더를 만들어 그 안에 넣어준다. (WEB-INF를 통째로 가져와도됨)

 

그 후 pom.xml 에서 jdk 버전을 1.8로 바꾸어준다.

 

pom.xml -> Overview 탭 Properties -> Create

 

 

property를 add해주면 pom.xml에 자동으로 입력이 된다. (직접 pom.xml에서 작성 할수도있다)

 

그후에 프로젝트(우클릭) -> Maven -> Update Project를 해주면 JDK버전이 바뀐것을 확인 할수있다.

 

 

간단한 jsp 파일을 추가하기전에 Window -> Preferences -> Web 에서
jsp , html , css 기본인코딩을 UTF-8로 변경해준다.

프로젝트 우클릭 -> Preferneces -> Resource -> UTF-8 변경
프로젝트 속성 또한 Resource를 UTF-8로 변경해준다.

 

 

간단한 JSP 파일을 추가해본다. (JSP파일을 실행하기위해서는 JSP와 관련된 라이브러리가 필요하다)

 

톰캣라이브러리 추가

Maven 프로젝트이기때문에 pom.xml에 가서 추가하도록한다. 

Dependencies 로 가서 리빌딩된 인덱스를통해 검색후 추가해도되고 

메이븐 저장소에서 maven tomcat api 검색후 코드를 복사해서 추가해도된다.

 

JSP 실행후 실행환경으로써의 톰캣설정을 아파치 9.0 톰캣버전(다운로드받은)으로 설정해주면

잘 실행되는것을 볼수있다.

Spring Dispatcher를 Front 컨트롤러로 설정하기

 

기본적인 웹프로젝트에 Spring을 얹는 과정

스프링이 제공해주는 Front Controller 역할과 사용법

 

 

Dependencies 로 가서 리빌딩된 인덱스를 통해 검색후 추가해도되고

메이븐 저장소에서 spring framework 검색후 Spring wep MVC 최신버전 코드를 복사해서 추가해도된다.

(wep MVC는 wep이 필요하기때문에 메이븐이 wep까지 받아준다)

코드를 추가하고 저장하게되면 Progress에서 무언가 다운받아지는것을 볼수있다.

Maven Dependencies를 보면 spring web mvc 라이브러리와 spring web 라이브러리 또한 받아진것을 확인할수있다.

*메이븐이 없을시 관련성있는 라이브러리를 찾는데 오랜시간이걸린다

 (메이븐덕분에 관련된 라이브러리가 자동으로 다운된다)

 

 

다운받은 DispatherServlet을 우클릭 하고 Copy Qualified Name으로 패키지명과 클래스명을 한번에 받아온다.

(프론트 컨트롤러를 위한 서블릿클래스)

 

 

뉴렉처 spring 30강 완

'Step by Step' 카테고리의 다른 글

Spring 공부 2021-03-22  (0) 2021.03.22
Spring 공부 2021-03-21  (0) 2021.03.21
Spring 공부 2021-03-17  (0) 2021.03.17
Spring 공부 2021-03-16  (0) 2021.03.16
Spring 공부 2021-03-14  (0) 2021.03.14

+ Recent posts