@Services
@Repository(기존 Dao)
Dao이름을 다르게 줌으로써 가독성, 어노테이션 구분해서 업데이트 가능, 업데이트 대비
예외처리에 구분
페이징 기능, 파일업로드 기능,
DB관련 된건 root-context 가 맞지만 @Transactional 활성화 로직은 은 servlet-context
서블릿 필터는 스프링의 기능이 아님, 디스
인터페이스의 디폴트 메서드이기 때문에 하나만 골라서 구현
prehandler //필터로 들어가기전
posthandler 디스패쳐로 다시 돌아오기전
afterCompletion //리졸버까지 진행된후
<interceptors>
<interceptor>
<mapping path="/**"></mapping>
<exclude-mapping path="/"/>
<exclude-mapping path="/everyone"/>
<exclude-mapping path="/member/login"/>
<exclude-mapping path="/error"/>
<exclude-mapping path="/resources/**"/>
<beans:bean class="kh.spring.interceptors.LoginValidator"></beans:bean>
</interceptor>
</interceptors>
<!-- 모든요청을 다 검열하는 인터셉터 생성 ,, / , everyone, login, error , resourcesmapping은 검열 제외-->
public class LoginValidator implements HandlerInterceptor {
//로그인 했는지 안했는지 검사
@Autowired
private HttpSession session;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
System.out.println("인터셉터 동작확인");
return true;
// String loginID= (String)session.getAttribute("loginID");
//
// if(loginID!=null) return true; //로그인 한상탬
//
// response.sendRedirect("error");
// return false;
}