Spring MVC Framework는 HandlerMapping/Adpater라는 인터페이스를 통해 URL의 테이블을 만들고 클라이언트가 요청한 URL을 매핑된 스프링 빈(빈의 이름이 URL에 매핑된다)에 연결을 하는 역할을 해준다 이때 이전의 방식이라면 빈을 등록할 때 @Component라는 어노테이션을 추가해 일일이 등록을 해야 했지만 스프링 MVC에서는 @Controller라는 어노테이션을 활용하여 매우 쉽게 스프링 빈을 등록할 수 있다 (Handler == Controller) @Controller 아래의 예시와 같이 클래스 단에 @Controller라고 어노테이션을 작성하게 되면 해당 클래스에 속한 메서드들을 스프링 빈으로 지정한다 @Controller public class Controlle..
(참고: 단순히 각 아카이브의 개념을 이해하기 위하여 작성된 글입니다.) 스프링 프로젝트를 시작할 때 Jar 와 War를 보고 헷갈려했던 경우가 많았는데 이번 글에서 확실히 짚고 넘어가고자 한다 우선 이 파일들이 무엇을 위해 존재하는지부터 살펴보겠다 애플리케이션 배포 JAR와 WAR를 기준으로 살펴보자면 근본적으로는 둘다 애플리케이션 배포를 목적으로 사용되는 파일이다 애플리케이션 소스들을 배포할 시에 path등의 설정에서의 애로사항을 제거하기 위해 탄생한 압축(아카이브) 방식으로 이 압축파일들은 압축의 해제 없이 JDK에서 각 파일들을 접근하여 사용할 수 있도록 설계되어 있다 간단하게 말하자면 서버에 리소스, 속성 파일 등이 압축되어 있는 이 파일만 넣어주면 알아서 서비스(개발자가 만든)가 작동하는 것이..
(참고: JSP/Servlet을 기준으로 작성된 글입니다) Spring Framework Spring MVC 또한 결국 스프링이 만든 하나의 Framework이다 즉 스프링이 만들어 놓은 DispatcherServlet, HandlerMapping 등의 인터페이스로 다형성을 활용하여 코드의 변경 없이 원하는 기능을 변경하거나 확장할 수 있는 것이다 스프링 프레임워크가 제공하는 주요 인터페이스부터 살펴보자 • DispatcherServlet 스프링 프레임워크의 핵심이라고 할 수 있는 디스패쳐 서블릿은 프론트 핸들러(컨트롤러) 패턴으로 설계되었다 프론트 컨트롤러가 없던 이전에는 한 개의 URL에 한 개의 서블릿이 매핑되는 구조를 사용하였다고 한다 이렇게 각각의 서블릿이 매핑이 되면 forward 같은 공통된..
(참고: Spring MVC Framework를 학습하기 이전에 단순히 기본 MVC 패턴을 이해하기 위한 글입니다) Web Server / Servlet / JSP와 HTTP 요청 데이터 그리고 HTTP 응답 데이터에서 클라이언트와 서버가 소통하는 방법을 살펴보았었다 이전에는 이를 바탕으로 Servlet과 JSP를 활용하여 개발을 진행했었다고 한다 하지만 비즈니스로직 뿐만 아니라 뷰로직을 함께 포함하여 작성해야 했었기 때문에 뷰와 비즈니스로직의 변경 사이클이 다름에도 불구하고 하나를 수정하게 되면 서로 영향을 주었다 이러한 문제 때문에 복잡한 로직을 구현하는 순간부터 유지보수 지옥이 시작되었다고 한다 이러한 문제점을 타파하기 나온 것이 바로 MVC 패턴이다 MVC 패턴 웹 애플리케이션이라면 보통 MVC ..
(참고: 단순히 HTTP 요청 데이터의 매커니즘을 파악하기 위한 글로써 Servlet을 기준으로 작성되었다) 클라이언트(사용자)가 HTTP 요청 메시지를 통해 서버에 데이터를 전송하는 방법을 정리해보고자 한다 데이터를 전송하는 방법은 3가지의 방식으로 나뉘며 이 3가지 방식으로 클라이언트가 보내는 모든 요청 데이터를 받을 수 있다 쿼리 파라미터 (HTTP GET) MessageBody가 아닌 URL의 쿼리 파라미터에 데이터를 포함해서 전달하는 방식이다 검색, 필터, 페이징 등에서 많이 사용되는 방식이며 클라이언트에게 직접적으로 노출이 되기 때문에 민감한 정보는 제외해야 한다 또한 쿼리파라미터의 경우 message body가 아닌 url을 통하여 데이터를 전송하기 때문에 content-type이 없다 HT..
Spring Framework는 기능이 많은 만큼 환경이 매우 복잡한 편이다 이에 어려움을 느끼는 사용자들을 위해 만든 것이 바로 스프링 부트다 Spring Boot 스프링 부트의 공식문서에서 밝히는 이들의 목표는 아래와 같다 • 모든 Spring 개발에 대해 근본적으로 더 빠르고 광범위하게 액세스 할 수 있는 시작 환경을 제공한다 • 대규모 프로젝트 클래스 (내장 서버, 보안, 매트릭, 상태확인 및 외부 구성)에 공통적인 기능 등을 제공한다 • 코드 생성 및 XML 구성 요구 사항이 없다 기존의 Spring과의 차이점을 대략 정리해 보자면 아래와 같다 1. 내장 톰캣 내장 톰캣을 사용하기 때문에 따로 톰캣을 설치하거나 매번 버전을 관리해 주지 않아도 된다 2. stater를 통한 dependency를 ..
- Total
- Today
- Yesterday
- spring
- ResponseStatusExeceptionResolver
- ExceptionHandlerExceptionResolver
- 캐시
- 제이쿼리 인접 관계 선택자
- Cache
- @ExceptionHandlere
- Spring API Error
- Spring TypeConverter
- http
- cookie
- 제이쿼리란
- OOP
- 제이쿼리 직접 선택자
- 쿠키
- maenco
- 맨코
- 세션
- Spring Container
- DefaultHandlerExceptionResolver
- 제이쿼리 위치탐색선택자
- jQuery 직접 선택자
- 제이쿼리 탐색선택자
- uri
- Spring MVC
- @ResponseStatus
- Session
- application/x-www-form-urlencoded
- 제이쿼리 기본 선택자
- DTO와 VO의 차이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |