본문 바로가기

MVC24

[스프링 MVC 1편] 7 - (4) 상품 등록, 수정, Redirect * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 섹션7 부터는 자바 17 버전으로 진행합니다 * 진도 : 섹션7 - (7) ~ (11) * : 자바 클래스명, : 코드, : 단축키 1. 상품 등록 1) 컨트롤러 추가 [ java/hello/itemservice/web/basic/BasicItemController ] @GetMapping("/add") public String addForm(){ return "basic/addForm"; } @PostMapping ("/add") public String save(@ModelAttribute("item") Item item){ itemRepository.save(item); return "basic/item"; } ur.. 2023. 12. 4.
[스프링 MVC 1편] 7 - (3) 상품 목록 - 타임리프 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 섹션7 부터는 자바 17 버전으로 진행합니다 * 진도 : 섹션7 - (4) ~ (6) * : 자바 클래스명, : 코드, : 단축키 1. 상품서비스 HTML 해당 부분은 강의를 참고해주세요 간단해서 넘어갑니다 ~ 이렇게 정적 리소스가 공개되는 /resources/static 폴더에 HTML을 넣어두면 실제 서비스에서도 공개된다 (지금처럼 공개할 필요없는 HTML을 두는 것은 주의) 2. 상품목록 - 타임리프 1) 컨트롤러 만들기 [ java/hello/itemservice/web/basic/BasicItemController ] @Controller @RequestMapping("/basic/items") @Required.. 2023. 12. 3.
[스프링 MVC 1편] 7 - (2) 상품 도메인 개발 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 섹션7 부터는 자바 17 버전으로 진행합니다 * 진도 : 섹션7 - (2) ~ (3) * : 자바 클래스명, : 코드, : 단축키 1. 요구 사항 분석 (섹션 3 - 1 참고) 상품 도메인 모델 상품 ID 상품명 가격 수량 상품 관리 기능 상품 목록 상품 상세 상품 등록 상품 수정 클라이언트 → 상품 목록 - 상품 상세 클라이언트 → 상품 등록 - 상품 저장 - 상품 상세 (내부 호출) 클라이언트 → 상품 수정 - 상품 상세 (redirect) 2. 도메인 개발 [ src - java - hello .iemservice - domain - item - Item ] @Getter @Setter public.. 2023. 12. 2.
[스프링 MVC 1편] 7 - (1) 프로젝트 생성 및 자바 버전 변경 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 섹션7 부터는 자바 17 버전으로 진행합니다 * 진도 : 섹션7 - (1) * : 자바 클래스명, : 코드, : 단축키 1. Open JDK17 설치 Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK a.. 2023. 12. 1.
[스프링 MVC 1편] 6 - (4) 응답 & 메세지 컨버터 & 핸들러 어댑터 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션6 - (11)~(14) * : 자바 클래스명, : 코드, : 단축키 1. HTTP 응답 스프링(서버)에서 응답 데이터를 만드는 방법은 크게 3가지이다 정적 리소스 정적인 HTML, css, js를 제공할 때는 정적 리소스를 사용 경로: /static, /public, /resources, /META-INF/resources 뷰 템플릿 동적인 HTML을 제공할 때는 뷰 템플릿을 사용 HTTP 메시지 사용 HTTP 메시지 바디에 JSON 같은 형식으로 데이터를 실어 보내기 예시 1) 뷰 템플릿 [ src - main - java - hello.springmvc - basic - response - Respons.. 2023. 11. 29.
[스프링 MVC 1편] 6 - (3) HTTP 요청 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션6 - (5)~(10) * : 자바 클래스명, : 코드, : 단축키 1. HTTP 요청 - 기본, 헤더 조회 [ src - main - java - hello.springmvc - basic - request - RequestHeaderController ] HTTP 요청 메세지를 손쉽게 작성해주는 기능 구조 - HTTP 메소드 - URL - 쿼리 스트링 - 스키마, 프로토콜 - 헤더 조회 - form 파라미터 형식 조회 - message body 데이터 직접 조회 @Slf4j @RestController public class RequestHeaderController { @Requ.. 2023. 11. 27.
[스프링 MVC 1편] 6 - (2) 스프링 MVC 요청 매핑 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션6 - (3)~(4) * : 자바 클래스명, : 코드, : 단축키 1. 요청 매핑 [ src - main - resources - requestmapping - MappingController ] 1) 로깅 설정하고 HTTP 메서드 속성을 정해보자! @RequestMapping 에 method 속성으로 HTTP 메서드를 지정하기 종류 : GET, HEAD, POST, PUT, PATCH, DELETE @RestController public class MappingController { private Logger log = LoggerFactory.getLogger(getClass()); @RequestMap.. 2023. 11. 23.
[스프링 MVC 1편] 5 - (2) 스프링 MVC * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션5 - (4) ~ (7) * : 자바 클래스명, : 코드, : 단축키 1. 스프링 MVC - 시작하기 @RequestMapping 매우 유연하고, 실용적인 컨트롤러를 만들 때 사용한다 - 우선순위 핸들러 매핑(= 핸들러 찾기) RequestMappingHandlerMapping 핸들러 어댑터(= 찾은 핸들러 실행해준다) RequestMappingHandlerAdapter 1) 회원 등록 [ src - java - hello .servlet - web - springmvc - v1 - SpringMemberFormControllerV1 ] @Controller public class SpringMemberFor.. 2023. 11. 17.
[스프링 MVC 1편] 5 - (1) 스프링 MVC * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션5 - (1) ~ (3) * : 자바 클래스명, : 코드, : 단축키 1. 스프링 MVC 전체 구조 1) 직접 만든 프레임워크(= 섹션 4) 스프링 MVC 비교 FrontController → DispatcherServlet handlerMappingMap → HandlerMapping MyHandlerAdapter → HandlerAdapter ModelView → ModelAndView viewResolver → ViewResolver MyView → View 2) DispatcherServlet 구조 스프링 MVC의 프론트 컨트롤러 = 디스패처 서블릿(DispatcherServlet) DispacherS.. 2023. 11. 16.
[스프링 MVC 1편] 4 - (5) 프론트 컨트롤러 - v5 * 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다 * 진도 : 섹션4 - (6) ~ (7) * : 자바 클래스명, : 코드, : 단축키 1. 프론트 컨트롤러_구현 5단계 (V3 지원) Controller를 v1 ~ v4 까지 만들어보았는데 컨트롤러를 섞어서 다양하게 써보자 지금까지 우리가 개발한 프론트 컨트롤러는 한가지 방식의 컨트롤러 인터페이스만 사용할 수 있다 예로 ControllerV3 , ControllerV4 는 다른 인터페이스라 호환이 불가능하다 어댑터 패턴을 사용해서 프론트 컨트롤러가 다양한 방식의 컨트롤러를 처리하자 어댑터 패턴 서로 다른 인터페이스를 사용할 수 있도록 바꿔줌으로써 기존 코드를 재사용 핸들러란 이벤트가 발생했을 때, 해당 이벤트에 맞는 동작을 .. 2023. 11. 13.