반응형

스프링 프레임워크란?

  • 자바 플랫폼을 구현하기 위한 오픈 소스 프레임워크
    • 프레임워크(Framework)? 프로그램을 구현하는데 필요한 라이브러리(클래스) 및 개발 방식의 모음
    • 다양한 어플리케이션을 개발하기 위해 필요한 코드들의 자동화가 많이 이루어짐
    • 동적 웹사이트 개발을 위한 서비스 제공(JSP 가 없어도 동적 서비스 구현 가능)
    • 스프링 프레임워크에서 동적 웹 구현 시에도 MVC(Spring MVC) 사용
    • 기존 동적 웹 어플리케이션을 스프링으로 구현 시 훨씬 압축된 코드를 사용하여 간편하게 구현 가능 단, 압축된 코드 사용을 위한 준비 작업(설정)이 많음
    • 대한민국 정보 관련 프로젝트를 진행하는 기업 등에서 주로 사용하는 ‘전자정부 표준 프레임워크’ 의 기반이 되는 프레임워크

스프링 프레임워크 사용방법

  1. 이클립스 상에서 스프링 관련 애드온(Add-on)설치
  2. 이클립스 기반으로 제작한 IDE 인 Spring Tools Suite(STS) 설치
    • 스프링 프레임워크 IDE 다운로드 및 설치, 설정
    • https://spring.io/
    • 상단 Projects 메뉴에서 Spring Tools 4 클릭 후 다운로드
    • 실행 가능한 jar 파일 더블클릭 시 압축 풀림
    • sts-4.16.0.RELEASE폴더에 들어가서 SpringToolSuite4.exe 실행
    • Eclipse Market Place
    • Eclipse Enterprise Java and Web Developer Tools 설치 => Java EE 퍼스펙티브 및 Run on Server 선택 가능
    • Spring Tools 3 Add-On 설치 => Spring Legacy Project 선택 가능
    • STS4 재시작 후 퍼스펙티브(Perspective)를 Java -> Spring 으로 변경
    • Package Explorer 우클릭 - New - Project - Spring Legacy Project 클릭 후 프로젝트명 입력하고 Templates 항목에서 Spring MVC Project 항목 클릭하고 Next 버튼 클릭 (필요 라이브러리 다운 진행 후) 패키지명 입력(xxx.yyy.zzz 형식) 후 Finish
    • 프로젝트 우클릭 - Properties - Project Facets 항목에서 Dynamic Web Module 을 4.0 으로 변경, Java 1.8 로 변경 후 Apply

프로젝트 우클릭 - Run As - Run on Server 클릭하면 기본 서블릿 주소("/") 가 요청됨 (패키지 내의 HomeController 클래스에 의해 "/" 서블릿 주소에 대한 요청을 home.jsp 로 전달함)

Maven - 자바 프로젝트를 관리하는 툴(도구) 이며, 라이브러리를 자동으로 관리하거나 프로젝트 빌드 및 배포 등을 수행하는 용도로 사용됨 porm.xml 에 붙여서 사용

프로젝트 우클릭 - Properties - Project Facets 항목에서 Dynamic Web Module 을 4.0 으로 변경, Java 1.8로 변경후 Save AS

프로젝트 우클릭 - Run As - Run on Server 클릭하면 기본 서블릿 주소(”/”) 가 요청됨 (패키지 내의 HomeController 클래스에 의해 “/” 서블릿 주소에 대한 요청을 home.jsp 로 전달함)

[ pom.xml ]

  • POM = Project Object Model
  • Maven 에서 프로젝트 빌드 정보를 담는 파일(= 라이브러리 관리하는 파일)
  • https://mvnrepository.com/ 웹사이트에서 필요한 라이브러리 검색 후 Maven 용 <dependency> 태그 항목 복사 후 pom.xml 내의 <dependencies> 태그 내에 붙여넣기
  • => 자동으로 해당 라이브러리 다운로드 후 Build path 등록까지 자동으로 수행됨

Java Servlet API 버전 수정하는법
dependency ⇒ 의존성 패키지

Spring - 프로젝트

  1. 프로젝트 생성
    1. web.xml (= 배포서술자) 의 서블릿 관련 설정 내용

  1. servlet-mapping 에서 루트(/) 요청을 받아 appServlet 이름의 servlet 항목을 찾아 연결(= 매핑)
  2. /WEB-INF/spring/appServlet/servlet-context.xml 파일에 지정된 파라미터를 사용(prefix, suffix)
  3. 컨트롤러에서 return 문을 통해 Dispatch 방식으로 이동할 파일명을 이름만 지정하면 해당 이름 앞에 prefix 문자열을, 해당 이름 뒤에 suffix 문자열을 자동으로 결합해 줌) (ex. return "home"; 지정 시 "/WEB-INF/views/home.jsp" 문자열이 자동으로 생성됨)

prefix + "home" + suffix = /WEB-INF/views/home.jsp

[ JSP 파일 생성을 위한 우클릭 - New 에서 JSP 메뉴가 보이지 않을 경우 설정 ]

  1. Spring 퍼스펙티브 커스터마이징을 위해 Window - Perspective - Custormize Perspective 클릭

 2. Shortcuts 메뉴 - Web - JSP File 체크 후 Apply

3. WEB-INF/web.xml 파일 내에 붙여넣기

<!-- POST 방식 파라미터 한글 처리를 위한 필터 설정 -->
<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>