■ 비동기 요청 방법 - Controller에서 반환되는 값은 forward또는 redirect를 위한 경로인 경우가 일반적이다. 즉, 반환되는 값은 경로로써 인식한다. - 이를 해결하기 위한 어노테이션이 @ResponseBody이다. - 반환되는 값을 응답(response)의 몸통(body)에 추가하여 이전 요청주소로 돌아간다. - Controller에서 번환되는 값이 아닌 "값 자체"로 인식한다. ex) 아이디 중복검사 예시 @ResponseBody // 비동기 요청시 사용 @GetMapping("/idCheck.me") public String idCheck(String userId) { int result = mService.idCheck(userId); return result + ""; }
1. 메서드별로 예외를 처리하는 방법 - try-catch / throws 방법 - 1순위로 적용된다. 2. 하나의 컨트롤러에서 발생하는 예외를 모아서 처리하는 방법 - @ExceptionHandler(메서드 작성) 방법 - 2순위로 적용된다. ex) controller에서 메서드 작성 @ExceptionHandler(Exception.class) public String exceptionHandler(Exception e, Model model) { e.printStackTrace(); model.addAttribute("errorMsg", "서비스 이용중 문제가 발생했습니다."); return "common/errorPage"; } 3. 전역에서 발생하는 예외를 모아서 처리하는 클래스 - @Contr..
1. Model 객체 이용 - forwarding할 응답 View로 전달하고자 하는 데이터를 Map형식으로 담을 수 있는 객체(Model객체는 requestScope를 가지고 있다.) - request, session을 대신하는 객체이다. - 기본 scope는 request이고 session scope로 변환하고 싶은 경우 클래스 위에 @SessionAttribute를 작성하면 된다. - Model안에 데이터를 추가하는 함수 : addAttribute() 2. ModelAndView 객체 이용 - ModelAndView에서 Model은 데이터를 담을 수 있는 key-value형태의 객체이다. (위 Model과 동일) - View는 이동하고자하는 페이지에 대한 정보를 담고있는 객체가 합쳐진게 ModelAn..
■ @RequestMapping @RequestMapping(value = "login.me", method = RequestMethod.POST) - RequestMapping이라는 어노테이션을 붙이면 HandlerMapping곳에 등록이 된다. - () 안에 여러 개의 속성을 추가할 수 있다. ■ 스프링에서 parameter(요청시 전달값)을 받는 방법 ● HttpServletRequest request를 이용해서 전달받기(기존방식 그대로) - 해당 메서드의 매개변수로 HttpServletRequest를 작성해 놓으면 스프링 컨테이너가 해당 메서드를 호출할 때 자동으로 request객체를 생성해서 매개변수로 주입해 준다. ex) public String loginMember(HttpServletReq..
■ @Controller - Controller 타입의 어노테이션을 붙여주면 빈 스캐너가 자동으로 빈으로 등록해 준다. (servlet-context.xml안에 있는 태그) @Controller public class MemberController { } ■ 기존 객체 생성 방식 - new 연산자를 사용해서 아래와 같이 만들었다. - 단점은 서비스가 동시에 많은 횟수가 요청이 되면 그만큼 많은 객체가 생성된다. private MemberService mService = new MemberService(); ■ Spring 객체 생성 방식 - Spring의 DI(Dependency Injection) : 객체를 스프링에서 직접 생성해서 주입해 주는 개념 - new 연산자를 쓰지 않고 선언만 한 후 @Aut..
■ lombok - 자동 코드 생성 라이브러리 - 반복되는 getter/setter/toString 등 메서드 작성 코드를 줄여주는 역할의 코드 라이브러리 ● lombok 적용법 1. 라이브러리 다운 후 적용(pom.xml) 2. 다운로드된 jar파일 찾아서 설치 ※ 주의사항 : ide가 꺼져있는 상태에서 설치할 것 3. ide 재실행 ● lombok 사용시 주의사항 1. uName, bTitle과 같이 앞 글자가 소문자 외자인 필드명은 만들면 안 된다. 2. 필드명 작성 시 소문자 두 글자 이상으로 시작해야 한다. 3. el표기법 사용 시 내부적으로 getter메서드를 찾게 되는데 이때 getuName(), getbTitle()이라는 이름으로 메서드를 호출하기 때문이다. 기본 방식이라면 getUName..