Java

    Rest Controller란?

    Rest Controller란?

    @RestController Spring 4에서 Rest API 또는 Web API를 개발하기 위해 등장한 어노테이션 이전 버전의 @Controller와 @ResponseBody를 포함한다. Rest Controller를 사용하기 위해서는 MesageConvertor가 중요하다. 예를 들면 MessageConvertor는 외부에서 전달 받은 Json 메서드를 내부에서 사용할 수 있는 객체로 변환하거나 Controller를 리턴한 객체가 클라이언트에게 Json으로 변환해서 전달할 수 있도록 하는 역할을 수행한다. MessageConvertor 자바 객체와 HTTP 요청/ 응답 바디를 변환하는 역할 @ResponseBody, @RequestBody @EnableWebMvc로 인한 기본 설정 WebMvcCon..

    Post 방식으로 데이터 전송시 한글이 깨지는 문제

    web.xml 파일의 태그 안에 아래의 코드를 삽입. encodingFilterUTF8 org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilterUTF8 /

    Spring Error

    org.apache.tomcat.util.modeler.BaseModelMBean.invoke Error 발생시 web.xml에 오타가 없는지 확인. org.apache.catalina.core.ContainerBase.addChildInternal Error 발생시 web.xml의 url-parttern 또는 servlet의 urlPatterns에 '/'가 빠졌는지 확인 java package org.junit does not exist Error 발생시 pom.xml의 junit dependency에서 scope 엘리먼트를 지우거나 버전을 올려서 해결해준다. https://stackoverflow.com/questions/5845990/maven-3-and-junit-4-compilation-prob..

    레이어드 아키텍처(Layerd architecture)란?

    레이어드 아키텍처(Layerd architecture)란?

    레이어드 아키텍처가 사용되는 이유 웹 페이지는 중복 개발되는 요소가 존재한다. Controller에서 중복되는 부분을 처리하려면? 별도의 객체로 분리한다. 중복된 부분을 별도의 메서드로 분리한다. 예를 들어 쇼핑몰에서 게시판에서도 회원정보를 보여주고, 상품 목록 보기에서도 회원 정보를 보여줘야한다면 회원 정보를 읽어오는 코드는 어떻게 해야할까? 회원 정보를 읽어들이는 것만 별도의 객체로 만들고 게시판과 회원 정보 Controller가 이 객체를 이용. Controller들이 중복적으로 호출하는 부분들은 별도의 객체인 Service로 구현하며, Service객체는 비즈니스 메서드를 갖는다. (업무와 관련된 메서드를 비즈니스 메서드라고 한다.) 서비스 객체란? 비즈니스 로직(Business logic)을 수..

    Spring MVC가 지원하는 메소드 리턴 값

    org.springframework.web.servlet.ModelAndView org.springframework.ui.Model java.util.Map org.springframework.ui.ModelMap org.springframework.web.servlet.View java.lang.String java.lang.Void org.springframework.http.HttpEntity org.springframework.http.ResponseEntity 기타 리턴 타입 참조 URL https://www.edwith.org/boostcourse-web/lecture/16764/

    Spring MVC가 지원하는 메서드 Annotation

    @RequestParam Mapping된 메소드의 Argument에 붙일 수 있는 Annotation. @RequestParam의 name에는 http parameter의 name과 매핑. @RequestParam의 required는 필수인지 아닌지 판단. @RequestHeader 요청 정보의 헤더 정보를 읽어들일 때 사용 @RequestHeader(name="헤더명") String 변수명 @PathVariable @RequestMapping의 path에 변수명을 입력받기 위한 place holder가 필요함 place holder의 이름과 PathVariable의 name값과 같으면 mapping됨. required 속성은 default true임. @RequestBody @RequestPart @M..

    Spring MVC가 지원하는 Controller 인수 타입

    javax.servlet.ServletRequest javax.servlet.http.HttpServletRequest org.sringframework.web.multipart.MultipartRequest org.springframework.web.multipart.MultipartHttpServletRequest javax.servlet.ServletResponse javax.seclet.http.HttpServletResponse javax.servlet.http.HttpSession org.springframework.web.context.request.WebRequest org.springframework.web.multipart.MultipartFile org.stpringframework...

    Java 어노테이션

    @Configuration : 스프링 설정 클래스를 선언하는 어노테이션 @Bean : bean을 정의하는 어노테이션 (라이브러리 혹은 내장 클래스 등 개발자가 직접 제어가 불가능한 클래스들을 Bean으로 등록하기 위해 사용) @ComponentScan : @Controller, @Service, @Repository, @Component 어노테이션이 붙은 클래스를 찾아 컨테이너에 등록하는 어노테이션 (basePackages를 지정하면 여러개의 package를 지정할 수 있다.) @Component : Component scan의 대상이 되는 어노테이션 중 하나로써 주로 유틸, 기타 지원 클래스에 붙이는 어노테이션 @Autowired : 주입 대상이 되는 bean을 컨테이너에서 찾아 주입하는 어노테이션 @..