폼 커스텀 태그 사용하기

UserDataBean.java


index.jap

TestController.java

test1.jsp

test2.jsp

결과



RequestScope


index.jap

TestController.java

result1.jsp

result2.jsp

결과

redirect는 새로운 요청이 발생됨


DataBean1.java

DataBean2.java

TestController.java



RootAppContext

result1.jsp

result2.jsp

index.jsp

결과


Properties


index.jsp

test1.jsp

data1.properties

TestController.java

결과

메세지



스프링 유효성 검사

pom.xml에 Bean Validation API 라이브러리 추가


index.jsp

input_data.jsp

TestController.java

결과

User.java

TestController.java

input_success.jsp

결과



User.java에 검사할 항목을 추가함

TestController.java
1. 검사 후 에러 발생 시 BindingResult result 객체가 에러를 넘겨 받음
2. 에러가 있을 시 input_data로 다시 돌아감

input_data.jsp에 라이브러리 추가


input_success.jsp

결과


스프링 유효성 검사 2
beans에 상품 product 클래스 추가

TestController.java

index.jsp

input_product.jsp

결과



인터셉터
요청이 들어갈 때 중간에 가로채기


index.jsp

test1.jsp

test2.jsp

TestInterceptor1.java

ServletAppContext.java에 추가

TestController.java

결과
1. test1은 화면이 보여진 후 3가지 콘솔 출력 실행
TestInterceptor1 - preHandle
TestInterceptor1 - postHandle
TestInterceptor1 - afterCompletion
2. test2는 화면에만 출력


패턴 등록

test3.jsp (test4.jsp 동일)

index.jsp

TestController.java

HomeController.java
home 출력되도록 주석 풀기

ServletAppContext.java

결과

예외 처리
예외 발생 시 어떻게 처리할 것인지 Controller에 적어주는 것


index.jsp

TestController.java

Exception => 예외 종류와 상관 없이 동일한 에러 메세지 페이지를 보여줌

error.jsp

결과

SecondController.java
다른 컨트롤러에서 예외 발생 시키기 => 다른 컨트롤러에서는 에러 적용 안됨

모든 예외를 처리할 수 있는 클래스

ServletAppContext.java에 스캔 추가

GlobalExceptionHandler.java

결과
모든 예외에 대해 에러메세지 반환
