본문 바로가기
관리자

분류 전체보기

(999)
[비공개] Weekly Report - 21/08/09~21/08/15, 413일차 보호되어 있는 글입니다.
[스프링 웹MVC-2] 3. 타임리프/스프링으로 폼 양식 만들기 - th:object, th:field, 체크박스, 라디오 버튼, 셀렉트 박스 form 프로젝트를 생성한다. 강의에서 기초 자료를 받아서 진행한다. MVC 1편에서 상품 관련 폼을 만들던 프로젝트이다. 스프링 통합 폼을 실습하기 위해서, 타임리프를 스프링 빈 형태로 등록해야한다. 기존 스프링은 다소 복잡한 과정을 통해 타임리프 템플릿 엔진을 스프링 빈으로 등록해야 하지만, 스프링 부트는 아래 구문으로 build.gradle 파일에 타임리프를 import 해옴으로써 이런 과정을 한번에 처리해준다. implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 1. 입력 폼 수정 상품 등록/수정 폼 우선 html 파일에서 객체 정보를 바로 넘길 수 있도록 하기 위해, Controller에서 객체를 넘겨줘야 한다. 이때 ..
[스프링 웹MVC-2] 2. 타임리프 기본 - 2 : 대표 문법 공부 계속 - 반복, 조건, 주석, 블록, 자바스크립트, 템플릿, 레이아웃 1. 타임리프 기능 살펴보기 - 이전 글에 이어서 반복 반복 기능은 반복적으로 데이터를 렌더링 해준다. 아래 코드와 같이 th:each="파라미터1, 파라미터2 : ${반복객체}" 로 표현한다. 파라미터1은 반복 객체 속의 각 객체를 의미하고, 파라미터2는 각 객체의 상태값을 표현한다. 파라미터1의 이름이 user인 경우 파라미터2의 이름은 userStat으로 자동지정되어 파라미터2는 생략해도 정상 동작한다. 표현할 수 있는 상태값은 코드에 나와 있는 것과 같으며, current는 현재 반복 index의 각 객체를 표시한다. 결과 화면을 참고하자. 예시를 위해서 addUsers 메서드를 추가했다. 반복 기능의 경우 예시문의 List 뿐만 아니라, java.util.Iteration, java.util.E..
[스프링 웹MVC-2] 1. 타임리프 기본 - 1 : 프로젝트 생성, 대표 문법 공부 - text, 변수, 기본 및 편의 객체, 날짜, 유틸리티 1. 프로젝트 생성 및 초기 세팅 늘 하던대로 start.spring.io 사이트에서 프로젝트를 생성한다. 다만 Group은 hello, Artifact는 thymeleaf-basic 이라고 하되, 자동완성되는 package name은 hello.thymeleaf 까지만 작성한다. packaging은 Jar, Java 11버전, Gradle PJT로 진행한다. dependency는 Spring web, lombok, thymeleaf를 설정한다. 늘 하던대로~ annotation processor를 enabled로 바꿔주고, Build Tools를 intelliJ로 바꿔준다. resources/static/index.html 파일을 넣어준다. view 조회 경로를 미리 지정해놓은 html 파일이다. 2...
[스프링 웹MVC] 14. 웹페이지 실습 ; PRG 패턴, RedirectAttributes MVC 패턴과 Thymeleaf를 이용하여 간단한 웹사이트를 만들어본다. 1. 프로젝트 생성 프로젝트를 생성한다. 패키지명에 "-" 같은 표기가 들어가면 안되므로 유의하자 서버를 띄워 잘 실행되는지 확인하고, 아래의 index.html을 추가하여 welcome page가 정상적으로 보이는지 확인한다. resources/static/index.html 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Title 상품 관리 상품 관리 - 기본 Colored by Color Scripter cs 표현할 웹페이지의 기획 내용은 다음과 같다. 1. 상품 목록을 보여준다. 2. 상품 목록에서 상품 상세로 이동가능하다. 3. 상품 저장이 가능하며, 저장 완료 시 상품 상세 화면으로 이동한다...
[스프링 웹MVC] 13. 스프링 MVC - HTTP 메시지 컨버터, 요청 매핑 핸들러 어댑터 구조 1. 메시지 컨버터 메시지 컨버터는 HTTP 요청 body를 원하는 타입으로 변환하거나, HTTP 응답으로 뷰 템플릿을 전송하는 것이 아니라 JSON 객체 등으로 HTTP body에 직접 메시지를 쓰는 경우에 사용한다. 구체적으로, ViewResolver 대신 HttpMessageConverter가 적용된다. 스프링부트에서는 앞서 살펴보았던 @RequestBody, @ResponseBody, HttpEntity 등이 적용되어 body가 송수신되는 경우에 메시지 컨버터가 적용된다. HttpMessageConverter를 상속하여 여러가지 타입의 데이터 메시지를 처리하는 다양한 컨터버 클래스들이 존재한다. 대표적인 컨버터들은 다음과 같다. 위쪽 컨버터부터 순서대로 작동한다. ByteArrayHttpMessa..
[스프링 웹MVC] 12. 스프링 MVC - 응답 정보 처리 기능 1. View 처리방식 응답을 단순 text, JSON 정보로 보내는 것이 아니라 View로 보내는 방법을 배운다. MVC 패턴의 마지막 단계라고 할 수 있다. 스프링부트에서 View를 처리하는 방식은 Controller의 viewPath를 기반으로 static, 또는 동적인 templates의 html 파일을 반환하는 방식이다. resources 경로 내부에 '/static', '/public', '/resources', '/META-INF/resources' 디렉토리가 있으면 그 디렉토리 내부의 view 파일들을 참조하는 방식으로 작동한다. 여기서 static 디렉토리에는 정적 리소스 정보를, templates 폴더에는 동적 HTML 정보를 넣어주는 것이 일반적이다. 2. 응답 처리 - 정적 리소스,..
[비공개] Weekly Report - 21/08/02~21/08/08, 406일차 보호되어 있는 글입니다.