Spring(10)
-
RESTful(10) - filter, interceptor
사용목적 = 공통적으로 처리할 업무 진행 권한 체크, 로그인 관리, 페이지 인코딩 등의 업무를 공통적으로 여러 곳에서 처리해야 하는 상황이라면, 같은 코드를 중복해서 사용하기보다는 공통 프로세스로 떼어내어 따로 개발하는 게 더 효율적이다. filter와 interceptor 모두 '공통'적으로 어떠한 로직을 수행하는것인데, 실행 흐름을 보면 (1) filter - (2) interceptor 이렇게 있다. 따라서 요청이 들어오면 가장 먼저 거치는 부분은 filter, 그다음엔 interceptor이다. Filter - 요청&응답 거른 뒤 정제하는 역할 - 스프링 콘텍스트 외부에 존재 -> 스트링과 무관한 자원에 대해 동작함 - 앞단에서 요청 내용을 변경하거나 체크할 수 있음 - 자원처리가 끝난 후, 응답..
2020.07.08 -
MyBatis를 이용한 DAO구현
2. MyBatis를 이용한 DAO구현 1) SqlSessionTemplate이용 insert into guestbook_message (message_id, guest_name, password, message) values (GM_MID_SEQ.NEXTVAL, #{guestName}, #{password}, #{message}) select count(*) from guestbook_message = #{firstRow}]]> select * from guestbook_message where message_id = #{id} delete from guestbook_message where message_id = #{id} package com.bitcamp.guest.dao; // ★★ SQL문 작..
2019.11.20 -
MyBatis란? Spring + MyBatis 연동
MyBatis란? SQL실행 결과를 자바 빈즈 혹은 Map 객체에 매핑 해주는 Persistence 솔루션으로 SQL을 소스코드가 아닌 XML로 따로 분리해 관리하도록 지원 장점 SQL 문장과 프로그래밍 코드의 분리 JDBC 라이브러리를 통해 매개변수를 전달하고 결과를 추출하는 일을 간단히 처리가능 자주 쓰이는 데이터를 변경되지 않는 동안에 임시 보관(Cache) 가능 트랜잭션처리 제공 1. 설정 Spring + MyBatis 연동 MyBatis의 모듈을 통해 스프링이 제공하는 DataSource&트랜잭션 관리 기능을 MyBatis에 적용 가능 org.mybatis mybatis 3.4.1 org.mybatis mybatis-spring -> 모듈 추가 1.3.0 mybatis-spring 모듈 → Sq..
2019.11.20 -
컨트롤러 구현(3) - @CookieValue , @RequestHeader
- @CookieValue : 쿠키를 파라미터로 전달받음 package com.bitcamp.mvc.member; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.CookieValue; import org.springframework.web.bind.annotation.RequestMappin..
2019.11.14 -
컨트롤러 구현(2) - 커맨드 객체, @ModelAttribute
커맨드 객체 : HTTP요청 파라미터를 저장한 객체 기본적으로 클래스 이름을 모델명으로 사용한다 (데이터 많을때 사용!) @ModelAttribute를 사용하여 '모델명'을 설정할 수도 있다 Domain : package com.bitcamp.mvc.domain; public class OrderItem { private String itemId; private String number; private String remark; public String getItemId() { return itemId; } public void setItemId(String itemId) { this.itemId = itemId; } public String getNumber() { return number; } pub..
2019.11.14 -
컨트롤러 구현(1) - 핵심 어노테이션(@Controller, @RequestMapping, @RequestParam, @ModelAttribute)
- @Controller : Controller 클래스 정의 문법 1 : 요청 URL만 선언 - @RequestMapping(/"요청한 URL") 문법 2 : 요청 방식 지정 - @RequestMapping(value="/요청한 URL", method=RequestMethod.POST) view 지정 방법 (메소드 반환 값에 따른 view page 지정) 방법 1 : ModelAndView - setViewName()메소드 파라미터로 설정 방법 2 : String - 메소드의 리턴값 - @RequestMapping : HTTP요청 URL를 처리할 Controller 메소드 정의 동일한 URL로 GET/POST방식 모두 처리하기 package com.bitcamp.mvc.member; import java..
2019.11.14