본문 바로가기

전체 글12

interceptor(인터셉터) 나 void타입인 method에서 redirect, forward 하는 방법 1. RequestDispatcher 객채를 이용한 forward 방법. request.setAttribute(String, Object); request.getRequestDispatcher("/WEB-INF/***.jsp").forward(request, response); getRequestDispatcher() 파라메터 값으로 포워드 할 주소를 적어준다. webapp 이후 경로 부터 적어준다. 2. ModelAndView 객체를 이용한 방법. ModelAndView mv = new ModelAndView("뷰페이지"); mv.addObject(attributeName, attributeValue) throw new ModelAndViewDefiningException(mv); 3. HttpServ.. 2021. 10. 13.
클래스나 메소드에서 직접 HttpServletRequest객체 생성 방법 HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest(); 2020. 6. 29.
Validator 클래스에서 Service객체 의존성 주입 방법 Validator클래스를 통해 유효성 검사를 할 경우 데이터베이스(디비) 접근을 통해 값을 비교해야 되는 경우가 있다. 이런 경우 커스텀 어노테이션을 통해 ConstraintValidator인터페이스를 구현하여 VO객체에 특정 변수 또는 클래스에 직접 선언하여 유효성 검사하는 방법도 있지만 Validator에서 직접 Service클래스를 의존성 주입을 하여 디비에 접근 후 유효성 검사를 하는 방법도 있다. 하지만 필드 주입으로 의존성 주입을 하면 Service클래스에서 java.lang.NullPointerException 에러를 반환하면서 동작이 제대로 되지 않는다. 그래서 생성자 주입을 이용하면 정상적으로 동작하는 것을 볼 수 있다. controller클래스 @Resource(name = "homeS.. 2020. 6. 29.
lombok 사용 시 두번째 단어 대문자 일 경우 EL 표현식에서 객체 접근 시 javax.el.PropertyNotFoundException일 경우 디비 필드명(스네이크 케이스 : 단어 사이를 _ 로 나누는 방식) VO 객체 클래스(카멜 케이스 : 첫 단어의 첫 글자는 소문자, 두 번째 글자부터는 첫 글자를 대문자로 쓰는 방식) EL 표현식 ${VO.uId} 이러한 상황일 경우 ${VO.uId}로 접근 시 javax.el.PropertyNotFoundException Property [uId] not found on type에러가 난다. 몇 까지 테스트 결과 lombok라이브러리를 이용한 getter, setter접근 일 경우 ${VO.UId}로 접근해야 사용이 가능했다. lombok이 자동으로 카멜 케이스를 이용한 getter, setter메서드를 자동으로 만들 때 getUId(), getUKey()로 생성하기 때문에 이러한 문제가 발생한 것이다... 2020. 5. 17.