목록Spring (42)
코딩 노트
springhome/src/main/java/com/kh/springhome/error/ExceptionControllerAdvice.java /* 컨트롤러를 간섭하여 예외 상황을 다르게 처리하도록 하는 객체 - 등록 시 @ControllerAdvice 라고 등록 만약 @RestController 를 간섭할 경우는 @RestControllerAdvice 를 사용 - 적용 대상을 옵션으로 지정 */ //컨트롤러를 간섭하는 객체 //@ControllerAdvice(basePackages = {"com.kh.springhome.controller"}) @ControllerAdvice(annotations = {Controller.class})//이 줄을 주석처리하면 예외발생이 해제된다. public class..
인터셉터(Interceptor) - 완성된 스프링 프로젝트의 구석구석을 간섭할 수 있도록 만들어진 도구 만드는 법 1. 상속을 받아서 자격을 획득 2. 등록 3. 메소드 재정의 4. 설정파일을 만들어서 어느 주소를 간섭할 것인지 설정 1. preHandle 컨트롤러가 실행되기 직전 시점을 간섭하는 메소드이다. - true를 반환하면 요청에 대한 작업을 진행하겠다는 의미이다. - false를 반환하면 요청에 대한 작업을 차단하겠다는 의미이다. - request에는 사용자의 요청정보가 들어있다. (ex: 파라미터, 세션 정보, ..) - response에는 사용자에게 나갈 정보가 들어있다. (ex: 화면 정보, ..) - handler에는 이 요청을 처리할 대상 컨트롤러/메소드의 정보가 들어있다. - 자격 ..
마지막 로그인 시각을 현재시각으로 바꾸기 위한 DB 구문 -- testuse1의 마지막 로그인 시각을 현재시각으로 변경 UPDATE MEMBER SET member_login=sysdate WHERE member_id='testuser1' MemberDao에 추상메소드로 updateMemberLogin 구현 //메소드 명세만 작성(책으로 치면 목차) //인터페이스는 등록x , @Repository를 쓰면 오류가 난다. 인터페이스는 객체 생성이 안 되기 때문에 public interface MemberDao { void insert(MemberDto memberDto); MemberDto selectOne(String memberId); boolean updateMemberLogin(String membe..
회원 시스템 - table member - 시퀀스 사용x Spring 프로젝트를 만들었을 때 처음 해야할 것 1. pom.xml 수정 javax.servlet jstl org.apache.tomcat.embed tomcat-embed-jasper org.projectlombok lombok provided 2. 데이터베이스 계정 연결 (src/main/resources/application.properties) 3. alt + f4 로 메이븐 업데이트 # project setting file # key=value # database setting #sever setting #server.port=9999 spring.datasource.driver-class-name=oracle.jdbc.OracleDr..
shirt_size 테이블 생성 -- 옷 사이즈 테이블 CREATE TABLE shirt_size ( shirt_no REFERENCES shirt(shirt_no) ON DELETE cascade, shirt_size_name varchar2(10) NOT NULL, --복합키 PRIMARY key(shirt_no, shirt_size_name) -- 학년이 같을 수 있고, 반 번호가 같을 수 있지만 학년과 반과 번호가 모두 동일할 수는 없다. ); (심화) 사이즈를 추가한 등록 package com.kh.spring10.dto; import lombok.Data; @Data public class ShirtSizeDto { private int shirtNo; private String shirtSi..
총 정리 실습 - 의류 관리 시스템 1. 의류 관리 시스템 데이터베이스 테이블 생성 CREATE TABLE shirt( -- shirt 테이블 생성 shirt_no NUMBER PRIMARY KEY, shirt_name varchar2(300) NOT NULL, shirt_color varchar2(9) NOT NULL check(shirt_color IN ('블랙','화이트','그레이','레드','블루')), shirt_price NUMBER NOT NULL check(shirt_price >= 0), shirt_kind varchar2(9) NOT NULL check(shirt_kind IN ('라운드','브이넥','정장')), shirt_type varchar2(9) NOT NULL check(sh..
전 시간 리뷰 JSP - 서버에서 실행되는 코드 - 디렉티브 : - EL : ${이름} - JSTL : , , jstl은 안 섞을 수 있으면 안 섞는 게 베스트이다. - 클라이언트에게 전달되는 코드 - HTML : , , 등록 - 등록은 주소를 둘로 나눠서 쓴다. - GET(입력), POST(처리) PostMapping은 처리 후 제 3의 페이지로 넘기는 게 목적이다. 포켓몬스터(pocketmon) 등록(insert) controller 강제이동 redirect // @RequestMapping("/insert") // @RequestMapping(value ="/insert", method = RequestMethod.GET)//클래식한 방법 @GetMapping("/insert") public Str..
상세조회와 목록조회는 dto, dao, maper (+controller와 jsp는 필수)가 필요하다. 세터, 게터 메소드를 만들고 싶다면 필드 위에 쓰면 된다. 생성자는 NoArgsConstructor, AllArgsConstructor 두 종류가 있다. No가 기본 생성자이다. 이렇게 쓰기 위해서는 라이브러리 추가가 필요하다. @Data //@Setter + @Getter + @ToString + @EqualsAndHashCode / 밑 코드를 줄인 것, 생성자는 불포함 //@Setter @Getter @NoArgsConstructor @ToString public class PocketmonDto { private int no; private String name; private String typ..