본문 바로가기

Spring12

[Spring] 요청 URL 경로 출력하기(feat. Filter) 어디서 어디로 요청 했는지, 몇 초 걸렸는지 Filter를 이용해 출력하기 package com.hyocoding.ch1; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; import javax.servlet.http.HttpServletRequest; .. 2022. 7. 14.
[Spring] DispatcherServlet 구현하기 스프링에서는 클라이언트로부터 요청이 들어오면 DispatcherServlet이 요청을 처리하고, 모델을 생성하여 Controller에게 전달한다. DispatcherServlet이 하는 일 1. 요청 처리 예를 들어 GET으로 요청한 데이터 타입은 String인데 메서드에선 int 로 받을 수 있다. 이건 중간에 DispatcherServlet이 String을 int로 변환해주는 작업을 하기 때문이다. 2. Model 생성 메서드의 매개변수에서 (Model model) 을 쓸 수 있는 이유는 DispatcherServlet이 Model을 생성하고 넘겨주기 때문이다. 다음 코드를 통해 DispatcherServlet이 어떻게 동작하는지 알아볼 수 있었다. package com.hyocoding.ch1; i.. 2022. 7. 5.
[Spring] HttpServletResquest, HttpServletResponse 1. HttpServletRequest 브라우저에서 요청을 보내면 서버에선 HttpServletRequest 객체를 생성하고 이를 통해 요청 정보를 얻을 수 있다. - HttpServeltRequest의 메서드 - @Controller Class RequestInfo{ @RequestMapping("/requestInfo") public void main(HttpServletRequest request){ //요청 내용의 인코딩 System.out.println("request.getCharacterEncoding()="+request.getCharacterEncoding());//UTF-8 // 요청 내용의 길이. 알수 없을 때는 -1 System.out.println("request.getConten.. 2022. 7. 3.
[Spring] WebDataBinder로 데이터 타입 변환, 검증하기 회원가입 페이지에서 User의 정보를 POST로 요청했다. 데이터는 WebDataBinder로 타입변환과 검증을 거쳐 그 결과는 BindingResult에 저장이 되고, 타입변환과 검증을 거친 데이터는 User에 저장된다. 타입 변환과 검증을 어떻게 하는지 알아보자. 1. 타입 변환 User클래스의 필드인 birth의 타입은 Date이다. 스프링에선 2022/01/01 형식으로 데이터를 입력했을 때 Date타입으로 자동 변환이 된다. 2022-01-01 형식으로 데이터를 입력해도 Date타입으로 들어올 수 있게 변환해보자. @Controller @RequestMapping("/register") public class RegisterController { @InitBinder public void toD.. 2022. 6. 22.
[Spring] 예외 처리( @ExceptionHander, @ResponseStatus) 스프링에서 예외 처리하는 법을 알아보겠다. [과정] 클라이언트 요청 -> DispatcherServlet -> Controller (! 예외발생 !) -> DispatcherServlet -> handlerExceptionResolvers handlerExceptionResolver 에선 다음의 우선순위로 예외를 처리한다. ① ExceptionHandlerExceptionResolver ② ResponseStatusExceptionResolver ③ DefaultHandlerExceptionResolver 1. @ExceptionHandler package com.hyoding.ch1 @Controller public class ExceptionController { //@ExceptionHandler(.. 2022. 6. 20.
[Spring]spring 개발환경 설정하기(windows) Spring 개발 환경 세팅하기 1. JDK(자바 개발도구) - java11 1-1 openjdk 11 다운로드하기 https://jdk.java.net/archive/ Archived OpenJDK GA Releases Archived OpenJDK General-Availability Releases This page is an archive of previously released builds of the JDK licensed under the GNU General Public License, version 2, with Classpath Exception. WARNING: These older versions of the JDK are provided to he jdk.java.net 1-2 환.. 2022. 6. 7.