목록분류 전체보기 (572)
오봉이와 함께하는 개발 블로그
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bORmgC/btrLhPL7US6/ABGskUMG72RgibyhUi1C70/img.png)
요구사항 분석 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 도메인 모델과 테이블 설계 회원, 주문, 상품의 관계 회원은 여러 상품을 주문할 수 있다. 그리고 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계다. 한 번 주문할 때 여러 상품을 담을 수 있고, 한 상품이 여러 주문에 담길 수 있기 때문. 하지만 이런 다대다 관계는 관계형 데이터베이스는 물론이고 엔티 티에서도 거의 사용하지 않는다. 따라서 그림처럼 주문상품이라는 엔티티를 추가..
예제로 구현하는 파일 업로드, 다운로드 실제 파일이나 이미지를 업로드, 다운로드 할 때는 몇가지 고려할 점이 있는데, 구체적인 예제로 알아보자. 요구사항 상품을 관리 상품 이름 첨부파일 하나 이미지 파일 여러개 첨부파일을 업로드 다운로드 핧 수 있다. 업로드한 이미지를 웹 브라우저에서 확인할 수 있다. Item - 상품 도메인 @Data public class Item { private Long id; private String itemName; private UploadFile attachFile; private List imageFiles; } ItemRepository - 상품 리포지토리 @Repository public class ItemRepository { private final Map st..
스프링과 파일 업로드 스프링은 MultipartFile이라는 인터페이스로 멀티파트 파일을 매우 편리하게 지원한다. SpringUploadController @Slf4j @Controller @RequestMapping("/spring") public class SpringUploadController { @Value("${file.dir}") private String fileDir; @GetMapping("/upload") public String newFile() { return "upload-form"; } @PostMapping("/upload") public String saveFile(@RequestParam String itemName, @RequestParam MultipartFile fi..
서블릿과 파일 업로드 2 서블릿이 제공하는 Part에 대해 알아보고 실제 파일도 서버에 업로드 해보자. 먼저 파일을 업로드를 하려면 실제 파일이 저장되는 경로가 필요하다. 해당 경로에 실제 폴더를 만들어두고, 만들어진 경로를 입력하자. application.properties file.dir=파일 업로드 경로 설정(예): /Users/gobyeongchae/Desktop/fileUploadV1/ 주의 사항 꼭 해당 경로에 실제 폴더를 미리 만들어두자. application.properties에서 설정할 때 마지막에 /(슬래시)가 포함된 것에 주의하자. ServletUploadControllerV2 @Slf4j @Controller @RequestMapping("/servlet/v2") public cla..
서블릿과 파일 업로드 1 먼저 서블릿을 통한 파일 업로드를 알아보자. ServletUploadControllerV1 @Controller @Slf4j @RequestMapping("/servlet/v1") public class ServletUploadControllerV1 { @GetMapping("/upload") public String newFile() { return "upload-form"; } @PostMapping("/upload") public String saveFileV1(HttpServletRequest request) throws ServletException, IOException { log.info("request = {}", request); String itemName = ..