본문 바로가기

반응형

Server Programming/Spring Boot Backend Programming

(46)
5장-2. Thymeleaf JSP를 대신하는 템플릿 라이브러리 Thymeleaf Thymeleaf 사용을 위한 네임스페이스 지정 Model에 담긴 데이터 사용시 변수 찾지 못하는 에러 해제 : Settings- Thymeleaf - Unresolved references in Thymeleaf expression variables Thymeleaf 순서 출력 : 'th :', 인라인 '[[${~}]]' 변수 선언 : with 반복문과 제어문 : each, 삼항연산자, Switch 링크 처리 : '@', 쿼리스트링, URLEncoding 고유한 기능 : 인라인, 레이아웃 Thymeleaf 출력 Model에 담긴 데이터 출력 방법 'th: '로 시작하는 속성 이용 인라인 이용 (1) 출력 테스트를 위해 컨트롤러에 ex1() 메서드 작..
5장-1. 스프링 부트의 시작 (+Thymeleaf, RESTful, JSON, API Server) 요구사항 스프링 프레임워크 기반 개발에서 스프링 부트 기반 개발로의 전환 스프링 부트의 특징 스프링 + 자동설정 = 스프링 부트 톰캣이 내장되어 있고, 단독 실행 가능하다 -> 스프링 부트 프로젝트를 jar파일로 만들어 다른 운영체제에서 실행 가능 서블릿 -> 스프링의 경우, 기존 코드 재활용 불가 스프링 -> 스프링 부트의 경우, 코드 재활용 가능 스프링 JSP MyBatis log4j2 HikariCP 버전 관리가 필요한 build.gradle XML 설정 root-context.xml servlet-context.xml web.xml 스프링 부트 템플릿 엔진인 Thymleaf을 이용해 화면을 구성하거나 혹은 API 서버 형태로 화면을 구성하지 않고 데이터만 제공하기도 한다. JPA (별도의 SQL ..
4장-4. 스프링 Web MVC 구현 (3) 검색과 필터링 조건 (+ 동적 쿼리, 쿼리 스트링, URLEncoder) 요구사항 단순한 검색 제목, 작성자는 키워드를 이용해 검색 필터링을 이용한 복잡한 검색 완료 여부를 필터링 특정한 기간을 지정한 필터링 구현 순서 검색/필터링 조건 결정 type에 따른 동적 쿼리 작성 검색 조건을 위한 화면 처리 검색/필터링 조건 정의 검색과 필터링에 필요한 데이터 keyword: 제목, 작성자 검색에 사용하는 문자열 finished : 완료 여부에 사용되는 boolean from, to : 특정 기간 검색을 위한 LocalDate 검색/필터링 조건 결정 검색 기능의 경우의 수를 구분 -'완료 여부', '제목', '작성자', '기간'의 조합으로 구성 검색의 실제값은 검색 종류에 따라 키워드를 이용하는데 -PageRequestDTO에 필요한 변수를 추가해서 구성한다. PageRequest..
4장-3. 스프링 Web MVC 구현 (2) 페이징 처리 (+ 백틱) 요구사항 페이징 처리 페이징 DTO PageRequestDTO PageResponseDTO TodoMapper -limit(), count() TodoMapper의 목록 처리 TodoMapper의 count 처리 TodoService TodoController 목록 페이지 JSP 작성 CRUD 연동 limit을 이용한 페이징 구현 원리 많은 데이터 -> 페이징 처리를 통해 최소한의 데이터만을 출력 : DB에서 필요한 데이터만 가져와 SQL 입출력을 최소화한다. -MySQL, MariaDB에서는 limit이라는 기능을 이용해 페이징 처리가 가능하다. limit() 파라미터를 하나 혹은 두개를 받는다. 하나일 경우 : select * from tbl_todo order by tno desc limit 10;..
4장-2. 스프링 Web MVC 구현 (1) CRUD (+@Configuration, @Bean, 브라우저 한글 처리) 웹 MVC에서 스프링 프레임워크와 스프링 MVC으로의 이전 XML 설정 -> 어노테이션을 이용한 자바 설정 사용 기술 스프링 프레임워크 MyBatis 스프링 MVC 요구사항 CRUD 페이징 검색 검색과 필터링 가능한 화면 MyBatis의 동적 쿼리을 이용해 해당하는 Todo검색 새로운 Todo 등록시 문자열, boolean, LocalDate를 자동으로 처리 목록에서 조회 화면 이동시 모든 검색, 필터링, 페이징 조건 유지 조회 화면에서 모든 조건 유지한 채로, 수정/삭제 화면으로 이동 삭제 후, 다시 목록 화면으로 이동 (PRG) 수정 후, 다시 조회 화면으로 이동하지만 검색, 필터링, 페이지 조건은 초기화 (PRG) 한글 깨짐 처리를 위한 인코딩 설정 1. VM 옵션 2. File Encoding 옵..
4장-1. 스프링과 스프링 Web MVC 스프링과 스프링 Web MVC 의존성 주입과 스프링 스프링의 시작 ApplicationContext와 빈 인터페이스를 이용한 느슨한 결합 웹 프로젝트를 위한 스프링 준비 MyBatis와 스프링 연동 스프링 Web MVC 기초 스프링 Web MVC 특징 파라미터 자동 수집과 변환 스프링 MVC 예외 처리 스프링 Web MVC 구현하기 프로젝트의 구현 목표와 준비 부트스트랩 MyBatis와 스프링을 이용한 영속 처리 Todo 기능 개발 페이징 처리를 위한 TodoMapper 목록 데이터를 위한 DTO와 서비스 계층 검색/필터링 조건의 정의 검색 조건을 위한 화면 처리 Todo 애플리케이션에 스프링 MVC 적용 1. 스프링 MVC 컨트롤러를 이용해 여러 경로의 호출을 하나의 컨트롤러를 이용해 처리 -GET 방..
3장. 세션과 필터, 쿠키와 리스너 (+ 한글 깨짐 처리 / Optional<> / 옵저버 패턴) 1. 세션과 필터 -과거의 상태를 유지하지 않는 무상태 연결인 단점을 해소하기 위해 사용하는 세션과 쿠키 그리고 문자열을 이용하는 토큰 2. 사용자 정의 쿠키 3. 리스너 Todo 애플리케이션 로그인 체크 -로그인 사용자만 Todo 등록 가능하도록 변경 1. TodoRegisterController의 doGet()메서드 오버라이딩 -쿠키를 확인하고, 로그인 여부 확인 (1) 쿠키가 없는 새로운 사용자 : isNew()로 확인 (2) 쿠키가 있지만 로그인 정보가 없는 사용자 : session.getAttribute("loginInfo") ==null로 확인 (3) 쿠키도 있고, 로그인 정보도 있는 사용자 : 등록 페이지로 이동 -> req.getRequestDispatcher("/WEB-INF/todo/r..
2장. 웹과 데이터베이스 MariaDB 설치 -homebrew를 이용해 설치 터미널 brew install mariadb git must be installed and in your path! 에러 xcode-select --install 더보기 https://velog.io/@skwx50000/mac-m1OS-Monterey-homebrew%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%98%EC%97%AC-mac%EC%97%90-mariadb%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%97%90%EB%9F%AC-%EC%88%98%EC%A0%95 [mac m1/OS Monterey] homebrew를 이용하여 mac에 mariadb설치 및 에러 수정 인턴과제로 스프링 api개발과 mariadb 데이..

반응형