반응형
썸네일 스프링 프레임워크 [Sprng Framework] Validator Interface를 이용한 폼 값 검증 validation - 유효성검사 즉 jsp에서 아이디 입력해주세요. 표시하는 trim - 앞뒤 공백제거 BindingResult - 유효성검사를 저장하는 객체. validation 안에선 errors를, controller 안에선 Binding Resolve사용한다 Code는 MemberInfo 타입의 객체를 검증하는 Validator의 구현 예를 보여주고 있다. supports() 메서드는 검증할 객체의 타입(Class) 정보를 파라미터로 전달받는데, 위의 Code는 검사 대상 객체의 MemberInfo Class 또는 그 하위 Class인지의 여부를 검사한다. validate() 메서드는 두 개의 파라미터를 전달받는데, 첫 번째는 검사할 객체이고, 두 번째는 에러 정보를 저장하기 위한 Errors ..
썸네일 스프링 프레임워크[Spring Framework] @PathVariable 어노텐션 @PathVariable Annotation을 이용한 URI 템플릿 RESTful 서비스가 유행하면서 URI를 다음과 같이 REST 방식으로 구성하는 경우가 늘어나고 있다. http://somehost/users/madvirus http://somehost/games http://somehost/forum/board1/10 기존에는 http://로컬호스트주소/users/userinfo?id=madvirus와 같이 파라미터를 이용해서 아이디나 이름을 전달받았다면, 이제는 URI에 아이디나 이름 등이 포함되도록 URL을 구성하고 있다. SPRING 3버전에 추가된 기능 중 필자가 가장 반기는 기능 중의 하나가 URI 템플릿이며, 이 URI 템플릿을 이용하면 REST 방식의 URL 매칭을 쉽게 처리할 수 있다..
썸네일 스프링 프레임워크 [Spring Fremawork] 요청 URI 매칭 클라이언트가 요청한 URL과 @RequestMapping Annotation의 값을 이용해서 클라이언트의 요청을 어떤 컨트롤러의 어떤 메서드가 처리할 지가 결정되고, 매칭이 어떻게 이루어지는 지 알지 못할 경우 클라이언트의 요청 URL 매칭되는 메서드를 설정할 수 없기 때문에, 어떻게 매칭이 이루어지는 지 아는 것은 작지만 매우 중요하다. @RequestMapping Annotation 간의 관계 그리고, @PathVariable을 이용한 URI 템플릿 전체 경로와 Servlet 기반 경로 매칭 설정… DispatcherServlet은 DefaultAnnotationHandlerMapping Class를 기본 HandlerMapping 구현체로 사용한다. 기본 설정은 컨텍스트 내에서의전체 경로가 아닌 S..
썸네일 스프링 프레임워크 [Spring Framework] Controller(컨트롤러) 메서드의 리턴 타입 컨트롤러 메서드는 ModelAndView를 비롯한 몇 가지 리턴 타입을 가질 수 있으며, 이들 리턴 타입은 다음과 같다. ModelAndView를 리턴할 경우 ModelAndView Class의 생성자나 setViewName() 메서드를 이용해서 뷰 이름을 지정할 수 있다. String 타입을 리턴할 경우, 문자열 값이 뷰 이름으로 사용된다. @RequestMapping 메서드가 ModelAndView, Model, Map을 리턴하는 경우 이들에 담긴 모델 데이터가 뷰에 전달된다. 또한, 추가로 다음의 항목도 뷰에 함께 모델로 전달된다. 커맨드 객체(JavaBean) @ModelAttribute Annotation이 적용된 메서드가 리턴한 객체 메서드의 Map, Model, ModelMap 타입의 파라미..
스프링 프레임워크 [Spring Framework] Servlet API 컨트롤러 Class의 @RequestMapping Annotation이 적용 메서드는 다음의 다섯 가지 타입의 파라미터를 전달받을 수 있다. javax.servlet.http.HttpServletRequest javax.servlet.ServletRequest javax.servlet.http.HttpServletResponse javax.servlet.ServletResponse javax.servlet.http.HttpSession Servlet API를 사용할 필요 없이 SPRING MVC가 제공하는 Annotation을 이용해서 요청 파라미터, 헤더, 쿠키, 세션 등의 정보에 접근할 수 있기때문에, 직접적으로 Servlet API를 사용해야 하는 경우는 매우 드물다. 하지만 다음의 경우에는 Ser..
썸네일 스프링 프레임워크 [Spring Framework] @RequestHeader 해더 어노텐션 @RequestHeader Annotation을 이용하면 HTTP 요청 헤더의 값을 메서드의 파라미터로 전달 받을 수 있다. @RequestHeader Annotation도 @RequestCookie Annotation과 마찬가지로 해당 해더가 존재하지 않으면 500 응답 에러 Code를 전송한다. 또한, required 속성과 defalutValue 속성을 이용해서 필수 여부와 기본 값을 설정할 수 있다. Accept-Language : 언어확인. 화면 출력시 : 출력된 화면은 사용자의 환경에 따라 다를수 있다.