• [Spring Framework] STS사용법(배포)

    2022. 3. 10.

    by. 개발도비

    정리해두지 않으면 세팅할 때마다 헷갈릴 것 같아 기록한다

    Windows10, Java1.8을 사용하고 있다

     ***** STS(Spring Tool Suite) 다운로드 *****
       접속)  https://spring.io/tools/sts/all 접속후 다운로드 받는다
       
        window용으로 다운받는다(상황에 맞게 다운받으면 된다)
           spring-tool-suite-3.9.8.RELEASE-e4.11.0-win32-x86_64.zip
    
       설치법)
          - 압축 해제시 생성할 폴더 이름이 길면 에러가 발생하므로 짦게 만들 것(ex.sts)
            E:\sts\sts-bundle\sts-3.9.4.RELEASE\sts.exe 실행
          - 이클립스와 비슷하지만 STS는 Spring 프로젝트가 따로 만들어져있다
     ***** 디폴트 서버 삭제  *****
    
        실행하면 Pivotal서버가 기본으로 설정되어 있다
        우리는 톰캣 서버를 사용할 것이므로 이것을 지워줘야 한다
    
        1. Servers 탭에서 삭제
    
        2. Window->Prefernces -> Server -> Runtime Environment에서 삭제
    
         꼭 두가지 모두 실행해야 한다
     **** 톰캣 서버 설치*****
    
        Servers뷰에서 오른쪽 마우스 버튼 -> New -> Server ->Apache -> Tomcat v8.5 Server 선택
        -> Next -> Browse (톰캣위치-C:\Program Files\Apache Software Foundation\Tomcat 8.5)
        -> Finish
    
        설치 후 
        Package Explorer의
        server.xml에서 
    
         Connector connectionTimeout="20000" port="8080" 에서 port변경하기  
                                                               port="8088"
     *****  제대로 설치 되었는지 test 해보기 *****
    
        File - New- Dynamic Web Project 만들어서 test 해볼 것
     *****  Spring MVC Project 생성법 *****
    
      1. Spring MVC Project 생성
         File - New -  Spring Legacy Project 선택
    
         ->
            Project name : springTest
            Templates: Spring MVC Project 선택
    ..   -> next
    
         Project Settings - Spring MVC Project
         Please specify the top-levle package e.g.com.mycompany.myapp*
    
         com.naver.myhome   .... finish
         ==>myhome이 pom.xml의 <artifactId>엘리먼트 안에 들어가는 값으로 프로젝트이름 대신 접근한다
         예) http://localhost:8088/myhome/board.write_nhn
    
          
      
      2. Project Explorer 뷰에서 springTest 프로젝트를 선택한 상태에서 마우스 오른쪽 버튼을 클릭하여 맨 아래의
        "Properties"를 선택한다.
         왼쪽에서 [Project Facets]를 선택하고 Java 버전을 1.8로 수정한다.
         오른쪽에 [Runtimes]탭에서 Apache Tomcat v8.0을 <Apply>버튼을 클릭한다.
    
       - maven과는 달리 pom.xml 파일의 내용이 기본 제공하는 것이 들어있다.
    
       - ModelAndView가 아닌 Model객체를 사용
    
      3. pom.xml파일을 선택해서 
          <org.springframework-version>5.1.3.RELEASE</org.springframework-version>로 변경한다
    
    
          Spring MVC Projcet는 Maven(자바용 프로젝트 관리 도구)을 기본으로 프로젝트가 생성된다
         /*
             아파치 소프트웨어 재단에서 개발하는 Java 기반 프로젝트의 라이프사이클 관리를 위한 빌드 도구. 
             이에 따라 컴파일과 빌드를 동시에 수행, 테스트를 병행하거나 서버 측 Deploy 자원을 관리할 수 있는 
             환경을 제공한다. 또한 라이브러리 관리 기능도 내포하고 있다. 
             Java로 개발하다 보면 다양한 라이브러리를 필요로 하게 되는데, 
              pom.xml 파일에 필요한 라이브러리만 적으면 Maven이 알아서 다운받고 설치해주고 경로까지 지정해준다 
        */
    
    그러므로 Maven의 기본 폴더 구조를 갖는다
    또한 MVC 프로젝트를 위한 스프링 설정 파일들을 기본으로 생성해주며 로그를 위한 log4j도 장착해준다
    main  -----------------------------------------------------------------   
    
    src.main.java ------------------------------------------------------------ 자바 코드
    
    src.main.resources ----------------------------------------------------- 코드에 필요한 리소스들
    
    src.main.webapp -------------------------------------------------------- 웹어플리케이션 디렉토리
    
    src.main.webapp.resources -------------------------------------------- 웹어플리케이션의 정적리소스
    
    src.main.webapp.resources.META-INF -------------------------------- 웹어플리케이션 메타정보
    
    src.main.webapp.resources :: log4j.xml ------------------------------- 로그설정파일(log4j)
    
    src.main.webapp.WEB-INF.spring -------------------------------------- 스프링 설정파일 폴더
    
    src.main.webapp.WEB-INF.spring :: root-context.xml ----------------- web.xml의 context-param설정 파일
    
    src.main.webapp.WEB-INF.spring.appServlet :: servlet-context.xml - web.xml의 servlet의 init-param설정 파일
    
    src.main.webapp.WEB-INF.views -------------------------------------- 어플리케이션 뷰파일들 (jsp, vm, jsf등)
    
    src.main.webapp.WEB-INF.views :: home.jsp ------------------------- 기본으로생성된 뷰페이지 (hello world)
    
    src.main.webapp.WEB-INF :: web.xml --------------------------------- 웹어플리케이션 명세
    
    target ------------------------------------------------- 빌드를 실행하면 생기는 war, jar 파일을 저장하는 폴더
    
    test ---------------------------------------------------- 프로그램에서 사용하는 단위 테스트의 소스 코드가 저장되는 폴더
    
      *****  Spring MVC Project 실행 *****
      3. 실행
         springTest-src-main-webapp- WEB-INF -views - home.jsp 파일을 한번 실행시킨후
    
         웹브라우저에 다음과 같이 입력한다
         http://localhost:8088/myhome      
    
         현재 시스템의 날짜, 시간이 나타나면 성공! 
    
         한글이 깨져서 나오면 
    
         springTest-src-main-webapp-WEB-INF-views - home.jsp 파일에
         
         <%@ page language="java" contentType="text/html; charset=UTF-8" %> 추가할 것
    
    =====================================================================================================
    pom.xml(Projet Object Model)
     Project Object Model의 약자로 Maven이 프로젝트를 빌드하기 위한 설정 정보를 담은 파일
    
    - build 시, pom.xml 을 읽어서, dependency에 정의된 jar 파일을 
      Maven Central Binary Repository 에서 download 한다.
    
        - addressing system 이 있으며, Group Id, Artifact Id, version 정보로 구별한다.
          
           1) groupId - 프로젝트 속하는 그룹 식별 값. 회사, 본부, 또는 단체를 의미하는 값이 오며, 
              패키지 형식으로 계층을 표현한다. 
              
           2) artifactId - 프로젝트 결과물의 식별 값. 프로젝트나 모듈을 의미하는 값이 온다. 
             
           3) name - 프로젝트 이름        
    
           4) package - 컴파일된 클래스 파일과 리소스 파일들을 war 혹은 jar와 같은 파일로 묶는 것.
          
           5) version - 결과물의 버전을 입력한다. 기본 값인 1.0-SNAPSHOT을 사용.
    
           6) <dependencies> : 의존성 정의 및 설정 영역
              <packaging> : 컴파일된 클래스, 리소스 파일들을 war또는 jar 같은 유형으로 정의하는 영역
              <properties> : pom.xml에서 중복해서 사용되는 설정(상수)값들을 저장해놓는 영역
    

    댓글