링크 : https://wikidocs.net/book/5792
다른 스프링책과 비교하기 위해 세팅 부분을 적어둔다.
New - Spring Legacy Project - Spring MVC Project
프로젝트명 SampleSpringYse(이름)
패키지명 sample.spring.yse
패키지 작명
com.회사명.프로그램명
com.회사명.플랫폼명.프로그램명
Next, Yes, Finish 클릭
프로젝트 우클릭 -> 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
pom.xml
<java-version>1.8</java-version>
프로젝트 우클릭 -> properties
project Facets 메뉴 클릭
Java (Version 1.6) 우클릭 -> Change version
1.8로 변경
pom.xml
<org.springframework-version>5.2.5.RELEASE</org.springframework-version>
처음에는 버전을 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 나오면 성공!
Servers 탭에서 No servers are available .. 메세지를 클릭한다.
apache -> tomcat v8.5 클릭 후 NEXT 버튼을 클릭한다.
browse 버튼을 클릭 후 톰캣이 설치된 디렉토리를 선택하고 next 버튼을 누른다.
적용할 프로젝트 선택하는 화면이 나온다. available 탭의 프로젝트명을 선택한다.
add 버튼 클릭해서 configured 로 이동하고 finish 를 클릭해 톰캣 설정을 마무리한다.
Overview 탭
timouts 클릭
Start : 120
웹 경로 설정
Modules 탭에서 /yse 항목을 선택하고 Edit 버튼을 누른다. (없으면 Add)
Path 항목을 /yse 에서 / 로 변경한다.
Ctrl + S키를 눌러서 저장하면 된다.
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>
src/main/resources/log4j.xml
<!-- Root Logger -->
<root>
<priority value="debug" />
<appender-ref ref="console" />
</root>
src/main/java/sample/spring/yse/HomeController.java 삭제
src/main/webapp/WEB-INF/views/home.jsp 삭제