Chatper07. 스프링 폼 태그 : 도서 등록 페이지 만들기 7.1 스프링 폼 태그 개요 동적 웹 애플리케이션에서 가장 중요한 기능은 사용자에게 정보를 입력받아 처리하는 것이다. 이것은 폼이다. 사용자가 입력하거나 선택한 정보를 웹 서버로 전달하는 것은 스프링 폼 태그이다. 7.1.1 스프링 폼 태그 스프링 폼 태그는 스프링 MV와 연동되는 태그 라이브러리이다. 스프링 폼 태그는 폼에서 전달되는 파라미터 이름으로 Setter() 메서드를 작성한 클래스의 프로퍼티(필드 이름)에 접근할 수 있고 컨트롤러가 다루는 데이터를 참조할 수 있어 동작을 더 쉽고 편하게할 수 있다. 스프링 폼 태그를 사용할 경우 뷰 페이지 위쪽에 아래와 같은 스프링 폼 태그 라이브러리를 선언해야 한다. prefix="form"은 ..
7.1.3 스프링 폼 태그로 도서 등록 페이지 만들기 BookController.java package com.springmvc.controller; import java.util.List; import java.util.Map; import java.util.Set; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.an..
Chpater06. 요청 처리 메서드의 파라미터 유형 : 다양한 조건으로 검색한 도서 목록 출력하기 6.1 경로 변수와 @PathVariable 웹 요청 URL에 포함된 파라미터 값을 전달받는(=컨트롤러(전처리)) 경로 변수와 이를 처리하는 요청 처리 메서드와 매개변수에 선언하는 방식은 @PathVariable 애너테이션이 있다. 6.1.1 경로 변수의 개요 경로 변수( @PathVariable)는 웹 요청 URL에 포함된 파라미터 값을 전달받는데 사용하는 변수이다. 매핑 경로를 설정하는 @RequestMapping(단순화한 것들도 포함)에 중괄호를 사용하여 웹 요청 URL에 포함된 요청 조건 값을 전달받는다. 중괄호 안에 명시된 것이 경로 변수이며, 하나뿐만 아니라 여러개의 경로 변수를 포함할 수 있다..
6.1.3 @PathVariable을 이용하여 도서 분야와 일치하는 도서 목록 출력하기 BookRepository.java getBookListByCategory()메서드를 선언한다. package com.springmvc.repository; import java.util.List; import com.springmvc.domain.Book; //만들어질 함수를 미리 정의하는 것 public interface BookRepository { List getAllBookList(); List getBookListByCategory(String category); } BookRepositoryImpl.java 인터페이스에서 getBookListByCategory()메서드를 선언했으므로 구현을 해야한다. Ar..
spring 한글 깨짐 chap06의 Example02Controller.java를 실행하면 다음과 같이 한글 깨짐 현상이 발생한다. jsp를 사용할때는 request로 값을 주고 받을때는 setCharacterEncoding("UTF-8")로 한글깨짐 현상을 방지하는 전처리가 가능했지만 spring에서는 불가능 하므로 web.xml에서 추가 작성이 필요하다. web.xml에 아래와 같은 코드를 추가 작성해주면 한글 깨짐 오류를 고칠 수 있다. web.xml encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter /* web.xml 변경 후
Chapter05. 컨트롤러 구현 : '도서 쇼핑몰'에서 도서 목록 출력 (2) 5.4 요청 처리 메서드와 모델 유형 요청 처리 메서드는 스프링 MVC에서 사용자 요청을 처리하는 메서드를 의미한다. @RequestMapping에 설정된 요청 매핑 경로에 따라 호출된다. @RequestMapping(..) public String 메서드 이름(){ //모델(객체)에 응답 데이터 저장 return "뷰 이름"; } 요청 처리 메서드에는 사용자 요청을 처리한 결과를 웹 브라우저 화면에 보여주는 모델과 뷰가 있다. 모델은 사용자의 웹 요청을 처리한 결과 데이터를 관리하고 전달한다. 뷰는 처리된 결과 데이터를 웹 브라우저에 출력하는 웹 페이지 역할을 한다. ✔ 응답 데이터를 저장하는 모델 유형 (중요!!!) 모델..
Chapter05. 컨트롤러 구현 : '도서 쇼핑몰'에서 도서 목록 출력 5.1 컨트롤러 개요 5.1.1 컨트롤러 스프링 MVC는 웹에서 사용자 요청을 받으면 가장 먼저 디스패처 서블릿에 전달한다. 디스패처 서블릿은 요청을 전달받는 창구 역할만 할 뿐 실제로는 컨트롤러가 요청을 처리한다. 5.1.2 컨트롤러 구현 과정 이전 도서 쇼핑몰 애플리케이션에서는 WelcomeController 와 BookController 두 가지 클래스를 컨트롤러로 사용한다. WelcomeController 클래스는 사용자의 웹 요청 url http://localhost:8080/bookmarket/home 을 받아 웹 브라우저 화면에 도서 쇼핑몰의 인사말을 출력한다. BookController 클래스는 웹 요청 url htt..
Chapter4. 스프링 MVC 애플리케이션의 계층적 구조 : '도서 쇼핑몰' 계층적 공통 모듈 만들기 4.1 웹 애플리케이션의 계층적 구조 4.1.1 계층적 구조 계층 구조는 관심사를 분리해서 각 계층을 느슨하게 결합하고 계층 간에 유연하게 동작시킬 수 있다. 계층적 구조 없이 한곳에서 모든 작업을 한꺼번에 한다면 코드의 복잡성이 증가하고 유지보수의 어려움과 유연성 부족 등의 문제가 발생할 수 있다. 계층적 구조는 퍼시스턴스 계층, 서비스 계층, 프레젠테이션 계층으로 분리한다. 스프링 MVC에서 MVC패턴은 프레젠테이션 게층의 일부이다. 도메인 객체 : 데이터 모델로(DO), 객체 정보를 저장(DTO)하는 곳이다. 퍼시스턴스 계층 : 데이터 액세스 계층(DAO)이라고도 한다. 데이터베이스나 파일에 접근..
- Total
- Today
- Yesterday