Spring(20)
-
[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 ..
-
[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..
-
[Spring] annotaion
spring에서 자주 사용되는 어노테이션들을 정리해보았다. 스프링 빈 등록 시 사용@Controller지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 컨트롤러 역할을 수행하도록 한다@Service지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 서비스 역할을 수행하도록 한다@Repository지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 DAO 역할을 수행하도록 한다해당 클래스에서 발생하는 예외는 SQLException 형식으로 변경하여 throws 한다@Component지정한 클래스를 스프링 빈으로 등록한다. 주로 특정 요소에 대한 작업을 전담하는 모듈로 구성한다.@ControllerAdvice지정한 클래스를 스프링 빈으로 등록하고, 컨트롤러에서 발생하는 예외를 모아서 처리하도록 한다..
-
[Spring] Interceptor
오늘은 Interceptor를 생성하여 일부 기능은 조건에 부합하는 사용자만이 이용할 수 있도록 제한을 걸어볼거다.인터셉터가 필요한 이유ex) 로그인 필요한 컨트롤러 함수에는 같은 코드를 일괄 적용 가능.if(session.getAttribute("login") == null) {return "redirect:/member/login";}그러나, 컨트롤러 함수마다 반환형이 서로 다르고 HttpSession 을 매개변수로 추가해줘야 하기 때문에 번거롭다.메뉴의 개수가 늘어날수록 작업은 점점 더 번거로워지기 때문에이 부분을 담당할 인터셉터가 필요하다. Handle컨트롤러의 실행함수PreHandle컨트롤러 실행하기 전에 작동하는 것PostHandle컨트롤러가 끝나고 jsp로 넘어가기 전에 실행Aftercomp..
-
[Spring] mybatis mapper
jsp로 구현해 보았던 게시판을 spring으로도 한 번 구현해 보자.BoardDTO IDXNOT NULLNUMBERTITLENOT NULLVARCHAR2(500)WRITER VARCHAR2(100)CONTENTNOT NULLVARCHAR2(4000)WRITEDATE DATEISNOTICE CHAR(1)BoardController유의할 점[ 게시글을 삭제할 수 있는 조건 ]1) 로그인이 되어있는 상태일 때 2) 내가 작성한 게시글일 때 [ 추가 코드 ]컨트롤러에 들어오는 요청을 가로채서 특정 작업(예를 들어 로그인 여부 파악)을 수행하고기존 경로로 계속 안내하거나, 처리를 중단하고 새로운 응답을 반환하는 스프링 빈이 필요하다. 로그인이 되어있지 않다면 -> if(session.getAttribu..
-
[Spring] HashComponent
웹사이트에서 회원들의 비밀번호를 안전하게 저장 및 관리하기 위해서 HashCompontent를 사용할 수 있다.HashComponent사용자의 password를 sha-512 해시 알고리즘이 적용된 상태로 바꿔주기 위한 컴포넌트@Component: Controller, Service, Repository 에 해당하지 않지만, 특정 내용에 대한 코드를 수행하기 위해 작동하는 스프링 빈package com.itbank.component;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import org.springframework.stereotype.Compone..