ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring - 설정하기
    Spring 2019. 2. 20. 21:30

    스프링으로 개발하기 전에 설정해야 할 것들에 대해 알아보자

    처음으로 프로젝트를 생성하면 다음과 같은 구조로 생성이 된다.

    xml 파일들의 간단한 설명을 옆에 써놓았다.

    이제 필요한 부분을 하나씩 설정해보자.

    1. pom.xml

    pom.xml 은 메이븐에 대한 설정이다.

    여기서 java-version은 1.8로, springfameword-version은 5.0.6.RELEASE로 변경하자.

        <java-version>1.8</java-version>
        <org.springframework-version>5.0.6.RELEASE</org.springframework-version>

    el 을 사용할 때 처럼 ${org.springframwork-version} 으로 스프링 프레임 워크의 버전을 가져올 수 있기 때문에 편리하게 사용할 수 있다.

    아래로 내려가면 <dependencies> 태그 이하로 많은 <dependency> 태그들이 보일 것이다.
    <dependency> 태그는 메이븐이 라이브러리를 받아올 수 있도록 등록해주는 것이다.
    이 태그들은 외워서 쓰는 것이 아니라 메이븐 레포지토리에 가면 편리하게 찾을 수 있다.
    DB 프레임워크인 MyBatis를 사용할 것이기 때문에 관련 라이브러리를 받아오도록 하자.

    메이븐 레포지토리에 MyBatis를 검색하고 맨 위에 MyBatis를 눌러서 들어가면

    버전별로 받아올 수 있도록 되어 있다.

    3.5.0 버전을 선택했고 아래쪽에 태그가 있는 부분을 누르면 자동으로 복사가 된다.
    복사된 태그를 pom.xml에 붙여넣고 저장하기만 하면 메이븐이 알아서 라이브러리 파일을 받아온다.

    Maven Dependencies 를 확인하면 받아온 파일들을 확인할 수 있다.

    위와 같은 방식으로 3개의 라이브러리를 더 등록해주면 된다.

            <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.5.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis-spring -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>1.3.2</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jdbc</artifactId>
                <version>${org.springframework-version}</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
            <dependency>
                <groupId>commons-dbcp</groupId>
                <artifactId>commons-dbcp</artifactId>
                <version>1.4</version>
            </dependency>

    메이픈 레포지토리에서 검색할 때는 artifactId 태그의 값으로 검색하면 된다.
    ojdbc도 메이븐으로 받아야하지만 오류가 많이 나기 때문에 따로 받아서
    WEB-INF/lib 에 넣어주자. lib(폴더는 생성해줘야 한다.)

    2.web.xml

    web.xml 은 서버에 대한 설정이다.

    web-app 버전 수정


    처음에 열면 web-app의 버전이 2.5로 되어있다.

    <web-app version="3.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd" >

    버전을 3.1로 바꿔주자.

    웰컴 파일 등록

    기본적으로 서버를 실행하면 home.jsp 으로 가기 때문에 웰컴 파일을 등록해서 index.jsp로 가도록 만들자.
    웰컴 파일은 꼭 index.jsp 로 할 필요는 없다.

        <welcom-file-list>
            <welcom-file>index.jsp</welcom-file>
        </welcom-file-list>

    web-app 태그와 context-param 태그 사이에 넣어주었다.

    index.jsp 파일을 만드는 것을 잊지 말자.

    필터 등록

    web.xml에서는 필터도 등록할 수 있다.
    기본적으로 필요한 인코딩 필터를 넣어보자.
    서블릿에서는 xml방식과 어노테이션 방식이 있었지만 스프링에서는 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>
        </filter>
        <filter-mapping>
            <filter-name>encodingFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    servlet-mapping 태그 밑에 작성해 주었다.

    3. 프로젝트 Properties에서 확인하기

    해당 프로젝트를 우클릭한 후 Properties를 누르고 Project Facets 에 가서 자바 버전은 1.8, Dynamic Web Module은 3.1 버전이 맞는 지 확인하고 아니라면 수정해 줘야 한다.

    반응형

    'Spring' 카테고리의 다른 글

    Spring - 파일 다운로드 하기  (0) 2019.02.25
    Spring - 파일 업로드 하기  (0) 2019.02.23
    Spring - MyBatis 설정하기  (0) 2019.02.20
    Spring - log4j 사용하기  (0) 2019.02.20
    Spring - 개발 환경 구성하기(STS, Maven)  (0) 2019.02.18

    댓글

Designed by Tistory.