12/06 Service Layer, Transactional, Interceptor

yookyungmin·2022년 12월 6일
0
post-thumbnail

@Services

@Repository(기존 Dao)
Dao이름을 다르게 줌으로써 가독성, 어노테이션 구분해서 업데이트 가능, 업데이트 대비
예외처리에 구분

페이징 기능, 파일업로드 기능,



DB관련 된건 root-context 가 맞지만 @Transactional 활성화 로직은 은 servlet-context


INTERCEPTOR <-> FILTER


서블릿 필터는 스프링의 기능이 아님, 디스


인터페이스의 디폴트 메서드이기 때문에 하나만 골라서 구현
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;
	}

0개의 댓글