반응형
썸네일 스프링 [Spirng] 파일 업로드(multipart....)에 대한 정리 파일을 업로드할 경우 HTML 폼의 enctype 속성 값으로 multipart/form-data를 사용한다. .... 인코딩 타입이 multipart/form-data인 경우, 파라미터나 업로드한 파일 데이터를 사용하려면 전송 데이터를 정확하게 처리해 주어야한다. 스프링은 멀티파트 형식을 지원하고 있다. MultipartResolver 설정 멀티파트 지원 기능을 사용하기 위해 MultipartResolver을 스프링 설정파일에 등록해주어야한다. MultipartResolver은 멀티파트 형식으로 데이터가 전송된 경우, 해당 데이터를 스프링 mvc에서 사용할 수 있도록 변환해주는 역할이다. ex) @RequestParam 어노텐션을 이용해 멀티파트로 전송된 파라미터 값과 파일 데이터를 사용할수 있게 해준..
썸네일 스프링 [Spirng] XML 및 JSON 이란? 서비스나 데이터를 HTTP 기반 API 형태로 제공. 트위터의 타임라인, 멘션 목록, 팔로워 목록 등을 제공하는 HTTP 기반의 API를 제공하고, 네이버 또한 단축 URL을 제공하는 HTTP 기반의 API를 제공하고 있다. 위의 기업들 특징중 하나는 응답으로 XML이나 JSON형식을 사용한다는 점이 있다. MVC를 사용할 때, XML or JSON 응답 생성을 위한 뷰 클래스를 사용하거나 HttpServletResponse를 이용해서 직접 원하는 응답을 생성할 수 있다. 스프링 MVC는 XML과 JSON 형식을 처리하는 방법을 제공하는데, 어노텐션이 들어간 @requestBody와 @ResponseBody를 사용하는 것이다. @RequestBody , @ResponseBody , HttpMessageC..
썸네일 스프링 [Spirng] ViewResolver 인터페이스란 스프링 컨트롤러는 뷰에 의존적이지 않다. 컨트롤러가 지정한 뷰 이름으로부터 응답 결과 화면을 생성하는 View 객체를 구할 때 사용되는 것이 ViewResolver이며 스프링은 몇 가지 ViewResolver 구현 클래스를 제공하고 있다. ViewResolver 인터페이스는 import된 util.Locale를 받아 정의되어 있다. public interface ViewResolver { View resolverViewName(String viewName, Locale locale) throws Exception; } ViewResolver은 뷰 이름과 지역화를 위한 Locale을 파라미터로 전달받으며 맵핑되는 View 객체를 리턴한다 맵핑되는 View 객체가 존재하지 않을경우 null을 리턴한다. Vi..
썸네일 스프링 [Spirng] MVC패턴에 대한 개념 및 용어 설정에 대한 정리. MVC - (Model View Controller) HandlerMapping과 같이 이 표시된 것은 스프링 빈으로 등록되는 것을 표현한 것(View의 경우는 직접 구현해서 스프링 빈으로 등록하기도 한다.) 회색으로 표시된 부분은 직접 구현해주는 부분이다. 스프링 MVC를 사용하기 위한 기본 설정 web.xml에 DispatcherServlet설정 web.xml에 캐릭터 인코딩 처리를 위한 필터 설정 스프링 MVC설정 HandlerMapping, HandlerAdapter설정 ViewResolver 설정 DispatcherServlet 서블릿 설정 DispatcherServlet는 스프링 MVC 프레임워크의 중심이 되는 서블릿 클래스이다. 웹 브라우저의 요청을 DispatcherServlet가 받게 되..
썸네일 스프링 [Spirng] AOP(Aspect Oriented Programming) 개념 정리 및 주요 용어 Aspect Oriented Programming = AOP AOP는 문제를 바라보는 관점을 기준으로 프로그래밍하는 기법이다. AOP는 문제를 해결하기 위한 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍 함으로써 공통 모듈을 여러 코드에 쉽게 적용할 수 있게 도와준다 AOP를 구현하는 다양한 방법이 존재하지만, 기본적인 개념은 공통 관심 사항을 구현한 코드를 핵심 로직을 구현한 코드 안에 삽입하는것이다. AOP란 쉽게 말해 핵심 로직을 구현할때 계속 반복적으로 쓰는 공통 코드를 조금더 쉽게 줄여서 가져다 쓰기위해 만들어 진 기능이다. AOP 기법에서는 핵심 로직을 구현한 코드에서 공통 기능을 직접적으로 호출하지 않는다. 핵심 로직을 구현한 코드를 컴파일 하거나 , 컴파일 된 클래..
스프링 [Spirng] Environment를 이용한 프로퍼티 란 Environment를 이용한 프로퍼티 어플리케이션을 개발하다보면 동일한 코드를 사용하면서 일부 정보만 변경하고 싶은경우가 흔히 발생하는데, 이러한 경우 프로그램 코드를 바꾸기보단 별도 파일을 이용해 설정 정보를 변경하도록 만든다. ex) 톰캣 서버는 server.xml이라는 파일에 사용할 포트 번호를 설정하며, 아파치 웹 서버는 httpd.conf파일에 포트 번호화 디렉토리 경로를 설정한다. 스프링도 비슷하게 스프링에 설정 변경 없이 외부에서 입력한 정보를 이용해 설정 값을 변경하는 방법들을 제공하고 있고, 그중 한 가지 방법이 Environment이다. 프로퍼티 통합 관리 프로필을 이용해서 선택적으로 설정 정보를 사용할 수 있는 방법을 제공 Environment는 시스템 환경 변수, JVM(자바 가상..