본문 바로가기

728x90
반응형

블로거

[코드로 배우는 스프링 웹 프로젝트] ch11 화면 처리 1 ◎ 화면 처리 ▷ 각 영역에 대한 모든 처리와 테스트가 완료되었고 만일 에러가 발생한다면 모든 문제는 화면 쪽에서만 발생함. ▷ 화면에는 JSP, JavaScript(jQuery), CSS, HTML 이용 ▷ 화면 개발 전에는 화면의 전체 레이아웃이나 디자인이 반영된 상태에서 개발하는 것이 좋음 ▶ BootStrap을 이용한 무료 디자인도 좋음(https://startbootstrap.com/template-categories/all/ ) ◎ 예제 사용 디자인 ▷ 'SB Admin2' 이용 ▷ http://cafe.naver.com/gugucoding (구멍가게코딩단 : 네이버 카페 (naver.com)) ▷ 해당 압축 파일을 다운 받은 후 압축 해제하고 6개의 폴더를 src/main/webapp/res.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch10 프레젠테이션(웹) 계층의 CRUD 구현 2 https://bobo12.tistory.com/300 (3) 조회 처리와 테스트 ▷ 등록 처리와 유사하게 조회 처리도 BoardController를 이용해 처리 가능 ▷ 특별한 경우가 아니라면 조회는 GET 방식으로 처리하므로, @GetMapping을 이용 ◎ src/main/java → org.codehows.controller → BoardController 클래스 수정 ...(생략)... @GetMapping("/get") public void get(@RequestParam("bno") Long bno, Model model) { log.info("get"); model.addAttribute("board", service.get(bno)); } } ▷ BoardController의 get() .. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch10 프레젠테이션(웹) 계층의 CRUD 구현 1 ◎ 프레젠테이션 계층 ▷ 비즈니스 계층의 구현까지 모든 테스트가 진행되었다면 남은 작업은 프레젠테이션 계층인 웹의 구현 1. Controller의 작성 ▷ 스프링 MVC의 Controller는 하나의 클래스 내에서 여러 메소드를 작성하고 @RequestMapping 등을 이용해 URL을 분기하는 구조로 작성할 수 있음 ▷ 하나의 클래스에서 필요한 만큼 메소드의 분기를 이용하는 구조로 작성 ▷ WAS(Tomcat)을 실행하지 않고 Controller 테스트할 수 있는 방법 학습 필요 (1) BoardController 분석 ▷ 작성 전 현재 원하는 기능 호출 방식에 대해 테이블로 정리한 후 코드를 작성하는 것이 좋음 From 항목은 해당 URL을 호출하기 위해서 별도의 입력화면이 필요하다는 것을 의미 2... 더보기
[코드로 배우는 스프링 웹 프로젝트] ch09 비즈니스 계층 ◎ 비즈니스 계층 ▷ 고객의 요구사항을 반영하는 계층, 프레젠테이션 계층과 영속 계층의 중간 다리 역할 ▷ 영속 계층은 데이터베이스 기준으로 해 설계를 나눠 구현하지만, 비즈니스 계층은 로직을 기준으로 처리 ◎ 쇼핑몰에서 상품 구매 예시 1. 쇼핑몰 로직이 '물건을 구매한 회원에게는 포인트 올려준다'고 하면 영속 계층의 설계는 '상품', '회원'으로 나누어 설계 2. 비즈니스 계층은 상품 영역, 회원 영역을 동시에 사용해서 하나의 로직 처리를 하므로 아래와 같은 구조 설계를 할 때는 원칙적으로 영역을 구분해서 작성해야 하며 일반적으로 비즈니스 영역에 있는 객체들은 '서비스'라는 용어 사용 1. 비즈니스 계층 설정 1. org.codehows.service 패키지 생성 2. 각 계층 간의 연결은 인터페이스.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch08 영속/비즈니스 계층의 CRUD 구현 2(create, read, update, delete) https://bobo12.tistory.com/297 2. 영속 영역의 CRUD 구현 ▷ 웹 프로젝트 구조에서 마지막 영역이 영속 영역이지만, 실제로 구현을 가장 먼저 할 수 있는 영역도 영속 영역 ▷ 기본적으로 CRUD 작업 하기 때문에 테이블과 VO(DTO) 등 약간의 준비만으로도 비즈니스 로직과 무관하게 CRUD 작업 가능 (1) Create(insert) 처리 ▷ tbl_board 테이블은 PK 칼럼으로 bno 이용, 시퀀스를 이용해 자동 데이터 추가시 번호가 만들어지는 방식 사용 ▷ 자동으로 데이터가 추가될 때 번호가 만들어지는 방식 사용 ▶ insert만 처리되고 생성된 PK 값을 알 필요가 없는 경우 ▶ insert문이 실행되고 생성된 PK 값을 알아야 하는 경우 ◎ BoardMapper .. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch08 영속/비즈니스 계층의 CRUD 구현 1(select, 테이블 출력) ◎ 데이터베이스를 이용한 CRUD 진행 순서 ▷ 테이블 칼럼 구조를 반영하는 VO(Value Object) 클래스 생성 ▷ MyBatis의 Mapper 인터페이스 작성/XML 처리 ▷ 작성한 Mapper 인터페이스의 테스트 1. 영속 계층의 구현 준비 ▷ 대부분 웹 애플리케이션의 최종 목적은 데이터베이스에 데이터를 기록하거나 원하는 데이터를 가져오는 것 ▶ 따라서, 개발시 어느 정도 설계가 진행되면 데이터 베이스 관련 작업을 함 ◎ VO 클래스의 작성 ◎ tbl_board의 테이블 구성 ◎ src/main/java → org.codehows.domain → BoardVO 클래스 생성 package org.codehows.domain; import java.util.Date; import lombok.Da.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch07 스프링 MVC 프로젝트 기본 구성 1. MVC 프로젝트 기본 구성 및 초기 설정 ▷ 스프링 MVC를 이용하는 프로젝트의 구성을 이해하는 일은 전체 데이터 흐름을 보기 위해서임. ▷ 브라우저에서 전송한 데이터를 스프링 MVC의 어떤 단계를 거쳐서 실행되는지 알면 문제 발생시 빠른 대처, 대안을 찾을 수 있음 일반적인 웹 프로젝트 구성 3-tier(티어) 방식으로 구성 1. Presentation Tier(화면 계층)는 화면에 보여주는 기술을 사용하는 영역 ▷ 프로젝트의 성격에 맞춰 앱으로 제작하거나 CS(Client-Server)로 구성되는 경우도 있음 ▷ 스프링 MVC와 JSP를 이용한 화면 구성이 이에 속함 2. Business Tier(비즈니스 계층)는 순수한 비즈니스 로직을 담고 있는 영역 ▷ 고객이 원하는 요구 사항을 반영하는 계.. 더보기
[코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 3(Controller Exception) https://bobo12.tistory.com/290 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 1 1. 스프링 MVC 이용시 Controller의 특징 ▷ HttpServletRequest, HttpServletResponse를 거의 사용할 필요 없이 필요한 기능 구현 ▷ 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능 ▷ GET, POST bobo12.tistory.com https://bobo12.tistory.com/291 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller 2 https://bobo12.tistory.com/290 [코드로 배우는 스프링 웹 프로젝트] ch06 스프링 MVC Controller .. 더보기

728x90
반응형