import org.springframework.stereotype.Service;
<mybatis-spring:scan base-package="com.spring_mvc.mybatis.dao"/>
ProductController에서 요청 받아서
ProductService 클래스의 listAllProduct() 메소드 호출
IProductDAO의 listAllProduct() 메소드 호출
ProductService에서 받아서 ProductController에게 반환
ProductController에서 View 페이지로 전달
화면에 결과 출력
요청 -> 컨 -> 서비스 -> DAO -> Mapper -> 서비스 -> 컨 -> 뷰
(1) ProductController
(2) ProductService -> dao
(3) ProductMapper : <select>
(4) views 폴더에 product 폴더 만들고 productAllListView.jsp 생성
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:forEach>
사용해서 테이블 형태로 출력(1) 상품 등록 폼 생성 : productNewForm.jsp
컨트롤러
상품 등록 폼 열기 요청 처리
입력된 내용 insert 처리
<a href="<c:url value='/product/productDetailView/${prd.prdNo}'/>"> ${prd.prdNo }</a>
@PathVariable
로 전달 받음detailViewProduct()
상품 상세 정보 조회에서 상품 정보 수정 요청
상품 정보 수정 폼에 데이터 출력 / 수정
productUpdateForm.jsp
컨트롤러에서 detailViewProduct() 결과를 폼에 출력
수정
컨트롤러에게 저장 요청
컨트롤러 수정 요청 처리
-> 서비스 -> DAO -> Mapper
전체 상품 조회 화면으로 포워딩
location.href="/mybatis/product/deleteProduct/${prd.prdNo}";
redirect 주의!
return "redirect:./productAllList";
했을 경우 redirect 횟수가 많다는 오류 발생 시return "redirect:/product/productAllList";
로 사용이미지 저장
프로젝트 내부에 저장하는 경우
<resources>
에서 mapping 이름 변경 가능<resources mapping="/img/**" location="/resources/image/" />
프로젝트 외부에 저장하는 경우
<resources>
에 location 지정프로젝트 외부에 저장 예제
<resources>
에 location 지정<resources mapping="/images/**" location="file:///Library:/springWorkspace/product_images/" />
<img src="<c:url value='/images/${prd.prdNo}.png' />" width="30" height="20">