1. Spring
Spring이란?
동적 웹 사이트를 개발 할 때 필요한 여러 서비스를 제공하며, 정부 24등 대한민국 공공 기관의 웹 서비스를 개발할 때 사용을 권장하는 전자정부 프레임워크의 기반 기술이며 디자인패틴(MVC) + 라이브러리(패키지)가 녹아있다.
1.1 스프링 삼각형
스프링을 이해하려면 스프링 삼각형에 대
설명 추가 예정...
1.2 스프링 MVC(Model, View, Controller)
모델(Model) : 애플리케이션의 데이터가 들어있는 객체
뷰(View) : 모델의 정보(데이터)를 특정 형식으로 나타낸다. 일반적으로 JSP와 JSTL은 뷰 페이지를 작성하는데 사용된다.
컨트롤러(Controller) : 애플리케이션의 비즈니스 로직을 포함한다. 여기서 @Controller 애너테이션은 자바 클래스를 컨트롤러로 표시하는데 사용된다.
프런트 컨트롤러(Front Controller) : 애플리케이션의 흐름을 관리한다. 스프링 MVC에서 DispatcherServlet 클래스가 프런트 컨트롤러로 사용된다.
서블릿 관려 폴더
서블릿과 관련된 클래스 파일이 생성되면 src/main/Java 폴더에 등록하여 관리한다.
보통 자바 클래스 파일들은 src/main/Java에 패키지로 생성하여 등로갛는데, 개발자가 만든 예외 클래스나 기타 유틸 클래스 파일 등도 함께 저장한다.
웹 관련 폴더
웹과 관련된 JSP, 리소스, 스프링, MVC 환경 설정 파일, 웹 프로젝트 환경 설정 파일 등이 생성되면 src/main/webapp 폴더에 등록하여 관리한다.
- resources 폴더는 웹에 관련된 이미지, 자바스크립트, CSS 등 정적 리소스 파일을 관리한다.
- spring 폴더는 빈(Been) 객체들을 등록하는 서블릿 설정 파일인 스프링 MVC 설정 파일(기본형 : 서블릿 이름-servler.xml)을 관리한다. 그리고 스프링 시큐리티 설정 파일 같은 스프링 관련 설정 파일들이 이곳에 저장됩니다.
- views 폴더는 웹 페이지인 JSP 파일을 관리합니다.
- web.xml 파일은 웹 프로젝트의 설정 파일로 여기에 리스너, 서블릿 필터 등을 설정할 수 있으며, 반드시 src/main/webapp/WEB-INF 폴더에 위치해야한다.
- pom.xml은 메이븐 관련 환경설정 파일로, 필요한 라이브러리를 추가하여 사용할 수 있게 된다.