스프링 프레임워크의 MVC에서 주로 사용되는 DispatcherServlet에 대한 정리를 하였다. 1. DispatcherServlet의 정의 스프링 프레임워크에서 HTTP 요청을 처리하고 적절한 핸들러(컨트롤러)에게 전달하는 핵심 컴포넌트. 다시 말하면, 클라이언트의 요청을 적절한 컨트롤러에게 라우팅하고 ☞ 컨트롤러의 실행 결과를 적절한 형태의 응답으로 변환하여 클라이언트에게 전달하는 역할을 한다. 2. DispatcherServlet 필요성 1. 중앙 집중적인 요청 처리 DispatcherServlet을 통해 모든 웹 요청이 중앙에서 관리되고 분배되어 코드를 구성할 수 있다. 2. 코드 모듈화 여러 컨트롤러로 분리하여 모듈화된 코드를 작성할 수 있다. 3. 유연한 View 처리 다양한 View Re..
시작하기 전에 대부분 국내 프로젝트는 스프링 프레임워크 기반의 자바 언어로 프로젝트가 이루어져 있다. 대세인 다른 언어들이 많이 있지만, 스프링 하나만 잘 알아도 국내 프로젝트에 투입되는데 문제없다는 걸 자주 들었다. 개발을 하다보면 반복적인 로직과 구글링에 의한 복사 붙여넣기가 생각 이상으로 많다. 오늘 알아볼 내용은 스프링 기반의 프로젝트에서 자주 사용되는 어노테이션과 메이븐 라이브러리(의존성)에 대하여 정리를 하고자 한다. 기본 개념 스프링에서의 어노테이션이란 스프링은 자바 기반의 프레임워크인데, 내장 기능으로 제공되는 어노테이션은 가독성에 요점을 두어, 직관적인 주석의 역할 + 관련 소스가 자동으로 생성 및 관리를 한다. 라이브러리 vs 의존성 라이브러리란, 특정 기능의 사용을 재사용가능한 코드의..
1. 개요 스프링 프레임워크 기반으로 개발을 하면서 파일 다운로드를 할 때 다양한 방법으로 적용할 수 있어서 볼 때마다 새로이 다시 공부하는 느낌이였다. 오늘은 내가 보기 편하게 찾을 수 있도록 Http프로토콜에서 파일 다운로드를 하는 방법을 정리하고자 한다. ※참고로 구현 가능한 기술들의 동향이 달라지기 때문에 변수가 존재하는 점을 참고해야 한다. 2. 내장 기능을 이용한 구현 방법 - 스프링 내장 기능을 이용한 다운로드 방법 스프링 프레임워크에서 HttpHeaders와 ResponseEntity를 이용하여 구현한다. 더보기 import org.springframework.core.io.FileSystemResource; import org.springframework.http.HttpHeaders; ..
1. 개요 클래스패스란 정확하게 뭔지 설명할 수도 없고, 이해도 가지 않았다. 스프링 프로젝트의 환경설정에서 클래스패스를 기준으로 경로가 지정되있는걸 많이 보았는데 정확하게 클래스패스란 어떤건지 내 기준으로 이해하기 위하여 이 글을 작성하게 되었다. 2. 클래스패스를 확인하는 방법 방법1. Build Path를 이용 프로젝트를 우클릭한다 -> Build Path -> Configure Build Path.. -> Source탭을 클릭 -> 하단의 Default Output folder 방법2. classPath파일을 참고 ctrl + shift + r -> .classpath파일을 연다. PS.단, 위 내용에서 클래스패스가 변경될 경우 동기화가 되지 않기 때문에 두 군대 모두 바꿔줘야하지만 왠만해서 변경..
Q0. 개요 프로젝트에 투입되어 개발을 하다보면 이미 구축된 환경에서 반복적인 개발을 하는 경우가 많다. 때문에 기본적인 환경 설정과 각 설정이 가지는 원리에 대해서는 생각을 해본 적이 없다 자바에서 Mybatis기반의 Mapper를 어떻게 찾는지, DB정보는 어디서 선언되어 실행되는지와 같은 설명들을 남들에게 설명해주려다 보니 말문이 막혔다. 애매하게 아는 것들이 많아서 오늘은 전체적인 스프링의 기본 환경 설정 파일에 대해 정리를 해보려고 한다. 참고로, 환경설정의 파일명과 위치가 달랐던 이유에 대한 부분에 초점을 맞춰서 주요 기능을 정리하였다. Q1. 환경 설정 파일 정리 참고로, 웹 어플리케이션을 실행하는데 필요한 클래스 파일, 설정 파일은 WEB-INF 폴더에서 관리한다. 1. 자바 웹 애플리케이..
Q0. 개요 오늘 알아볼 키워드 AOP, Filter, Interceptop, DI, IOC는 소프트웨어 개발을 할 때, 다양한 관점에서 사용되는 개념들이다. 크게 보면 키워드는 아래의 내용으로 정리된다. 간혹 1. 반복적인 공통 업무와 관련된 AOP, Filter, Interceptor 2. 의존성 주입과 관련된 DI, IOC 각 키워드는 무엇이고, 언제 어디서 사용해야하는지 알아보자. Q1. 각 키워드 개념 정리 1. Filter - 개념: 웹 어플리케이션에서 HTTP의 Request(요청), Response(응답)을 조작하는데 사용한다. - 위치 : 서블릿 컨테이너 - 용도 : HTTP 요청과 응답에 대한 전/후 처리. - 예 : ① 요청/응답의 문자 인코딩 처리하는 필터. ② 인증/권한과 같은 특..