스프링 프레임워크의 MVC에서 주로 사용되는 DispatcherServlet에 대한 정리를 하였다. 1. DispatcherServlet의 정의 스프링 프레임워크에서 HTTP 요청을 처리하고 적절한 핸들러(컨트롤러)에게 전달하는 핵심 컴포넌트. 다시 말하면, 클라이언트의 요청을 적절한 컨트롤러에게 라우팅하고 ☞ 컨트롤러의 실행 결과를 적절한 형태의 응답으로 변환하여 클라이언트에게 전달하는 역할을 한다. 2. DispatcherServlet 필요성 1. 중앙 집중적인 요청 처리 DispatcherServlet을 통해 모든 웹 요청이 중앙에서 관리되고 분배되어 코드를 구성할 수 있다. 2. 코드 모듈화 여러 컨트롤러로 분리하여 모듈화된 코드를 작성할 수 있다. 3. 유연한 View 처리 다양한 View Re..
1. 개요 스프링 프레임워크 기반으로 개발을 하면서 파일 다운로드를 할 때 다양한 방법으로 적용할 수 있어서 볼 때마다 새로이 다시 공부하는 느낌이였다. 오늘은 내가 보기 편하게 찾을 수 있도록 Http프로토콜에서 파일 다운로드를 하는 방법을 정리하고자 한다. ※참고로 구현 가능한 기술들의 동향이 달라지기 때문에 변수가 존재하는 점을 참고해야 한다. 2. 내장 기능을 이용한 구현 방법 - 스프링 내장 기능을 이용한 다운로드 방법 스프링 프레임워크에서 HttpHeaders와 ResponseEntity를 이용하여 구현한다. 더보기 import org.springframework.core.io.FileSystemResource; import org.springframework.http.HttpHeaders; ..
Q0. 개요 프로세스 실행 중 여러 가지 에러(시스템/로직/DB 등)가 발생하는 경우를 위해 예외 처리라는 것이 존재한다. 예외 처리에는 try ~ catch 또는 throw를 사용하거나, throws 클래스를 상속받는 3가지 방법이 있다. 예외 처리는 에러가 발생하여 시스템이 중단되는 현상을 방지하기 위해 사용한다. 예외 처리는 어떻게 선언하고 메세지를 뿌릴지만 알아도 된다. Q1. try ~ catch문 기본적인 구조 try ~ catch ~ finally구문을 로직에 감싸는 형태로 사용된다. (자바에서 에러발생시 뱉어냄) public void test(){ int num1; int num2; try{ /* 예외처리를 지정할 코드영역 (메서드 전체로 잡거나 일부만 지정할 수 있다) 오류가 존재하는 경..
Q0. 개요 자바를 배우면서 가장 먼저 접했던 키워드는 변수이다. 그런대 이 변수와 인스턴스 그리고 객체는 어떻게 다른지 이해가 잘 가지 않았다. 그래서 비교하는 겸 제목에 언급했던 키워드(변수/상수/리터럴/인스턴스/객체)들에 대한 정의를 먼저 정리한다. Q1. 키워드 정의 목록 잘 이해가 되지 않는 부분들이 있어서 예를 들어서 다시 정리해본다. public class Main{ //클래스 class Sub1(){ private String str = "TEST"; //변수는 str를 리터럴 "TEST"로 초기화 private final int num = 3.14159; //변수이자 상수 num를 리터럴 3.14159로 초기화 } class Sub2(){ //클래스 private String str; /..
Q1. 형 변환이란 해당 변수의 타입을 다른 타입으로 변환하는 것이다. 자바에서는 2가지의 형 변환이 있는데, int num = 100; String str1 = num; //숫자를 문자타입으로 대입하는 경우 '묵시적 (자동) 형 변환' String str2 = (String) num; // (String)라는 타입을 지정하는 '명시적 (강제) 형 변환' 묵시적 형 변환이 적용되는 경우가 그렇게 많지가 않았고, 되려 명시적을 사용하는 경우는 많이 있었다. 제목과 같이 toString과 valueOf는 또 다른 명시적 형 변환 방법이라고 보면 된다. 위 두 기능을 아래와 같은 표로 정리를 하였다. Q2. 결론적으로 개발자라면 가장 많이 접하는 nullPointException 에러를 유발하는 주 요인이다...
자바스크립트에서 소수점을 제어하려고 할때는 아래 기능을 사용한다. Q1. 소수점을 버리는 방법 3가지 var result = Math.floor(1.123456); //1 (숫자) result = Math.floor(-9.1234); //-10 (숫자) var result = parseInt(1.123456); //1 (숫자) result = parseInt(-9.1234); //-9 (숫자) var result = 1.123456; result.toString().split(".")[0]; //1 (문자) result = -9.1234; result.toString().split(".")[0]; //-9 (문자) Q2. 소수점을 n자리수 표시하는 방법 3가지 var result = 1.123456.to..