본문 바로가기

개발

[스프링] 프로젝트 생성 및 기본 설정

스프링을 사용하기 위해서 sts3 툴을 다운받아서 사용했습니다.
이클립스의 marketplace에서 지원되는 sts3는 2019년인가부터 지원이 되지 않는다고 하여 
요새는 sts3를 사용한다고합니다.





https://docs.spring.io/sts/nan/v3914/NewAndNoteworthy.html
sts3 는 해당 경로에서 다운받아서 사용합니다.

 


jdk는 11버전을 사용

jdk 다운로드 방법

 

Oracle.com -> 상단 제품 -> 하단 Java -> 하단 Java 제품 및 기술에서 Java SE -> Oracle JDK -> 하단에 Java 11 -> Windows x86 다운로드

 

 

 

apache tomcat v9.0을 사용

tomcat 다운로드 방법

구글에 아파치 톰캣 검색 후 나오는 첫 번째 사이트에서 아래의 Download 클릭하여 접속

 

 

좌측의 Tomcat 9를 클릭
우측의 Core부분에서 64-bit windows zip 선택하여 다운로드 진행
 
 


모두 설치 후 적용한 다음 sts3를 실행하면 다음과 같은 화면이 보여집니다.
Ctrl + n 을 누르면 Select a wizard 가 표시됩니다.
 

 

 

그 다음 le를 검색하여 Spring Legacy Project를 선택 후 Next를 클릭
 
 
 

 

 

 

 

프로젝트 명을 입력
Templates에 있는 Spring MVC Project를 선택 후 Next 클릭

 


처음 프로젝트를 생성하면 Spring MVC Project가 보이지 않을 것이다.

 

에러인지는 모르겠지만 xml 파일 및 다른 파일 몇 개를 일정 경로에 넣어주어야 제대로 동작된다.

 

https-content.xml
0.02MB

 

sts3를 끄고 해당 파일을 아래 경로에 저장한다. (tomcat이 연동되어 있어야 해당 경로가 보일 것이다.)

 

본인 workspace\.metadata\.plugins\org.springsource.ide.eclipse.commons.content.core

 

경로에 들어가 보면 아무런 파일도 없을 것이다. 해당 파일을 넣은 후 sts3를 켠다.

 

다시 한번 프로젝트를 생성하는 과정을 진행하면 Spring MVC Project가 보여질 것이다.

 

Next를 누르면 다시한번 에러가 발생할 텐데 그때 다시 sts3를 닫고 다음 파일을 아래 경로에 저장한다.

template.xml
0.00MB
template.zip
0.01MB
wizard.json
0.00MB

 

본인 workspace\.metadata\.sts\content\org.springframework.templates.mvc-3.2.2

 

다음 경로로 이동하여 해당 파일 3개를 저장한다.

 

이후 sts3를 다시 실행하고 다음 과정으로 넘어간다.

 

두 경로에 한 번에  파일을 넣지 않는 이유는

MVC프로젝트를 한 번이라도 생성하기 위한 시도를 해야 해당 두 번째 경로에 폴더가 생성이 된다.


 

 

다음 페이지에서는 프로젝트의 패키지 명을 입력합니다.

입력할 때는 나와있는 설명처럼 com.mycompany.myapp 같은 형태로 입력해야 합니다.

저는 com.practice.root 로 진행합니다.

입력 후 Finish 누르면 프로젝트 생성 완료



 

 

 

 

 

처음 생성하게 되면 프로젝트에 x표시가 되어있습니다.

해당 에러를 없애기 위해서는 pom.xml에서 버전 설정 및 업데이트를 진행해야 합니다.

 

 

 

 

11번째 줄 <java-version> 1.6 -> 1.8로 버전 수정

12번째 줄 <org.springframework-version> 3.1.1 -> 5.2.1 로 버전 수정

 

 

 




96번째 줄 <artifactId> servlet-api -> javax.servlet-api로 수정

