
로그인하지 않은 상태에서 "http://localhost:8080/sp5-chap13/edit/changePassword" 로 접근하면 다음과 같이 비밀번호 변경 창이 뜬다. 그런데 로그인 하지 않은 상태에서 비밀 번호 변경 페이지에 접근할수 있다는것은 말이 안된다. 이럴 경우 해당 주소를 처리하는 컨트롤러에서 HttpSession에 로그인 인증 객체인 authInfo가 있는지 확인하고 없다면 로그인 창으로 리다이렉트 되도록 하면 된다. 하지만 실제 프로그램에서는 비밀번호 변경 페이지 이외에도 많은 페이지들이 로그인 이전에는 접근할수 없어야 한다. 이럴때 HandlerInterceptor 를 사용한다. HandlerInterceptor 인터페이스 org.springframework.web.HandlerI..

비밀번호 변경 기능을 위한 클래스들 ChangePwdCommand ChangePwdCommandValiator ChangePwdController changePwdForm.jsp changedPwd.jsp label.properties 에 메시지 추가 ControllerConfig 설정 클래스에 빈 설정 추가 ChangePwdCommand.java 더보기 package controller; public class ChangePwdCommand { private String currentPassword; private String newPassword; public String getCurrentPassword() { return currentPassword; } public void setCurrentP..
spring/AuthInfo.java 더보기 package spring; // 로그인 성공 후 인증 상태 정보를 세션에 보관할때 사용 public class AuthInfo { private Long id; private String email; private String name; public AuthInfo(Long id, String email, String name) { this.id = id; this.email = email; this.name = name; } public Long getId() { return id; } public String getEmail() { return email; } public String getName() { return name; } } spring/Mem..

@Valid 애노테이션은 Bean Validation 스펙에 정의되어 있다. Bean Validation 스펙이란 특정한 구현체가 아닌 Bean Validation 2.0 이라는 기술 표준을 말한다. (애노테이션과 인터페이스의 모음) 해당 스펙에는 @NotNull, @NotEmpty, @Size 등 다양한 애노테이션이 정의되어 있는데 이런 애노테이션들을 이용하면 직접 Validator를 구현하지 않고 커맨드 객체의 검증이 가능하다. 우선 Bean Validation 관련 의존을 추가한다. 여기서는 프로바이더로는 Hibernate Validator를 사용한다. pom.xml javax.validation validation-api 1.1.0.Final org.hibernate hibernate-valida..
- Total
- Today
- Yesterday
- recursion
- priority queue
- permutation
- 조합
- graph
- greedy
- floyd warshall
- C
- binary search
- db
- 이분탐색
- Stack
- back tracking
- Dijkstra
- Kruskal
- dfs
- MVC
- 자료구조
- DP
- Unity
- Brute Force
- Tree
- 재귀
- two pointer
- Python
- Spring
- CSS
- C++
- BFS
- Implementation
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |