스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

웹개발의 시작인 게시판 만들기입니다.

이 게시물에서는 Open JDK 1.8(오픈 JDK), STS 3.9.9(스프링 툴 스위트), Tomcat 8.5(톰캣), Maria DB(마리아 DB)를 사용합니다.

또한, 브라우저는 구글 크롬 브라우저를 사용하며, 웹개발에 필요한 Java 지식 또한 필요하겠습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

먼저 스프링, 정확히는 '스프링 툴 스위트(STS)'를 설치하기 위해 스프링 사이트에 접속합니다.

스프링(STS) 4버전은 기본적으로 스프링 부트를 사용하는데, 여기서는 스프링 레거시를 사용할 예정이므로 그 하위 버전인 스프링(STS) 3버전이 필요합니다. 스프링(STS) 4버전에서도 스프링 레거시를 사용할 수 있으나 추가적인 설치를 필요로하기 때문에, 설치 없이 사용할 수 있는 스프링(STS) 3버전을 사용하겠습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

스크롤을 가장 아래로 내리면, 스프링(STS) 3버전의 페이지로 이동하는 링크가 있습니다. 이 링크를 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

스크롤을 조금 내리면, 스프링(STS) 3버전의 모든 버전을 볼 수 있는 See all version 링크를 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

OS에 맞는 스프링(STS)를 다운로드 받습니다.

저는 윈도우 10 64비트를 이용하니, 그에 맞는 스프링(STS)를 다운로드 받겠습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

다운로드가 완료되었습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

적당한 폴더에 압축을 해제합니다.

저는 D드라이브의 board 폴더에 압축을 해제했습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

sts-bundle\sts-3.9.9.RELEASE 내부에 STS파일이 실행 파일입니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

바탕화면에 바로가기를 만들어놓고, 이름을 적당히 바꿔줍니다.

저는 1개의 프로젝트당 1개의 스프링(STS)을 사용하다보니 이름을 프로젝트명으로 했습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

이제 프로그램을 실행하고, 프로젝트가 저장될 경로를 정해줍니다. 저는 위에서 만들었던 board 폴더 하위에 workspace라는 폴더를 생성하여 지정했습니다.

이 스프링(STS)으로는 게시판만 만들것이니, Use this as the default and do not ask again을 체크합니다. 체크하게되면 경로를 다시 물어보지 않습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

스프링(STS)가 실행된 화면입니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

좌측 상단의 File → New → Project를 선택합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

spring으로 검색하면 쉽게 Spring Legacy Project(스프링 레거시 프로젝트)를 선택할 수 있습니다. Spring Legacy Project를 선택하고 다음(Next) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Project Name(프로젝트 네임)을 입력합니다. 저는 board로 입력했습니다.

Templates(템플릿)은 Spring MVC Project(스프링 MVC 프로젝트)를 선택하고 다음(Next) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

최상위 패키지를 입력하고 완료(Finish) 버튼을 클릭합니다. 저는 com.board.controller로 입력했습니다.

최상위 패키지는 [최상위 도메인].[회사명 또는 프로젝트명].[대표 패키지 또는 애플리케이션명]으로 구성됩니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

프로젝트가 생성되었습니다. 우측 하단을 보면 워크스페이스를 구성하고 있습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

모든 구성이 완료되었습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

스프링(STS)의 기본적인 설정을 하겠습니다.

상단 메뉴에서 Window → Preferences를 선택합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

General → Workspace에서 Text file encoding를 UTF-8로 변경하고 적용 및 닫기(Apply and Close) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

프로젝트를 한번 클릭 한 뒤, 상단 메뉴에서 Project → Properties를 선택합니다. 프로젝트를 우클릭하고 Properties를 선택해도 됩니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Resource에서 Text file encoding 에서 UTF-8로 되어있는지 확인합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Project Facets에서 Java의 버전을 1.8로 변경한 뒤 적용 및 닫기(Apply and Close) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

src → main → webapp → WEB-INF → web.xml파일을 열고, </web-app> 위에 코드를 추가합니다.

<!--  문자 인코딩  시작 -->
<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>
<!--  문자 인코딩  끝 -->

문자 인코딩을 UTF-8로 변경하는 코드입니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

src → main → webapp → WEB-INF → views → home.jsp 파일을 열고 <html>위에 코드를 추가합니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

현재 페이지의 인코딩을 UTF-8로 변경하는 코드입니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

pom.xml파일을 열고, 하단 탭에서 pom.xml을 선택합니다.

현재 pom.xml에서는 Java의 버전이 1.6, Spring Framework(스프링 프레임워크)의 버전이 3.1.1로 되어있습니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Java의 버전을 1.8, Spring Framework(스프링 프레임워크)의 버전을 4.3.8로 변경합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

스프링(STS)의 좌측 하단에 있던 Servers윈도우에 우클릭을 한 뒤, New → Server를 선택합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Tomacat v8.5로 검색하면 바로 나와서 찾기 쉽습니다. Tomcat v8.5를 선택하고 다음(Next) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Tomcat 8.5가 설치된 경로를 입력하고 다음(Next) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

현재 서버를 사용할 프로젝트를 설정합니다.

프로젝트를 선택하고 추가(Add) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

프로젝트가 좌측에서 우측으로 이동했습니다. 완료(Finish) 버튼을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

상단 메뉴에서 Window → Web Browser → Chrome을 선택합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

이제 프로젝트를 시작해보겠습니다.

프로젝트를 우클릭하고 Run As → Run on Server를 선택합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

Tomcat 서버가 선택되어있을텐데 선택되어있지 않다면 선택해줍니다. 이 프로젝트는 항상 톰캣 서버로만 실행할 예정이므로 하단의 Always use this server when running this project에 체크를 한 뒤 완료(Finish) 버턴을 클릭합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

처음 실행하는 경우 이처럼 보안 경고가 나올 수 있습니다. 액세스 및 허용 버튼을 클릭하여 진행합니다.

스프링부트 웹 게시판 만들기 - seupeulingbuteu web gesipan mandeulgi

프로젝트가 크롬 브라우저로 실행되었으며, 한글이 잘 표시되는걸 확인할 수 있습니다.