97번째 줄 <version> 2.5 -> 3.1.0 으로 수정



 

 

139번째 줄 <version> 2.5.1 -> 3.5.1 로 수정

141,142번째 줄 <source> 및 <target> 1.6 -> 1.8 로 변경

 

 

 

 

변경 후 저장

 

프로젝트를 클릭하고 Alt + F5 를 클릭하면 메이븐 업데이트를 진행할 수 있다.

업데이트 전 JRE System Library 의 버전은 1.6버전



 

 

아래와 같은 창이 뜨면 업데이트 진행할 프로젝트를 선택 후 OK클릭



 

 

 

업데이트를 진행하면 JRE System Library 의 버전이 1.8로 변경되고

src폴더의 에러도 사라지는 것을 확인할 수 있다.

 
 
 



다시 프로젝트를 클릭하고 Ctrl + F11 을 입력하면

아래와 같이 프로젝트 실행방식을 선택할 수 있다.

Run on Server 선택 후 Ok



 

 

 

다음으로 진행이 되면 Server에 Tomcat v9.0을 선택하고 
아래 체크박스를 체크한 다음 Finish 를 클릭


 
 



실행 후 웹 브라우저가 띄워지고 아래와 같은 기본 페이지가 출력이 된다.


 

보이는 것처럼 인코딩 방식이 맞지 않아서 글자가 깨지는 현상이 발생한다.


글자를 정상적으로 출력하기 위해서는 페이지 인코딩 방식을 따로 설정을 해주어야 하는데 

 

해당 설정은 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>

 

 

위 내용을 web.xml 파일의 servlet-mapping 이 끝나는 다음줄에 삽입한다.

 

해당 코드를 넣음으로써 web에서 표시되는 인코딩 방식을 UTF-8로 지정할 수 있다.

 

 

 

다시 한번 프로젝트를 클릭 후 Ctrl + F11을 클릭하여 Run on Server를 동작시키면

이전과는 다르게 정상적으로 한글이 출력되는 것을 확인할 수 있다.

 

 

또한 웹에서 작성하는 내용들이 서버로 전달될때 문자가 깨져서 오는것을 변경해야합니다.

 

jsp페이지나 html css등 기본적인 인코딩 방식을 변경합니다.

 

window - preferences - web 에서 css, html, jsp 를 클릭하시면 각각 인코딩방식을 변경할 수 있습니다.

 

인코딩 방식을 UTF-8로 변경해줍니다. (css,html,jsp모두)

 

 

좌측에 encoding이라고 검색하면 나오는 리스트를 확인하면 됩니다.

 

content types 에서 "Java Class File"에  하단부분에 Default encoding과 "Text"의 default Encoding 부분을 UTF-8로 작성하신 후 업데이트를 눌러주시면 됩니다.

 

 

그리고 Workspace메뉴에서도 "Text file encoding" 부분을 other로 선택하시고 UTF-8로 지정하시면 됩니다.

 

그리고 jsp페이지를 하나 만들어보면 상단 옵션부분에 인코딩 방식이 UTF-8로 되어있는것을 확인할 수 있습니다.

 

 

 

 

항상 느끼는 거지만 스프링은 정말 실행시키기가 어렵다...

 

 

학원에서 설치했던 거 클라우드에 저장하고 노트북에 동기화해서 사용하려니까 

 

엄청난 에러가 발생해서 이 짓 저지스 다 해봤는데 안돼서 그냥 sts3를 다시 설치했다...

 

 

그래도 안되서 헤매긴 했지만 결국 sts.ini쪽 설정에 

-vm
D:\JAVA\Download\jdk-11.0.0.1\bin\javaw.exe

( jdk 설치 경로의 bin파일의 javaw.exe파일입니다. 본인 jdk설치 기준으로 수정하세요)

해당 내용을 넣으니까 잘 작동되었다..

 

jdk버전을 직접적으로 입력을 해준 듯하다.