Spring Legacy Project 생성

김선미·2022년 11월 5일

생성 방법

  • 이클립스 설치
  • jdk 1.8 또는 11 버전 설치 (하나만 설치, 중복 설치하면 sts 설치시 오류)
  • C드라이브에 sts 공식 사이트에서 3.9.14 버전 다운로드한 파일을 압축 풀기
    • 반디집 툴을 이용해 java 파일 등 모든 파일 압축 해제 가능
    • 3.9.14 버전이 기본 자바 설정이 jdk 1.8으로 되어있음, 이후 버전은 기본적으로 jdk 11로 설정
    • 또는 이클립스 마켓에서 "Spring Tools 3 Add-On for Spring Tools 4" 버전 설치
  • 압축해제한 STS.exe 실행(또는 이클립스 실행) 후 file - new - Spring Legacy Project - Spring MVC Project - 패키지명 입력 - finish 하면 maven 기반의 레거시 프로젝트가 생성 됨

서버 생성

  • C드라이브에 apache tomcat 9 버전 다운로드
  • STS.exe 실행(또는 이클립스 실행) - Server - 마우스 우클릭 - new - server - 맨 위로 스크롤해 Apache 폴더에서 tomcat 9 선택 - (next - 서버를 사용할 프로젝트 선택 가능) - apache 9 저장된 C드라이브 경로 입력 - finish
  • 생성된 서버 더블클릭 - 좌측에 서버 경로 등 설정, 우측에 포트 (1000번 이상의 포트 사용가능, 8080 등 사용) 설정 완료 후 ctrl+s 저장

프로젝트 구조

  • src/main/java : 자바 클래스 파일
  • src/main/resource : 자바 설정 파일 (xml 등)
  • test/main/java
  • test/main/resource
  • src : 상위의 main, test 폴더가 있는 전체 폴더, 이클립스에서 java 소스 폴더를 상위에서 따로 보여줌
    • src/main/webapp/resources : 이미지, css, html, js 파일
    • src/main/webapp/WEB-INF/classes : 컴파일된 자바 파일 생성
    • src/main/webapp/WEB-INF/spring/appServlet/servelet-context.xml : 스프링 컨테이너 설정 파일
    • src/main/webapp/WEB-INF/spring/root-context.xml : 스프링 컨테이너 설정 파일
    • src/main/webapp/WEB-INF/web.xml : 톰캣 설정 파일
      - src/main/webapp/WEB-INF/views : jsp 파일
  • target : 프로젝트 컴파일 및 빌드 후 maven에서 결과 파일을 생성
  • pom.xml : maven 설정 파일

pom.xml

  • maven repository 사이트 접속해서 모든 라이브러리 검색하여 dependency 추가 가능
  • properties : 스프링 버전 변경 가능
  • 저장 시 바로 라이브러리 및 버전 설치 됨
  • configuration : JRE System Library 우측에 뜬 java 버전 변경
    • 저장 후 프로젝트 우클릭 - maven - update project

web.xml

  • listener : root-context.xml을 통해 IoC 컨테이너 가동 (business layer)
  • servlet : servlet-context.xml 을 통해 IoC 컨테이너 가동 (controller)
  • 필터 등록 : 모든 소스코드에 UTF-8 적용하는 필터 등록 가능
<!-- 필터 등록... -->
	<filter>
		<filter-name>characterEncodingFilter</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>characterEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>
[출처] 최종 예제|작성자 s001lec

스프링 IoC 컨테이너 설정

  • root-context.xml (business layer) : service, dao(mapper)
    • component scan에 service 패키지 연결
  • servlet-context.xml (present layer) : controller, multipartResolver 등
    • component scan에 controller 패키지 연결

view (jsp) 실행

  • Controller : 메소드 리턴 타입을 String으로 지정한 후 리턴 문자열을 "test/test1" 입력
  • Src/main/webapp/WEB-INF/views : test 폴더 생성 후 test1.jsp 파일 생성
  • 클라이언트가 /test/test1 url 접속하면 서버에서 test1.jsp를 포워딩해준다.
  • jsp 파일은 서버에서 한번 실행되면 새로고침을 통해 계속 변경되고 서버를 재가동 할 필요가 없다.
profile
백엔드 개발 공부

0개의 댓글