본문 바로가기
개발/Spring 블로그 만들기

Spring 블로그 만들기 - 1. 프로젝트 생성 및 character encoding setting

by 똘똘이박사 2019. 1. 3.



이 포스팅의 샘플 게시판 개발 환경은 MAC OS, STS, OpenJDK11 입니다.




블로그 만들기 - 1. 프로젝트 생성 및 언어 셋팅


기본 프로젝트 생성




처음 STS를 실행하면 위와 같은 화면을 볼 수 있습니다.


왼쪽의 'Package Explorer' 탭의 빈 공간에서 마우스 우클릭 하여 아래 그림과 같이 

[New->Spring Legacy Project] 를 선택합니다.





[New Spring Legacy Project] 창에서

가장 아래쪽에 있는 [Spring MVC Project]를 선택합니다.




스프링 MVC 프로젝트를 다운로드 하는데 대략 16608 바이트가 필요하다는 문구가 나옵니다.

'Yes'를 클릭하고 넘어 갑니다.



프로젝트의 패키지 이름을 정해 줍니다.

프로젝트 패키지 이름을 지정하는데에 정해진 법칙은 없지만

일반적으로 적용하는 방식은 있습니다.

('네이밍 규칙' 포스팅을 참고해 주세요)

여기서는 'com.freehoon.web' 이라는 패키지명을 사용하도록 하겠습니다.




패키지 명을 정하면 오른쪽 아래에 아래 그림과 같이 스프링 MVC 프로젝트를 다운받고 빌드하기 시작합니다.

모두 자동으로 진행되니 잠시만 기다리면 됩니다.



빌드가 모두 끝나고 나면 'Package Explorer' 에 보면 아래 그림과 같이 프로젝트가 생성된 것을 확인 할 수 있습니다.

아래 그림은 프로젝트를 모두 펼쳐 놓은 상태 입니다.



 

프로젝트가 만들어 졌으니 아파치 서버(이하 '서버')를 동작시켜 기본적으로 생성된 프로젝트를 확인해 봅니다.

서버는 왼쪽 아래창에 있습니다.

하지만 지금 막 프로젝트를 생성한 상태라면 아래 그림과 같이 아무 서버도 존재하지않습니다.



'No server are available. Click this link to create a new server...' 이라고 써져 있는 파란색 링크를 클릭하여 서버를 생성합니다.


현재 제 컴퓨터에는 tomcat 9.0.11 버전이 설치 되어 있습니다.

따라서 'Apache'를 선택하고 'Tomcat v9.0 Server'을 선택 하였습니다.

(본인의 장비에 설치되어 있는 서버 버전을 선택해 주세요.)





'Next'를 선택하면 서버가 설치된 디렉토리를 설정하는 화면이 나타납니다.

본인의 장비에 설치된 서버의 경로를 입력해 줍니다.




Next를 클릭하면 서버가 구동할 웹 프로젝트를 선택하는 화면이 나옵니다.




중앙의 [Add] 버튼을 클릭하여 프로젝트를 우측으로 이동 시킵니다.




[Finish] 버튼을 클릭하여 창을 닫습니다.

다시 [Servers] 탭을 보면 조금 전 등록한 서버가 목록에 나타납니다.

상단에 있는 'start' 버튼을 클릭하여 서버를 동작 시킵니다.





[콘솔탭]을 보면 요란하게 로그들이 쭉쭉 찍히는 것을 볼 수 있습니다.




웹 브라우저를 열고 주소창에 localhost:8080/web 이라고 입력합니다.

(여기서 /web은 프로젝트 생성시 패키지 명(com.freehoon.web) 마지막에 입력했던 'web' 입니다.) 





Character encoding setting

서버 하나 설정하고 동작 시킨게 전부 이지만

스프링 프레임워크가 정상 동작 하는 것을 확인 할 수 있습니다.

하지만 'The time on the server is ????????' 식으로 글자가 깨져 보이는 것을 확인 할 수 있습니다.

아직 언어 셋팅을 하지 않아 글자가 깨지는 것입니다.

언어 셋팅을 하기 위해 web.xml 파일을 편집합니다.


아래의 코드를 web.xml 아래 부분에 입력해 줍니다.

<!-- Character Set Filter -->

<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>





그리고 서버를 중지 했다가 다시 시작합니다.

웹페이지를 '새로고침' 하여 확인해 봅니다.



깨져 보이던 한글이 이제 제대로 보입니다.


다음 포스팅에서는 본격적으로 블로그를 만들기 위한 다음 작업들을 진행해 봅니다.









※ 포스팅에 오타나 잘못된 부분, 추가적으로 더 알고 싶은 부분이 있으면 댓글 주세요~



반응형