본문 바로가기
반응형

Spring/Spring MVC 524

Interceptor spring Framework의 AOP를 적용한 Spring MVC의 요소이다. Interceptor는 요청주소에 대해 관심을 가지고 있다. 요청주소를 확인하여 Controller의 메서드를 호출 하기 전이나 후에 다른 메서드를 호출 할 수 있도록 가로 채 간다. 메서드의 코드가 중복되는 부분이 있다면 Interceptor를 통해 처리할 수 있다. 로그인 여부 확인, 등급별 서비스 권한 확인 등.. implements HandlerInterceptor extends HandlerInterceptorAdaptor 2가지 모두 가능하다. Interceptor는 보통 3가지 메소드를 구현한다. preHandle() - 메서드 호출 전 (return false이면 이후는 실행하지 않고 종료된다.) postHan.. 2020. 5. 27.
Validator 커스터마이징 JS-303, JS-380 2가지의 경우에 유효성 검사하는 코드를 알아보았다. Validator를 본인이 직접 만들어 사용 할 수 있다. JS 사용 대신 추가해 주어야 할 부분은 다음과 같다. 1. Validator를 implements한 클래스 구현하기 2. 1번의 객체를 TestController.java에 @initBinder 구현한 함수에 바인딩하기 1. TestController에 initBinder 함수 추가하기 @InitBinder public void initBinder(WebDataBinder binder) { DataBean1Validator validator1 = new DataBean1Validator(); //binder.setValidator(validator1); binder... 2020. 5. 27.
JSR-303 / JSR-383 JSR-303 어노테이션은 빈 객체에 주입되는 값의 유효성을 검사한다. properties에 [annotation이름.bean객체이름.변수명] 을 써서 등록한다. properties를 사용하기 위해서 ServletAppContext.java에 등록한다. @Bean public ReloadableResourceBundleMessageSource messageSource() { ReloadableResourceBundleMessageSource res = new ReloadableResourceBundleMessageSource(); res.setBasename("/WEB-INF/properties/error_message"); return res; } setBasename으로 등록했기 때문에, error_.. 2020. 5. 27.
에러 메시지 커스터마이징 유효성 검사를 통해 오류를 검출할 때 그대로 출력하면 JSR-303 에러이다.(우리가 이전 시간에 했던 것) 기본 메세지말고 우리가 만든 메세지를 출력할 수는 없을까? codes[0]을 통해 [에러종류.빈이름.프로퍼티이름]를 확인할 수 있었다. @Bean public ReloadableResourceBundleMessageSource messageSource() { ReloadableResourceBundleMessageSource res = new ReloadableResourceBundleMessageSource(); res.setBasename("/WEB-INF/properties/error_message"); return res; } 메세지를 나타내기 위해서는 당연하게도 properties 파일을.. 2020. 5. 27.
유효성 검사 client가 값을 입력할 때, 혹시 오류가 발생하는지 그 처리를 제대로 해 주었는지 확인하는 작업이다. @Valid를 사용한다. @GetMapping("/input_pro") public String input_pro(@Valid DataBean1 dataBean1, BindingResult result){ System.out.println(dataBean1.getData1()); System.out.println(dataBean1.getData2()); if(result.hasErrors()){ for(ObjectError obj : result.getAllErrors()) { System.out.println(obj.getDfaultMessage()); System.out.println(obj.ge.. 2020. 5. 27.
Properties / Message 변하지 않는 값을 설정할 때 Properties를 기억하라 Help - install New Software - Add에 들어가서 PropertyEditor를 설치한다. [WebContet] 하위폴더에 있는 [META-INF], [WEB-INF], [resources] 에 더해서 [properties]를 하나 생성한다. 그 안에 data1.properties, data2.properties를 생성한다. 1. Properties를 Controller에서 사용하기 aaa.a1 = 100 aaa.a2 = 문자열1 bbb.a2 = 200 bbb.c3 = 문자열2 @PropertySource("/WEB-INF/properties/data1.properties") @PropertySource("/WEB-INF/pr.. 2020. 5. 27.
반응형