Spring(22)
-
[Spring] 매장 포스기 시스템
매장 같은 곳에서 사용하는 포스기들의 시스템을 실제로 비슷하게 구현하여 보자.1. 테이블로 구성해야 하는 항목 = CRUD 작업 대상 1. 상품 테이블 (Product)2. 매출 테이블 (Sales) 2. 각 테이블에 대한 스키마 구성상품 테이블상품번호(primary key)상품명이미지단가수량NUMBERVARCHAR2VARCHAR2NUMBERNUMBER (default 0) 매출테이블매출번호(primary key)날짜상품번호(foreign key)판매수량NUMBERDATENUMBERNUMBER 3. 각 테이블에 대해서 구현할 CRUD 기능상품테이블기능설명insert상품 등록select상품 조회(전체 목록 / 단일 조회) -- 2가지update수량 변경delete상품 삭제 매출테이블기능설명insert매출..
2024.10.09 -
[Spring] RestController
json과 ajax가 무엇인지 알아보자. 또한, @RestController를 사용해 보자.JSON : JavaScript Object Notation 자바스크립트 토대로 개발되었으며, 여러 프로그래밍언어에도 사용할 수 있는 독립형 언어이다.데이터 객체의 형태는 속성 - 값 쌍 형태.주로, 웹 브라우저와 웹 서버간 비동기 통신, 데이터 교환 등에 사용된다. home.jspday10 ex01 - ajax(1) 정수반환 ex02 - ajax(2) 문자열 반환 ex03 - ajax(3) map 반환 ex04 - ajax(4) List< DTO 반환(DB 이용 O) Ex01Controllerimport org.springframework.stereotype.Controller;import org.sprin..
2024.10.09 -
[Spring] 설문 투표 및 결과 보기
이번에는 투표를 할 수 있는 설문지를 만들어 보자.SurveyDTOimport org.springframework.web.multipart.MultipartFile;// TABLE : SURVEY// IDX NOT NULL NUMBER // TITLE NOT NULL VARCHAR2(500) // WRITER VARCHAR2(500) // OPTION1 NOT NULL VARCHAR2(500) // OPTION2 NOT NULL VARCHAR2(500) // IMAGE1 NOT NULL VARCHAR2(500) // IMAGE2 NOT NULL VARCHAR2(500) public class SurveyDTO { private int idx; private ..
2024.10.09 -
[Spring] FileComponent
저번 HashComponent에 이어, FileComponent를 이용하여 다중 파일 업로드를 구현 해보자.FileComponent유의할 점@component 어노테이션 붙이고 나서 이 클래스에 s 가 붙는지 꼭 확인하자-> 스프링빈으로 등록되었는지 확인 saveDirectory 지정해두기import java.io.File;import java.io.IOException;import java.util.UUID;import org.springframework.stereotype.Component;import org.springframework.web.multipart.MultipartFile;@Componentpublic class FileComponent { private String saveDirec..
2024.10.09 -
[Spring] annotaion
spring에서 자주 사용되는 어노테이션들을 정리해보았다. 스프링 빈 등록 시 사용@Controller지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 컨트롤러 역할을 수행하도록 한다@Service지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 서비스 역할을 수행하도록 한다@Repository지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 DAO 역할을 수행하도록 한다해당 클래스에서 발생하는 예외는 SQLException 형식으로 변경하여 throws 한다@Component지정한 클래스를 스프링 빈으로 등록한다. 주로 특정 요소에 대한 작업을 전담하는 모듈로 구성한다.@ControllerAdvice지정한 클래스를 스프링 빈으로 등록하고, 컨트롤러에서 발생하는 예외를 모아서 처리하도록 한다..
2024.10.09 -
[Spring] Interceptor
오늘은 Interceptor를 생성하여 일부 기능은 조건에 부합하는 사용자만이 이용할 수 있도록 제한을 걸어볼거다.인터셉터가 필요한 이유ex) 로그인 필요한 컨트롤러 함수에는 같은 코드를 일괄 적용 가능.if(session.getAttribute("login") == null) {return "redirect:/member/login";}그러나, 컨트롤러 함수마다 반환형이 서로 다르고 HttpSession 을 매개변수로 추가해줘야 하기 때문에 번거롭다.메뉴의 개수가 늘어날수록 작업은 점점 더 번거로워지기 때문에이 부분을 담당할 인터셉터가 필요하다. Handle컨트롤러의 실행함수PreHandle컨트롤러 실행하기 전에 작동하는 것PostHandle컨트롤러가 끝나고 jsp로 넘어가기 전에 실행Aftercomp..
2024.10.09