Kim VamPa

[STS][스프링 게시판][0] MVC 프로젝트 생성 및 기본설정 - 3 본문

스프링 프레임워크/게시판 프로젝트

[STS][스프링 게시판][0] MVC 프로젝트 생성 및 기본설정 - 3

Kim VamPa 2021. 2. 15. 18:19
728x90
반응형

순서

11. Servlet 버전 변경

12. 필수 패키지 추가 및 설정

13. 아파치 톰캣 연동

14. 프로젝트 '절대 경로' 구조 변경

15. 구동 테스트

16. 한글 환경 설정

 

 

11. Servlet 버전 변경

 Java 설정 등을 이용하기 위해서 servlet 3.0 이상 버전으로 변경해줍니다. [pom.xml]에 있는 기존의 servlet 2.5 버전은 주석 처리 혹은 삭제한 후 servlet 3.1 버전을 추가 및 저장합니다.

 

1
2
3
4
5
6
7
8
9
 
        <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>
 

 

그림 1

 

12. 필수 패키지 추가 및 설정

패키지 추가

 

 src/main/java 경로에 3개의 패키지를 추가합니다.

 

- com.vam.model : VO(value Object) 패키지입니다. 데이터 타입을 저장합니다.

- com.vam.mapper : DAO(Data Access Object) 역할을 하는 패키지입니다. 데이터베이스 접속하는 역할을 합니다.

- com.vam.service :  Service 패키지입니다. Mapper와 Controller 사이를 연결해주는 역할입니다.

 

그림 1

 

 스프링에서 각 패키지를 인식 할 수 있도록 [root-context.xml] 파일 설정을 변경해주어야 합니다.

 

 [root-context.xml] 파일을 연 후 하단의 [namespaces]를 클릭 해당 창을 엽니다. "context", "mybatis-spring"을 체크하여 

 

그림 3

 

 저장 후 다시 하단의 [Source] 탭을 누른 후 아래의 코드를 추가합니다. 

 

1
2
3
4
5
 
    <mybatis-spring:scan base-package="com.vam.mapper"/>
    <context:component-scan base-package="com.vam.model"></context:component-scan>
    <context:component-scan base-package="com.vam.service"></context:component-scan>
 

 

그림 4

 

Mapper XML 저장 경로 생성

 

 동적 SQL문을 사용하기 위해 xml 파일을 사용할 것인데, 해당 파일들을 저장할 경로를 생성할 것입니다.

 

src/main/resources 경로에 mapper 패키지명(com.vam.mapper)과 동일한 폴더 경로를 생성합니다. 해당 경로에 mapper로 사용할 xml 파일을 저장할 것입니다.

 

그림 5

 

 

13. 아파치 톰캣 연동

 현재의 이클립스 환경에 아파치 톰캣(Apache Tomcat)을 연동합니다. 아래의 포스팅을 참고해주세요.

 

아파치 톰캣 이클립스 연동 방법

 

 

14. 프로젝트 '절대 경로' 구조 변경

 경로 설정 없이 아파치 톰캣 서버를 구동하게 된다면 "http://localhost:8080/controller/" 경로의 홈페이지로 들어가게 됩니다. 해당 url 경로가 절대 경로인데 추후 작업들의 편의를 위해서 기존 절대 경로에서 "conroller"를 제거할 것입니다.

 

 Servers 창에 있는 [Tomcat v8.5 at localhost ...]를 더블클릭하여 창을 띄운 하 하단의 [Modules] 탭을 클릭합니다.

 

그림 6

 

 현재 연결된 모듈을 클릭하여 선택 후 [Edit..] 버튼을 클릭합니다.

 

그림 7

 

 [Path] 입력란에 'controller'을 지우고 [OK] 버튼을 클릭합니다.

 

그림 8

 

 설정 후 반드시 [ctril + s]를 눌러서 설정을 저장해주어야 합니다.

 

그림 9

 

 

15. 구동 테스트

 자신의 프로젝트를 선택 후 마우스 오른쪽 클릭 -> [Run As] -> [Run on Servers]를 클릭하여 서버를 실행합니다. 

 

 

[Finish]를 클릭합니다.

 

그림 11

 

 아래의 브라우저 창이 뜹니다. 앞의 절대 경로 설정에서 'controller'를 빼주었기 때문에 "http://localhost:8080/" url로 접속된 것을 확인인 할 수 있습니다. 

 

그림 12

 

 

16. 한글 환경 설정

 앞의 서버 구동 테스트에서 한 가지 문제점이 있습니다. 본래는 '20xx년xx월...' 이런 식으로 한글이 출력되어야 하는데 인식을 하지 못하고 물음표(?)로 뜨고 있습니다. 2개의 추가적인 설정을 진행하겠습니다.

 

 

프로젝트 Properties 설정

 

 자신의 프로젝트를 선택 후 마우스 오른쪽 클릭 -> [Properties]를 클릭합니다.

 

그림 14

 

 좌측 설정 목록들 중 [Resource]를 클릭하여 해당 설정창으로 들어갑니다. [Text file encoding] 설정에 "Other"를 체크 후 "UTF-8"을 선택합니다. 선택이 완료되었다면 [Apply and Close]를 클릭합니다. 

 

그림 15

 

필터 설정 (web.xml)

 

 [web.xml] 파일에 아래의 코드를 추가 후 저장합니다. 파일의 경로는 src -> main -> webapp -> WEB-INF에 있습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<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>
 

 

그림 16

 

 2개의 설정을 완료 후 서버를 다시 구동하시면 한글이 정상적으로 출력된 것을 확인할 수 있습니다. 

 

그림 17

 

이로써 기본적인 설정이 완료되었습니다. 

 

REFERENCE

  •  

DATE

  • 2021-02-15
728x90
반응형
Comments