본문 바로가기

dev151

[Spring] 데이터 변환 데이터 변환 >> Web 상에서 GET/POST 방식으로 Server 쪽으로 값을 보내게 되면 ①데이터 변환 ②데이터 검증 단계를 거치게 된다. >> 아래의 요청이 들어가면 URL?year=2022&month=6&day=18 >> ParameterMap 에 의해서 값들이 String으로 변환되고 >> WebDataBinder에 의하여 ①데이터 변환 ②데이터 검증 단계를 거쳐서 >> 변환하고자 하는 데이터 타입으로 변환되게 된다. >> 타입변환에 대해서 알아보자 ParameterMap 에서 타입변환될때 보통 String 타입과, Integer 타입으로의 변환은 Spring에서 자동으로 변환해주지만 >> Date 타입의 변환이라던지, 내가 원하는 형식으로 변환할 경우는 직접 타입을 변환해주어야 한다. 그렇지.. 2022. 6. 18.
[Spring] Spring MVC vs RESTful 1. Spring MVC >> Client에게 요청이 들어오면 Dispatcher Servlet에 의해 해당 Controller에게 요청을 넘기고 Controller는 데이터를 가공하여 View를 Dispatcher Servlet에게 전달하면 이를 Client에게 전달하는 방식이다. 2. Restful >> Client 에게 요청이 들어오면 Dispatcher Servlet이 해당 컨트롤러 또는 RestController에게 전달하고 해당 컨트롤러에서 View를 리턴하는것이 아닌 데이터를 리턴한다. (JSON or XMl 형식) >> Controller를 사용할경우에는 해당 요청메서드에 @ResponseBody 어노테이션을 붙여야 한다. >> RestController는 Spring 4.x 버전부터 사용.. 2022. 6. 16.
[Spring] 예외처리2 >> @ControllerAdvice 모든 컨트롤러에서 발생하는 에러처리를 하며, 만약 컨트롤러내 에러 처리하는 @ExceptionHandler이 있다면 가까운 @ExceptionHandler에서 처리가 된다. @ControllerAdvice("패키지 지정/ Default 전체") @ExceptionHandler("처리할 예외클래스 지정") @ResponseStatus(HttpStatus.~) >> 예외처리 매서드 앞에붙인다. >> 예외처리 코드를 바꿀때 사용한다. 200번 --> 400번대 혹은 500번대로 변경해주는것 >> 사용자 정의 예외클래스 만들때 앞에 붙일수 있다. 디폴트인 500번대를 -> 원하는 에러코드로 변경가능 >> web.xml 을 통해서 error 페이지 추가해주는 방법으로 Tomc.. 2022. 6. 14.
[Spring] 예외처리 페이지 예외처리방법 1. 일단 예외를 throw new Exception() 을통해서 예외를 발생시켜 보자. >> 해당 예외처리에 대한 조치가 없으므로, 이것은 서버에 대한 문제기 때문에 500대 에러가 발생했다. 2. 1번의 문제를 해결하기 위해 try-catch 문을 통해서 예외처리해보자 try-catch 문을 쉽게하기 위해서는 >> 블록지정 후 > 우클릭 > Surround With > try-catch를 통해서 쉽게 처리할 수 있따. >> 예외 처리후에는 404 에러가 발생한 것을 확인할 수 있는데 이는 리턴 타입이 void이기 때문에 해당 요청에 쓰인 페이지를 찾을수 없기 떄문에 404가 발생했다 즉 ex.jsp를 못찾았다는 의미 그렇다면 에러 처리를 하기 위해서 메서드마다 Try-Catch문을.. 2022. 6. 13.
[Spring] Session session이란? >> 서로 관련된 요청-응답들을 하나로 묶은것 - 쿠키를 이용 >> Browser마다 개별 저장소(Session객체)를 서버에 제공 (1 : 1) >> Session은 서버에 저장된다. Browser에서 서버 요청을 하면 ------------------------------> 세션을 끝내는 방법 >> 자동종료 : Time Out >> 수동종료 : inValidate() 세션이 끝난 후 새로운 세션 ID 가 응답으로 보내짐. 그 후 에는 반복된다. 위의 과정이 =========================================================================================== 생성과정을 말하면 1. Browser에서 Server로 요청을 .. 2022. 6. 13.
[Spring] Cookie 쿠키(Cookie)란? >> 클라이언트 식별 기술이다. >> 이름과 값의 쌍으로 구성된 작은 정보, 아스키 문자만 가능하다. >> 서버에서 생성 후 전송, 브라우저에 저장, 유효기간 이후 자동 삭제 >> 서버에 요청시 domain, path 가 일치하는 경우에만 자동전송 (하위경로 포함) name = value 생성 방법 Cookie cookie = new Cookie("id", "GoodBoy"); 2022. 6. 9.
[Spring] redirect, forward 1. redirect 1) 요청 : /ch2/write.jsp -----> write.jsp // 브라우저가 자동으로 2) 으로 재요청을 실시한다 GET방식으로 (redirect는 GET방식임.) 2) 응답 : write.jsp 3) 요청 : /ch2/login.jsp 3) 응답 : login.jsp HTTP/1.1 302 //redirect 300번대의 요청 // 다른 URL로 재요청 Location : /ch2/login.jsp --- header O // body X content-Language : ~ Content-Length : ~ // redirect시에 2번의 요청이 들어 간것을 확인할 수 있다. 요청 주소창의 URL이 변경된다 재용청하는 것으로. 2. forward = 요청을 받아서 요청.. 2022. 6. 9.
[Spring] GetMapping, PostMapping Controller로 데이터를 넘겨줄때 방식이 크게 2가지 방식이있는데 GET / POST 방식이다. GET방식의 경우는 데이터가 URL에 노출되므로 회원가입이나, 데이터보안이 필요할 경우 사용하지 않는다. Controller에서 GET방식으로 데이터를 받는 방법은 2가지가 있다. @RequestMapping 같은경우 default 값이 GET방식이고, method를 통해서 형식을 설정할수 있다. > * URL 맵핑시 주소가 같으면 안되며, method가 다르면 가능 * GetMapping/PostMapping 시에는 Class에 Mapping되어있는 주소 이후의 주소만 적어도된다 즉. ex) Class에 RequestMapping("register") 가 붙어있다면 ex) GetMapping("add".. 2022. 6. 9.
[Spring] EL, JSTL EL 이란 ? >> Expression Language 의 약자로 JSP에서 EL을 통해 Attribute, Parameter를 통해 넘어오는 값을 편리하게 접근하여 사용할 수 있습니다. >> ${} 형식으로 나타내며 >> EL 을 사용하기 전에는 의 JSP 문법으로 으로 나타내던것을 간단하게 ${}으로 표현하고 있다. @ Attribute EL .java 에서 setAttribute("key", "value"); 를 통해서 값을 저장하면 JSP페이지 에서 ${key} 를 통해서 value 값을 출력할 수 있습니다. Attribute EL은 총 4구역으로 나뉘는데 1. pageContext 2. requset 3. Session 4. application 으로 나뉘어 집니다. 1. pageContext .. 2022. 6. 4.
[Spring] 회원가입 페이지 >> 회원가입 페이지는 정적 리소스 이므로 webapp > resources 하단에 파일을 생성해준다. 해당 페이지를 호출 하려면 >> 하단의 경로로 호출 한다. >> 이때 resources 경로를 없앨수 있는데 이는 spring > servlet-context.xml 을 통해서 변경할 수 있다. >> root-context.xml은 Web과 관련없는 Spring 설정을 다룰때 사용한다. >> mapping 을 resources를 지워주고 /**로 설정한다 >> 그러면 다음부터 정적 리소스를 호출할때 resource를 넣어주지 않아도 된다. >> Form 태그 안에서 - 등 다양하게 있는데 Form 태그란 ? >> 문서 양식으로 데이터를 입력하여 controller로 전송할때 사용한다, >> - acti.. 2022. 6. 4.