Spring | 스프링 MVC 하루만에 배우기 1/n - 초기 설정

파과·2022년 8월 2일
1
post-thumbnail

링크 : https://wikidocs.net/book/5792

2. 필요 프로그램

  • JDK 1.8 설치
  • Eclipse STS3 플러그인 - 나는 STS3으로 따라함
  • MariaDB - 나는 Oracle로 따라함

다른 스프링책과 비교하기 위해 세팅 부분을 적어둔다.

3.1. 프로젝트 세팅

New - Spring Legacy Project - Spring MVC Project
프로젝트명 SampleSpringYse(이름)
패키지명 sample.spring.yse

패키지 작명

com.회사명.프로그램명
com.회사명.플랫폼명.프로그램명

Next, Yes, Finish 클릭

3.2. 프로젝트 자바 버전 1.8로 변경

프로젝트 우클릭 -> properties
-> java build path -> Libraries 탭 -> JRE System Library JavaSE-1.6 선택 -> edit
execution environment -> JavaSE-1.8 로 콤보박스 변경
environments ... 클릭 -> JavaSE-1.8 선택 -> jre1.8.0_202[perfect match] 선택 -> apply and close -> finish -> Apply and Close

3.3 메이븐 자바 버전 1.8로 변경

pom.xml

<java-version>1.8</java-version>

3.4. faceted project problem (java version Mismatch) 오류 해결

프로젝트 우클릭 -> properties
project Facets 메뉴 클릭
Java (Version 1.6) 우클릭 -> Change version
1.8로 변경

3.5. 메이븐 스프링 버전 최신 업데이트

  • 나는 최신이 아니라 5.2.22로 설정함 (3.6 오류 참고)

pom.xml

<org.springframework-version>5.2.5.RELEASE</org.springframework-version>

3.6 메이븐 빌드 실행

처음에는 버전을 5.3.22(최신버전)로 설정했다.
https://spring.io/projects/spring-framework

실행 오류

3.6 메이븐 빌드 실행에서 edit configuration Run 후

Failed to execute goal on project sw: Could not resolve dependencies for project sample.spring:sw:war:1.0.0-BUILD-SNAPSHOT: The following artifacts could not be resolved: org.springframework:spring-context:jar:5.3.2.RELEASE, org.springframework:spring-webmvc:jar:5.3.2.RELEASE: Failure to find org.springframework:spring-context:jar:5.3.2.RELEASE in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]

이런 오류가 콘솔에 찍혔다.
그리고 pom.xml에는 dependency에 Missing artifact org.springframework:spring-context:jar:5.3.22.RELEASE 이런 오류가 뜬다.
구글링해보니 org.springframework:spring-context:jar:5.3.22.RELEASE 이 버전이 Maven Repository에 존재하지 않아서 생기는 오류라고 하는데, https://mvnrepository.com/artifact/org.springframework/spring-context 이 링크에는 멀쩡히 있다.. 그래도 버전을 낮춰서 다시 Clean부터 실행해주니 Build Success 뜬다.
해결 방법 : 5.2.22로 변경해 실행함

아무튼 빌드 실행 과정

Project(메뉴명) - Clean

프로젝트 우클릭 - Run as - 6. maven clean

프로젝트 우클릭 - Run as - 4. maven build

처음으로 메이븐을 실행할 경우 edit configuration 팝업 메뉴가 나온다. Goals를 compile 로 입력한 후 Run을 클릭한다.

BUILD SUCCESS 나오면 성공!

3.7. Tomcat 설정

3.7.1. 설치 후

Servers 탭에서 No servers are available .. 메세지를 클릭한다.

apache -> tomcat v8.5 클릭 후 NEXT 버튼을 클릭한다.

browse 버튼을 클릭 후 톰캣이 설치된 디렉토리를 선택하고 next 버튼을 누른다.

적용할 프로젝트 선택하는 화면이 나온다. available 탭의 프로젝트명을 선택한다.

add 버튼 클릭해서 configured 로 이동하고 finish 를 클릭해 톰캣 설정을 마무리한다.

3.7.2. 실행환경 설정

  1. Overview 탭
    timouts 클릭
    Start : 120

  2. 웹 경로 설정

    Modules 탭에서 /yse 항목을 선택하고 Edit 버튼을 누른다. (없으면 Add)
    Path 항목을 /yse 에서 / 로 변경한다.
    Ctrl + S키를 눌러서 저장하면 된다.

3.8. 인코딩 필터 추가

src > main > webapp > WEB-INF > web.xml

<filter>
    <filter-name>encodingFilter</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
    <init-param>
        <param-name>forceEncoding</param-name>
        <param-value>true</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>encodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

3.9. 로그

src/main/resources/log4j.xml

<!-- Root Logger -->
<root>
    <priority value="debug" />
    <appender-ref ref="console" />
</root>

3.10. 쓰지 않는 컨트롤러, 뷰 삭제

src/main/java/sample/spring/yse/HomeController.java 삭제

src/main/webapp/WEB-INF/views/home.jsp 삭제

0개의 댓글